Inbound coverage calculator
Coverage is the one staffing question that does not scale the way people expect. Add a caller and nothing happens; add another and suddenly half of them are gone. This tool takes your busiest hour and the people covering it, and returns the share of callers who reach somebody, the headcount each target actually takes, and the payroll behind that headcount once shrinkage is paid for.
There is no benchmark on this page. Nothing here tells you what a good answer rate is or how long a call should take, because a staffing figure that arrives without your own call volume attached is a number you cannot check and should not act on.
Inbound coverage
Inbound Coverage Calculator
Enter your busiest hour and the people covering it. You get the share of callers who reach somebody with a queue, the share who reach somebody without one, and the headcount each target actually takes -- before and after shrinkage. The results update instantly.
What that hour actually looks like
Based on the six numbers on the left.
- Work arriving per hour
- 1 erlang
- If your phone system does NOT queue
- 50% reach a person
- If it does queue
- The queue never clears
- Headcount to hit your target
- 3 on the phones
- People you have to employ
- 5
Call-hours of work arriving in one hour. One erlang is one person busy for the whole hour with nothing left over, so this is the absolute floor on headcount before a single caller waits.
6 of 12 callers in that hour get a busy tone, a voicemail box or silence, and are gone. This is the model for an office phone with no hold queue.
The work arriving each hour meets or exceeds what the people on the phones can finish in an hour, so the hold queue grows for as long as the hour lasts. There is no share to report, and that is the answer.
To answer 80% within 20 seconds with a queue. Without a queue, reaching the same share of callers at all takes 2 -- a different question with a different answer, because one target counts waiting and the other counts losing.
Headcount on the payroll to keep the figure above actually on the phones, at 30% shrinkage. This is the number a build-versus-buy decision turns on, and it is the one left out of every staffing estimate done on a napkin.
What each extra person buys
| On phones | Queued, in time | Average wait | Unqueued, answered |
|---|---|---|---|
| 1 | never clears | no steady state | 50% |
| 2 | 68.8% | 1.7 min | 80% |
| 3 | 92% | 14s | 93.8% |
| 4 | 98.3% | 2s | 98.5% |
| 5 | 99.7% | under 1s | 99.7% |
The gain from one more person is not constant. Near the stability point it is enormous and a few people later it is almost nothing, which is why headcount arguments settled by intuition tend to land on the wrong side of the knee.
Every figure above is arithmetic on the six numbers you entered. The starting values are neutral placeholders so the page renders a result, not benchmarks and not our results -- replace them with your own before reading anything into them. Both models assume calls arrive independently at a steady average rate and that nobody hangs up while waiting, so where callers do abandon, the queued waits are longer than you would really see.
Two models, because your phone is one of them and not the other
Every staffing calculator you can find on the open web assumes your callers queue. It assumes that when everybody is busy the next caller hears hold music and waits, however long it takes, and that nobody ever gives up. Under that assumption no caller is ever lost -- the only thing bad staffing costs you is patience. That is a fair description of a contact centre with a proper queue in front of it, and it is the model those calculators were written for.
It is not a description of an office phone. On most contractor lines a call arriving while everybody is busy does not join a queue, because there is no queue to join. It gets a busy tone, or it rolls to a voicemail box nobody has listened to since spring, or it simply rings out. That caller is not waiting. That caller is calling the next company on the list, and no amount of hold music was ever offered to them.
Those two worlds have different arithmetic and this page runs both, side by side, off the same inputs. Read the row that matches the phone system you actually own. If you do not know which you own, call your own main line from a mobile while somebody else is already on it -- what you hear is the answer, and it takes under a minute to find out.
What each number on the panel means
Work arriving per hour is the erlang figure, and it is the only input that matters more than headcount. One erlang is one person occupied for a whole hour with nothing left over. It is calls multiplied by handle time, and handle time includes the write-up after the call -- somebody typing notes cannot pick up the next ring. Leave the write-up out and every figure below flatters you.
The queued answer is a service level: the share of callers who get through inside your target wait, with the average wait beside it. When the work arriving each hour meets or exceeds what your people can finish in an hour, this panel does not print a percentage -- it says the queue never clears, because that is the truthful answer. A hold queue under that condition does not have a long wait; it has a wait that grows for as long as the hour lasts.
The unqueued answer is the share who reach a person at all when there is nowhere to hold them. This one still has an answer in exactly the state where the queued model runs out, which is the single most useful property of putting both on one page. The count beside it is callers lost in that hour, not a rate -- a rate is easy to argue with and a count of people is not.
People you have to employ is where most staffing estimates quietly go wrong. Shrinkage is divided out, never subtracted: if a third of the paid hour never reaches a call, covering three seats does not take four people, and the difference is what leaves a rota short every single week. This is also the number a build-versus-buy decision actually turns on, because it is the one with a salary attached.
Our own floor does not queue either, and we publish what that costs
The unqueued model is not a hypothetical we invented to make a point. It is how our own inbound behaves, and the measurement is published with the unflattering half attached: 54.3% of inbound calls reached a live agent (48,761 of 89,858 that arrived); 61.3% of the calls that reached an agent queue did (48,761 of 79,553), over the 90 days from 2026-05-03 to 2026-08-01. Source: Production VICIdial `asterisk` schema (vicidial_did_log joined to vicidial_closer_log on uniqueid), read through the SELECT-only sarah_ro proxy; query and both denominators reproduced by apps/ccdocs-astro/scripts/derive-inbound-call-facts.py.
The waiting figure is the one that shows the model rather than the outcome, and it may only be read beside the rate above, because a wait measured over answered calls describes only the calls that were answered: Median 0 seconds. 43,926 of 48,761 answered inbound calls (90.1%) were connected to an agent with no measurable hold at all; the 95th percentile waited 1 second, the 99th waited 4 seconds and the longest wait in 90 days was 53 seconds (2026-05-03 to 2026-08-01). Source: Production VICIdial `asterisk` schema (vicidial_closer_log.queue_seconds over agent-handled calls, plus the vicidial_did_log arrival-to-queue leg), read through the SELECT-only sarah_ro proxy; distribution reproduced by apps/ccdocs-astro/scripts/derive-inbound-call-facts.py.
Put those two together and you have the shape this whole page is about. When somebody is free the phone is picked up effectively instantly, so nobody is ever sitting in a queue -- and when nobody is free the caller is not held, they are refused. That is Erlang B behaviour on a professional floor with a dialer in front of it. If it is the behaviour there, it is certainly the behaviour on an office handset, and it is the reason this tool refuses to model your phone as though it had a queue you never bought.
What this model does not cover
Neither model handles a caller who waits a while and then hangs up. That is a third model again, and leaving it out has a known direction: where your callers do abandon, the real waits are shorter than the queued panel shows, because people are leaving the queue rather than sitting in it. Take the queued waits as the pessimistic end.
Both models also assume calls arrive independently at a steady average rate across the hour. Storm work breaks that assumption harder than anything else in this business: a hail line does not receive its calls evenly, it receives most of them in the twenty minutes after the local news runs the footage. If that is your pattern, model the spike as the hour rather than averaging it away, or the answer will be comfortable and wrong.
And it sizes one hour. It says nothing about evenings, weekends or the small hours, when the phone still rings and the roster usually does not stretch. That is a coverage question rather than a staffing one, and it is the question the pages below exist to answer.
Where this fits
- Call center answer rate benchmark -- what actually happened to a real inbound corpus, including the parts that do not flatter us. The measurement the section above quotes.
- Missed-call revenue calculator -- this page tells you how many callers are lost; that one puts a number on what losing them is worth.
- After-hours roofing answering service -- the hours this calculator deliberately does not model, and what ringing out at seven in the evening costs.
- AI receptionist vs live answering service -- the other way to raise the answered share without raising headcount, and where it stops working.
- 24/7 answering service -- covering the hours a roster cannot reach without hiring for them.
- Inbound call center -- the buying decision this arithmetic sits inside.
Cover the hour you cannot hire for
Bring us the number this page gave you. If your own roster already covers the hour we will tell you so -- the useful version of this conversation starts with the arithmetic, not with a quote.
Book a Free Consultation