Live chat staffing calculator for your busiest hour.
Work out how many agents you need on chat to answer in time, how many to schedule once breaks and meetings are counted, and how that changes when a chatbot resolves part of the volume.
Made by the team behind Conecto, which sells website chat software. How we keep it useful
How the calculation works
The calculator uses Erlang C, the standard queueing formula behind most contact-center staffing tools. It estimates the chance that a new chat has to wait, given how much work arrives and how many people are available.
Chat is different from phone because one agent can handle several conversations at once. The calculator approximates this by treating each agent as a number of parallel slots equal to their concurrency, with the handle time spread across those slots.
Workload in slots = chats per hour × handle time in seconds ÷ 3,600 ÷ concurrency
Chance of waiting = Erlang C for (agents × concurrency) slots and that workload
Answered in time = 1 − chance of waiting × e−(slots − workload) × target seconds ÷ (handle time ÷ concurrency)
Average wait = chance of waiting × (handle time ÷ concurrency) ÷ (slots − workload)
Occupancy = workload ÷ slots
Agents to schedule = agents on chat ÷ (1 − shrinkage), rounded up
The calculator increases the number of agents until the share answered in time meets your target and occupancy is at or below your ceiling.
Worked example
With 40 chats in the busiest hour, 8 minutes of handle time and 2 chats per agent, the workload is 2.67 slots. 3 agents on chat answer 97.3% of chats within 60 seconds, with an average wait of 4 seconds and 44.4% occupancy. With 30% shrinkage, that means scheduling 5 people for that hour.
If a chatbot fully resolves 25% of chats, the busiest hour needs 2 agents on chat and 3 scheduled. The chatbot only helps with questions it can answer from documented information, so check what share of your chats are like that before relying on it.
What the model leaves out
- People leaving the queue. Erlang C assumes everyone waits. In reality some visitors give up, which makes the formula slightly cautious.
- Concurrency slowing chats down. Handling several chats at once makes each one take longer. Measure handle time at your usual concurrency so the estimate reflects it.
- Uneven arrivals. A campaign or outage can bring chats in bursts. Plan the busiest hour you actually see, not the daily average.
- Chats a chatbot starts but can’t finish. A handoff still reaches a person, sometimes with a head start. Only fully resolved chats reduce the workload here.
How to find your numbers
- Chats in your busiest hour
- Export chat start times from your chat tool or help desk and count them per hour over a few weeks. Use a typical busy hour, not a one-off spike.
- Handle time
- Measure from the agent’s first reply to the chat closing, including wrap-up notes.
- Concurrency
- Start with two. Three is manageable for simple questions; one suits complex or sensitive ones.
- Service target
- Decide how quickly visitors should get a first reply from a person. On a website, people are often waiting on the page, so the target is usually measured in seconds rather than minutes.
- Shrinkage
- Add up breaks, meetings, training, time off and other work as a share of paid hours.
Formula and guidance last reviewed on September 23, 2026. Your inputs stay in your browser: nothing is stored or sent.