"More people" is the default answer to a painful rotation, but it's often the wrong one. Here is the actual formula we use before headcount conversations.

Every painful rotation conversation eventually turns into a headcount request. Before we make that ask, we run the numbers, because sometimes the fix is shift length, not people.

The variables that actually matter

Rotation size should be driven by three inputs: expected pages per week, acceptable pages per person per shift, and desired shift length. We derive minimum headcount from those, rather than starting from whatever the team happens to be staffed at.

from pages
| where _time > ago(90d)
| summarize weekly_pages = count() by bin(_time, 7d)
| summarize avg_weekly = avg(weekly_pages)
// min_headcount = ceil(avg_weekly / (max_pages_per_person_per_shift * (7 / shift_length_days)))

Shift length changes the answer more than headcount does

For a team receiving 12 pages a week with a target of at most 4 pages per person per week-long shift, the math says you need 3 people. Cut the shift to 3.5 days instead and recompute — the per-shift page count drops proportionally, and the same 3 people now experience a lighter, shorter burden without adding a fourth person to the rotation at all.

Use the math to make the ask, not avoid it

Sometimes the math genuinely says you need more people, and having the formula makes that request concrete and hard to argue with — "we need 5, we have 3, here's the query and the assumptions" lands very differently than "on-call is rough lately." The goal isn't to avoid headcount asks, it's to make them evidence-based.

Watch for the formula being technically satisfied but still painful

A rotation can hit every number in the formula and still feel bad if the pages are unevenly distributed across the week — five quiet nights and two brutal ones average out to a comfortable number that nobody actually experiences. We pair the headcount formula with a variance check across days of the week before declaring a rotation healthy on paper.

  • Derive rotation size from expected pages, target pages-per-shift, and shift length.
  • Try shortening shift length before defaulting to a headcount request.
  • Recompute the formula quarterly as page volume changes.
  • Check variance across days, not just the average — a healthy average can hide bad days.
  • When the math says you need more people, use it to make the ask concrete.