We’ve recently released roster cycle optimization, a feature we’re truly pleased with and that was developed in close collaboration with some of the world’s largest bus operators. It’s a pretty unique feature, taking roster optimization one step ahead of the industry. This post describes its importance and how it fits within the general industry practices related to creating rosters (rotas).

Why rosters matter

Rosters are the last, but not least, optimization step. First, vehicle and crew schedules are optimized, and the resulting duties are then packaged into weekly rosters. We’ve written here about the importance of roster optimization, which touches upon many important factors (and saves precious time for schedulers):

  • The need for efficiency, with the goal of reducing roster lines and overtime pay
  • The needs of drivers and their personal preferences, from route familiarity, similar start times and duties that fit into their personal lives
  • Safety considerations – ensuring enough rest for drivers


Roster optimization, a practice that isn’t used a much as it should (see here for some stats) impacts costs and efficiency. Yet, another important outcome of good rosters is fairness. When rosters and duties aren’t optimized, there are not enough “good” rosters to distribute among drivers, resulting in some drivers that are better off and some that aren’t. Fairness can be dealt with by focusing on “lifestyle rosters” which are made to fit different lifestyles (https://www.optibus.com/using-lifestyle-rosters-to-improve-diversity-and-encourage-driver-retention/) so that single parents or elderly or female drivers have rosters that are better for their specific needs. Yet most agencies and operators approach the fairness question from a different angle: rotating rosters.

Rotating rosters

Rotating rosters mean rotating duties between different drivers. Imagine 3 drivers: each completes one roster line (e.g. a 4 day week with 10 hours a day and 3 routes). Driver 1 is assigned to roster line 1, Driver 2 is assigned roster line 2 etc. Each driver moves on to the next roster line after each is completed, so that in the next week Driver 1 would get roster line 2, Driver 2 would get roster line 3 and Driver 3 would get roster line 1.

Rotating rosters don’t necessarily mean that drivers are forced to take an “early-late” rotation as a rule. Some roster groups (a set of drivers for whom a certain set of preferences/attributes applies) can have similar duties across the weeks, while other rotations can cycle through alternating roster lines with a greater degree of variation (e.g. routes, starting times, days off etc).

Rotating rosters provide benefits both from the fairness and operational perspectives.

From the fairness point of view:

  • All drivers rotate through each of the roster lines, meaning that they get the “good” duties and the less desirable ones at the same rate at other drivers
  • Since the rotation covers several weeks, drivers can plan ahead, including a simple plan that lets them know when they need to work Sundays and holidays

Rotating rosters are also simpler to maintain:

  • Drivers can readily switch weeks or cover for each other if someone is sick or running late, since everyone on the same roster is familiar with the same routes.
  • Drivers can still get “good” roster lines, yet schedulers don’t have to tailor them to specific drivers.

Roster cycles

With roster cycles, you get a complete set of tools that help you build a specific structure of duty composition throughout the roster.

For example, below is a simple four-line rotating roster, where the drivers work only Monday to Thursday. This specific group works an “early-late” cycle, where drivers alternate between early and late duties each workweek.

Roster cycles help with all three stages of building and optimizing such a roster. These are the three stages:


1. Define the cycle

Define which duties are part of the cycle and when the switch takes place from one cycle segment to the next. The following cycle components were defined in this example:

  • Segments: This cycle consists of two segments: early (the purple cells) and late (the green ones). Each segment can be defined in a way that includes duties based on multiple criteria.
  • Switch: This cycle switches from one segment to the next after the weekend (which includes two consecutive days off).

2. Build the cycle

Set the required days off pattern directly on the roster lines, and then generate the segments with a single click. (The generated segments can also be modified manually as needed.)

3. Optimize the cycle

Once the roster cycle is fully defined, meaning that all cells are assigned to a segment type – in this case, early (purple) and late (green) – and the days off are set, the cells can be populated with the appropriate duties to reach an optimal solution.

In the example above, only morning duties are allowed for the early segment, and only night duties are allowed for the late segment.


The benefits of roster optimization and roster cycles are numerous. They help retain drivers by giving them a sense of fairness and predictability in terms of work allocation, and also generate savings and efficiencies by reducing (and even eliminating) overtime and roster lines. We believe that once they are used, the public transportation industry will not only focus on crew scheduling optimization on the duty level, but also on roster optimization.

To see a demonstration of roster cycles, go to our webinar here.