Note: You are currently viewing documentation for Moodle 3.3. Up-to-date documentation for the latest stable version of Moodle is probably available here: Fair Allocation.

Fair Allocation

From MoodleDocs
Revision as of 09:10, 10 November 2017 by Jan Dageförde (talk | contribs) (Renamed plugin ratingallocate to Fair Allocation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


This plugin offers a possibility to distribute various resources among users, while aiming at maximizing the overall satisfaction with the distribution. For this purpose the plugin allows to create an activity with multiple choices, which can be rated by the users. In a next step an algorithm automatically calculates the best distribution based on the users preferences.

Possibilities for resources to be distributed with this plugin:

  • Tutoriumgroups
  • Thesis topics
  • Seminarslots

Steps to take

This chapter should give a guideline how the Fair Allocation plugin can be used and which steps have to be done in its lifecycle.

  1. Add a Fair Allocation instance to your course and configure it. (See the section "Settings")
  2. After the rating period started users will start edit their ratings.
  3. After the rating period has ended:
    1. Start distribution
    2. If any users have not been allocated use the manual allocation.
    3. If interesting you can create now moodle groups from the allocation. The users will be automatically be assigned to their respective group.
    4. Publish the allocation

In between the button show table shows the current ratings and allocations. It is also possible to download the results as a csv file.


In the settings there are various possibilities to adjust the activity to the own needs. In the following all plugin specific settings are described in the view of the effect they have on the activity.

Rating strategy

The rating strategy is one of the core settings of the Fair Allocation plugin. It specifies the way the users can rate upon the available choices. There are six different strategies available:

  • Yes-No The user can rate each choice with yes or no.
  • Yes-Maybe-No The user can rate each choice with yes, maybe or no.
  • Likert Scale The user can rate each choice within a scale of integers. The size of the scale can be adjusted in the individual strategy (beginning with 0). A high number means a high preference.
  • Give Points The user can rate the choices by assigning a number of points. The maximum number of points can be set in the individual strategy options. The choice with the most points is preferred.
  • Rank Choices The user has to state and order his N highest preferences. How many choices need to be rated can be set in the individual strategy options.
  • Tick Accept The user can state for each choice if it is acceptable for him.

In the background each selection option is assigned to an integer value for the use within the algorithm.


There are three dates, which are of intertest for the underlying process of a Fair Allocation activity.

  • Rating begins at This date states the time, when the rating period is opened. Before this time no user will be able to edit his rating.
  • Rating ends at This date states the time, when the rating period is closed. After this time users are no longer able to create or edit their rating. In addition, all further steps of distribution offered to the teacher are only enabled after the rating period ended.
  • Publishdate This date has no effect on the process of the activity but offers the teacher a possibility to communicate the expected publishdate. This date can be disabled.


It is possible to create an arbitray number of choices using the add and delete buttons. Each choice has individual settings:

  • Title The title to be displayed for the choice.
  • Explanation The explanation should provide additional information to the choice.
  • Max number of members This field restricts the number of members, who can be assigned to this choice to a certain value. This is necessary for the algorithm in order to provide a good distribution. (If there are no restrictions to the size, it is not necessary trying to optimize the distribution)
  • Active It is possible to mark choices as inactive. This feature can be valuable if a course is duplicated over multiple semesters and one choice should be exluded for only one semester.

Strategy Options

Each strategy offers individual settings, which are only enabled for editing, when the respective strategy is chosen. There are some options many strategies have in common:

  • Label It is possible to assign individual labels to each selection option. However, when no value is set here the activity will take the default value, which makes it possible to display language specific labels.
  • Maximum number of choices the user can rate with... Here a number can be added, restricting the number of choices the user can decline. Internally the selection options "no", 0 etc. are assigned to the value 0. The algorithm will make no assignment of a user to a choice he has rated with 0. To decrease the number of users, which could not be assinged to any choice according to their wished, the users should be forced to rate on a reasonable number of choices. Each user, who could not be assined via the algiorithm has to be allocated manually afterwards!

Some of the options however are very specific to the respective strategy:

  • Highest number on the lickert-scale (lickert-scale) This number configures who many selection options the users get. The scale starts always with 0 and ranges upto this value. The refresh button on the buttom enables to refresh the number of fields offered for the individual labels.
  • Total number of points users can assign (Give Points) This option states the number of points a user can and has to assign. All points have to add up to this number.
  • Number of fields the user is presented to vote on (Rank Choices) This option specifies the number of choices the user has to rate. For example, the number 3 means, that the user has to specify and order his top 3 choices.


The plugin is based on the group_distribution plugin of the University of Ulm (Germany) and is further developed and maintained by the University of Münter (Germany)