How to make on-call assignments fair: balance pay as well as counts
“The counts are equal, so why does the schedule still feel unfair?” Every organizer eventually faces this question. The usual problem is that fairness has been measured only by the number of shifts. This guide separates fairness into three dimensions and shows how a repeatable process can replace intuition.
Fairness has three dimensions
- Fairness of counts. — The difference in each person’s day- and night-shift totals is the clearest measure, but it is not enough by itself.
- Fairness of burden. — Weekends, days before holidays, and other slots that make the next day difficult or force people to keep plans open should not be concentrated on one person. Four shifts with three Fridays do not feel the same as four shifts with three Tuesdays.
- Fairness of pay. — Higher-paid Friday, weekend, and holiday-related slots can create a large difference in total on-call compensation even when counts are identical.
Why equal counts can still be unfair
Many workplaces pay more for a Friday night or a shift before a holiday than for an ordinary weekday. If an ordinary weekday pays ¥24,000 and Friday pays ¥54,000, one extra Friday creates a ¥30,000 monthly difference. Manual and spreadsheet scheduling often stop after counting shifts, leaving the maximum-to-minimum pay gap invisible. That hidden difference is often what people experience as vague unfairness.
Use the following day to classify a public-holiday rate
OnCall Generator does not automatically treat every public holiday as Sunday. It checks whether the following calendar day is also a day off before calculating day- and night-shift pay:
- The next day is another public holiday, Saturday, or Sunday: apply the Saturday day-shift and night-shift rates (saturdayDay / saturdayNight). The conditions match a Saturday followed by a day off.
- The next day is an ordinary weekday: apply the Sunday day-shift and night-shift rates (sundayDay / sundayNight), as before.
Thus May 3 followed by the May 4 holiday uses the Saturday rate, as does any holiday followed by Saturday or Sunday. A substitute holiday on Monday followed by an ordinary Tuesday uses the Sunday rate. Total pay and pay-gap optimization use this same calculation.
Set priorities and assign consistently
With several fairness goals, perfection on every axis may be impossible. What matters is deciding priorities in advance and applying the same process every month. OnCall Generator compares candidate rosters in this order:
- Avoid unfilled slots and meet the required staffing level.
- Minimize assignment on dates marked Difficult.
- Maximize dates marked Preferred.
- Keep differences in day- and night-shift counts within the target range.
- Keep differences in points and pay within the target range.
With the order fixed, the app can generate and compare hundreds of candidates. The result follows a stated procedure rather than one person’s intuition or the loudest voice. Weekly limits, minimum spacing, and pairs that cannot share a slot should likewise be defined before generation.
Visible evidence builds acceptance
The final step is to let everyone see the basis of the result. Sharing each member’s day- and night-shift counts, slot breakdown, points, and total on-call pay gives useful context: one person may have earned more because they covered more Fridays this month, with the balance adjusted in a later month. OnCall Generator creates this summary when the roster is finalized, and every participant sees the same information.
For the complete workflow, read How to create an on-call schedule. For request collection, read How to move availability collection to an app.
Balance counts and pay. Generate a fair on-call roster automatically.
Try OnCall Generator →