How to Build a Fair Call Schedule: The Weighted-Tally Method
Equal shift counts aren't fair. Here's the weighted-tally method medical groups use to make call schedules that actually feel even - step by step.
June 5, 2026 · 8 min read
Most call schedules start with a simple goal: give everyone roughly the same number of shifts. That goal is the wrong one. A count treats a Tuesday day shift the same as a Saturday night of 24-hour call, and those two things cost a provider very different amounts of sleep, family time, and recovery. The fix isn't a better spreadsheet formula - it's a different unit of measurement.
Why "equal shifts" isn't the same as fair
Picture two providers who each work eight shifts a month. One works eight weekday day shifts. The other works four weeknight calls and four weekend calls. On paper, the count is identical. In practice, one of them is exhausted and resentful, and it usually takes a few months of that imbalance before someone finally says something in a group meeting. By then the pattern has repeated often enough that it feels personal, even when it was never intentional.
Step 1: weight every shift type, not just count it
The fix is to assign each shift type a weight that reflects its real cost, then compare weighted totals instead of raw counts. There's no universally correct number - groups differ - but a reasonable starting point most call schedules converge on looks like this:
- Weekday day shift - weight 1 (the baseline)
- Weekday night shift - weight 1.3 to 1.5 (disrupted sleep, next-day recovery)
- 24-hour in-house call - weight 2 (a full day plus overnight responsibility)
- Home call with low call-back rate - weight 0.5 to 1, depending on how often the pager actually rings
Write these weights down somewhere your whole group can see, and revisit them once a year. The number matters less than the fact that it's explicit and consistent - a schedule people can audit is a schedule people trust, even when they don't love the outcome.
Step 2: layer in weekend and holiday multipliers
Once shift-type weights exist, add a second layer: a multiplier for weekend shifts and another for holidays. A weeknight call and a Friday-night call might share a base weight, but the Friday shift should cost more, because it eats into the two days a week most people count on for rest. A common approach is a 1.5× multiplier for weekend shifts and 2× for recognized holidays - again, tune those to your group, but keep them explicit rather than handled by gut feel during manual scheduling.
Step 3: track weighted load per FTE, not per person
If your group has any part-time providers, raw weighted totals will mislead you immediately - a 0.6 FTE physician shouldn't carry the same weighted load as a full-time colleague. Divide each provider's weighted total by their FTE before comparing. This single adjustment resolves most of the "why does she get fewer shifts than me" conversations before they start, because the answer is visible in the math rather than buried in an HR file.
Step 4: generate, then look at the spread
With weights and FTE-normalization in place, build the schedule (by hand, in a spreadsheet, or with software) and then compute one number: the spread between the highest and lowest weighted-load-per-FTE across the group. A tight spread means the schedule is fair by this measure; a wide spread tells you exactly where to look before you publish it. This is the same math RotaBay's generator surfaces automatically as a 0–100 fairness score, but you can compute it manually in a spreadsheet in about ten minutes for a small group.
RotaBay's free schedule generator runs this exact weighted-tally method in your browser - add your team, pick a pattern, and see the fairness bars update live.
Try the schedule generatorStep 5: rebalance with small swaps, not a rebuild
When the spread is too wide, resist the urge to start over. Look for a single swap - move one Saturday call from the highest-load provider to the lowest-load one - and recompute. Small, targeted swaps almost always close most of the gap without disturbing shifts everyone already agreed to. This is also exactly how an automated local-search generator behaves under the hood: thousands of tiny proposed swaps, each one kept only if it actually improves the spread.
Common questions
Do I need software to do this?
No. A spreadsheet with a weight column and a SUMIF for each provider gets you most of the way there for a group of six to ten people. Software mostly saves you the manual rebalancing step once your roster or shift mix gets complicated enough that swaps interact with each other.
What if two providers just disagree about what's fair?
That's a values conversation, not a math one - and it's worth having explicitly. Some groups weight nights heavier than others; some don't multiply for holidays at all. Write your group's weights down, agree on them once, and then let the math settle every schedule after that without relitigating it shift by shift.