RosterShift

How to build a fair duty roster: a practical guide for hospital coordinators

· 3 min read

Fairness in a duty roster isn't a feeling — it's a number you can point to. Coordinators who get the fewest complaints aren't the ones who work harder to "feel out" what's fair; they're the ones who've defined fairness clearly enough that the roster can be checked against it. Here's a practical way to get there.

Step 1: Define your duty types precisely

Before you can be fair, you need a shared vocabulary. Most departments end up with something like:

  • Routine weekday — the baseline unit
  • Weekend duty — Saturday and Sunday shifts
  • Night shift — typically 12-hour or longer overnight coverage
  • Holiday duty — public holidays, which staff generally rank as the least desirable
  • On-call / 24-hour duty — extended coverage with rest implications

Write these down explicitly, even if it feels obvious. Ambiguity here is where most fairness disputes start — one coordinator's "weekend shift" is another's "Friday night that bleeds into Saturday," and if that's not defined, two people can disagree in good faith about who worked more weekends.

Step 2: Weight duty types, don't just count them

A common mistake is treating every shift as equivalent — one shift, one point. But a Christmas Day duty and a random Tuesday are not the same cost to the person working it. A better system assigns weights:

  • Routine weekday: 1 point
  • Weekend duty: 1.5–2 points
  • Night shift: 1.5–2 points
  • Holiday duty: 2–3 points

The exact numbers matter less than having numbers at all, and having your team agree on them in advance. Once duty types are weighted, "fair" becomes a target you can calculate — roughly equal total points per person over a defined period — instead of a subjective judgment call you have to defend every time someone questions the schedule.

Step 3: Track carry-over balance, not just the current period

A roster that resets fairness every month has a blind spot: someone who worked three holidays in a row across a quarter boundary looks perfectly balanced in any single month's view, even though they're carrying real fatigue and real resentment. Track each person's weighted point balance as a running total, not a monthly snapshot. When you build next month's schedule, the people with the highest carry-over balance should be first in line for lighter duty, and the people with the lowest balance should be first in line to pick up weekend or holiday coverage.

This is the single change that turns a "roughly fair" roster into one your team actually trusts, because it accounts for history, not just the current four weeks.

Step 4: Publish transparently

A fair roster that nobody can verify might as well be unfair — trust depends on visibility. When you publish the schedule:

  • Share the duty-type weights and the balance calculation, not just the final assignments
  • Let staff see their own running balance relative to the team, so "why did I get another weekend" has a self-serve answer
  • Make the swap-request process visible and auditable, not a side conversation that only you remember

Coordinators who publish this way spend dramatically less time defending individual decisions, because the system is doing the explaining for them.

Doing this by hand doesn't scale

All four steps are doable in a spreadsheet for a small team over a short period. The trouble is scale and memory: as a team grows, or as months turn into a full year, tracking weighted, carrying balances by hand becomes exactly the kind of bookkeeping a human coordinator shouldn't have to hold in their head. This is precisely the gap RosterShift was built to close — weighted duty types, automatic carry-over tracking, and transparent publishing built into the scheduling process itself, so the fairness math happens automatically instead of living in a coordinator's spreadsheet formulas and memory.