Math & Trig
Staffing FTE & shrinkage formula: why you divide by (1 - Shrinkage%)
Convert contact-center or back-office volume and Average Handle Time into Workload Hours, Productive FTEs, and Shrinkage-grossed Headcount.
Critical WFM rule: DIVIDE by (1 - Shrinkage)—never multiply by (1 + Shrinkage)!
If 2,800 weekly tickets averaging 6 minutes require 280 productive hours (7.0 Base FTEs at 40 hrs/week) and agents spend 30% of paid hours on PTO, breaks, coaching, and meetings (30% Shrinkage), multiplying 7 * 1.30 = 9.1 FTEs leaves you UNDERSTAFFED (9.1 * 0.70 = only 6.37 productive FTEs)!
Because each hired FTE delivers (1 - Shrinkage) productive capacity, Required Headcount = ROUNDUP(BaseFTE / (1 - Shrinkage), 0) = 7 / 0.70 = 10 FTEs (10 * 0.70 = 7.00 productive FTEs!).
| Workforce Planning Step | Formula | Result |
|---|---|---|
| Weekly Workload Hours | =(2,800 contacts * 6 min) / 60 | 280.0 hours |
| Productive Base FTEs | =280 hours / 40 hrs per FTE | 7.00 FTEs |
| WRONG (Base * 1.30) | =7.00 * (1 + 0.30) | 9.1 -> 6.37 net FTEs! |
| CORRECT (Base / (1 - 0.30)) | =ROUNDUP(7.00 / 0.70, 0) | 10 Paid Headcount |
Shrinkage-grossed headcount and FTE utilization formulas
ROUNDUP(..., 0) ensures partial FTE requirements are covered by whole hired staff.
=LET(hrs, (A2 * B2) / 60, baseFte, hrs / C2, ROUNDUP(baseFte / (1 - D2), 0))Unadjusted productive Base FTEs required
Workload hours needed before accounting for PTO, breaks, and training.
=ROUND(((A2 * B2) / 60) / C2, 2)Inputs and interpretation
This is aggregate workload sizing, not an Erlang queue or service-level model. It assumes the remaining available hours can be fully used for this workload. Arrival peaks, occupancy limits, scheduling, skills and waiting-time targets can require more staff. FTE is a unit of capacity, not necessarily headcount: the whole-person result assumes identical full-time schedules. Require positive hours per FTE and 0 <= shrinkage < 1.
Try the example
Use the original values or change them to test your understanding.