Understanding the auto-scheduler

Volunteer Scheduler Pro's scheduling engine uses a highly sophisticated multi-pass algorithm to distribute assignments fairly among all of your volunteers. The way the algorithm works is very complicated, but a few important behaviors are listed here:


  • Positions in each job (and subdivision) are distributed fairly among all of the volunteers in that job. Indicating that a volunteer is qualified to serve in multiple jobs does not necessarily mean that they will be scheduled for more total shifts. Rather, the volunteer’s total shifts will be split among all of their jobs. An exception to this rule is that if the “Schedule this job autonomously” option is turned on for a specific job, adding that job to a volunteer will always increase their total load and not affect the volunteer’s load in any of their other jobs.
  • Every volunteer will get a chance to serve in every job and subdivision for which they are qualified to serve. However, volunteers will spend the most time serving in the jobs which need them the most. You may override this behavior and indicate that each qualified volunteer should be scheduled exactly the same number of times in a particular job by checking the “Schedule this job autonomously” option.
  • The scheduling engine automatically remembers information about previous schedules (called "historical scheduling information"). If a volunteer is scheduled less than they should be during one scheduling period, this is taken into account during the next scheduling period. Likewise, the scheduling engine will remember which jobs the volunteer has not had a chance to serve in for a while, and in which jobs they have recently been serving more than their share, and will produce schedules that correct this imbalance. VSP will also recognize if you are re-scheduling a given period of time and will automatically retrieve the correct historical scheduling information for that time period.
  • The engine will continue to schedule volunteers for additional shifts until all positions in the schedule have been filled. In some cases, there are not enough volunteers available to complete a schedule and a shift is left with unfilled positions. In such a case, you will be alerted that positions remain unfilled immediately after the schedule is generated. You may then manually select volunteers to fill the unfilled positions by clicking on the unfilled positions.