How many agents does this interval need?
Erlang C staffing with shrinkage and a maximum-occupancy ceiling, the way a workforce planner actually staffs. Every number is computed in your browser. Nothing is sent anywhere.
What this calculator does differently
Most Erlang C calculators stop at the first agent count that meets the service-level target. At moderate load that answer often implies an occupancy of 90% or more — a staffing level that looks fine on paper and burns a team out in practice. This calculator treats maximum occupancy as a hard constraint alongside service level, so the required headcount is the smallest number that satisfies both. The comparison row above shows you the difference for your inputs.
Shrinkage is applied last, to the productive requirement, never folded into offered load or handle time. Overloaded intervals — where productive agents don't exceed offered load — are reported as unservable rather than given a meaningless percentage.
The arithmetic uses the Erlang B recurrence rather than the factorial closed form, so it doesn't overflow above 170 agents the way spreadsheet implementations do. It is the same engine that powers the Erlang C Staffing Planner visual for Power BI, and it is verified against exact rational arithmetic to a few units in the last place.
The formulas
- Offered load
A = contacts × AHT ÷ interval seconds(Erlangs)- Probability of waiting
C = B(N) ÷ (1 − ρ + ρ·B(N))whereρ = A ÷ NandBis Erlang B- Service level
SL = 1 − C · exp(−(N − A) · T ÷ AHT)- Occupancy
A ÷ N- Average speed of answer
ASA = C · AHT ÷ (N − A)- Required productive agents
- smallest integer
NwithN > A,A ÷ N ≤ max occupancy, andSL(N) ≥ target - Required scheduled agents
ceil(N ÷ (1 − shrinkage))
Assumptions worth knowing
Erlang C assumes Poisson arrivals, exponentially distributed handle times, no abandonment and infinite caller patience. Real queues abandon, so Erlang C is generally conservative — it recommends slightly more staff than a model with abandonment would. That is usually the safer direction for a staffing plan, but it is worth saying out loud to anyone using the numbers.
Need this on every interval, not just one?
The Erlang C Staffing Planner runs this exact engine inside Power BI — required staffing against your roster for a whole day, week or month, with gap shading, summary metrics and what-if parameters your readers can drive from a slicer. Free evaluation on your own data.
See the Power BI visual