Schedule fairness: sharing the unsocial hours

Scheduling · ~6 minute read

The optimal roster can be the unfair one

A schedule that matches demand perfectly can still be a deeply unfair one, and the two are easy to confuse. Pure optimisation puts coverage where it’s needed and doesn’t care who carries the cost; left alone, it tends to pile the early starts, late finishes and weekends onto whoever happens to be most available or least able to object. That roster looks efficient on the requirement chart and quietly corrodes the operation underneath it, because unfairness shows up a few weeks later as worse adherence, more absence and higher attrition — costs that never appear in the coverage model but land squarely on the plan.

Why fairness is an efficiency issue, not just a nice-to-have

People will tolerate a difficult shift far better if it’s shared, or if they chose it, than if it’s imposed and concentrated. That’s the fairness dividend: the same unsocial hours, distributed equitably, cost you less in goodwill, sickness and turnover than the same hours dumped on a few. The corollary is that a roster optimised purely for coverage is usually a false economy — it minimises agents on paper and maximises the hidden costs that drive your shrinkage and attrition lines. Fairness isn’t in tension with efficiency once you count the whole bill; it’s part of how you keep the people whose absence and churn would wreck the plan.

The same unsocial hours, two ways to share them Concentrated (unfair) Shared (fair) Same total unsocial hours — very different adherence and attrition.
Both rosters cover the demand. The left one quietly bills you later in sickness and turnover; the right one spreads the load and keeps people.

Designing for fairness

Build fairness in deliberately rather than hoping the optimiser stumbles on it. Rotate the genuinely unsocial slots so no one is permanently stuck with them, and track the distribution — a simple count of weekends and late finishes per person surfaces the inequity an optimiser hides. Where you can, let people choose through shift bidding or preference systems, with fairness constraints so seniority doesn’t simply capture all the good shifts and leave the rest to the newest and least powerful. Be transparent about how shifts are allocated, because perceived fairness depends as much on a visible, consistent process as on the outcome. And accept a slightly less “optimal” coverage number knowing it buys back more than it costs in adherence and retention. The best roster isn’t the one that minimises agents on a chart; it’s the one people can live with and keep showing up to.

Pair this with work-life balance in schedules, self-rostering, and adherence and conformance.