How is the Responsibility Randomizer calculated?

Responsibilities are calculated on a per season basis and for those attendees marked as ATTENDING for the event and for those attendees that do not have a responsibility. Attendees are ordered with the least corresponding count for that season and then a random attendee chosen from the lowest count. If you select the same responsibility multiple times for an event, only 1 attendee will be chosen at random, previous selections for the responsibility will be removed

Example 1
If there are 10 attendees who have never brought beer, 4 attendees who have brought beer once, and 2 attendees who have brought beer twice. Then a random attendee will be chosen from the 10 that have never brought beer.

Example 2
If there is 1 attendee that has never washed the teams gear, 3 attendees that have once, 5 that have twice. Then the 1 attendee that has never washed the teams gear will be selected

Example 3
If there are 3 attendees, 1 attendee that has bought beer 3 times, another attendee is set for bringing Equipment, another is set for bringing Food, then the attendee who has no responsibilities will be still be assigned to bring beer, as all other attendees have responsibilities.

Exemptions
Spares, goalies, managers are included. You can set within the team roster if someone is exempted from a responsibility.