Agents, FTEs and cost for your live chat team — free, no signup.
Insurance use case
Demand model
Share of visitors who start a chat when invited. We derive chat volume from visitors × this rate.
Your chat volume
When is live chat open?
How your agents handle chat
How long a chat ties up an agent from start to finish. Insurance chat typically runs 10–15 min; complex or licensed lines run longer.
Concurrency. Complex insurance work sits at 1–2; mixed support runs 2–3. Doubling this roughly halves the agents you need.
Service target (Erlang C)
Grades your plan with concurrency-adjusted Erlang C (service level & speed of answer) and estimates chat abandonment with an Erlang A patience model — e.g. “answer 80% within 40s, before a 90s patience runs out.”
Shapes the hourly day-planner below — how your daily chats spread across open hours.
Staffing assumptions
Your busiest hour runs hotter than the daily average — 1.5–2× is typical. Sizing for the peak is what protects your wait times.
Share of logged-in time agents spend actually chatting. 60–75% is healthy; above ~85% waits climb and agents burn out.
Paid time not spent on chats — breaks, training, meetings, admin, absence. In-house teams run 25–40%.
Cost & display
Use a fully-loaded hourly rate (wages + benefits + overhead). 173.2 ≈ 2,080 working hours per year ÷ 12.
Optional: licensing/software per seat plus a supervisor/QA overhead on agent labour, for a fuller cost.
Plan ahead (optional)
A current headcount shows your hiring gap, growth projects staffing 12 months out, and attrition estimates the hires needed each year just to stay level. Insurance teams commonly see 30–45% attrition.
Changes formatting only; it does not convert your figures at live exchange rates.
Staffing estimate
For your peak hour at the rostered headcount.
Agents needed each open hour, shaped by your arrival pattern. The busiest hour drives your peak headcount.
| Hour | Chats / hr | Agents | Service level |
|---|
Service level, occupancy and speed of answer at your peak hour for different headcounts.
| Agents at peak | Service level | Occupancy | Avg. speed | Abandon |
|---|
| Step | Value |
|---|
| Assumption used | Value |
|---|
This free insurance live chat staffing calculator turns "how many chat agents do we need?" into a clear number — sized for your volume, your hours, and your busiest hour.
Pick Basic for a fast answer or Advanced for the full picture. Enter your chat volume and operating hours, adjust a few assumptions, and every number updates instantly.
How It Works
No account, no email, no limits. Just a clear headcount and cost you can take into planning.
Tell us how many chats you handle per day, week, or month, and pick your coverage — 8×5, 12×5, 12×7, or 24/7.
Adjust handle time, how many chats an agent runs at once, occupancy, and shrinkage — or keep the insurance benchmarks we pre-fill.
Get agents needed at peak, your FTEs, monthly and annual cost, cost per chat, and a conservative-to-aggressive range — instantly.
The Numbers Behind Chat Staffing
Chat agents multitask, so concurrency — not call-by-call queuing — drives how many people you need. A few benchmarks that shape the math.
Why It Matters
Get the headcount right and customers get fast answers without you over-hiring. Here's what a clear staffing number unlocks.
Stop guessing. Size your chat bench to real volume and concurrency, so you're neither over-hiring nor constantly short-staffed at peak.
See your agents' occupancy at peak before customers feel the wait. Catch the moment you tip from healthy and efficient to overloaded.
Your busiest hour decides whether customers wait. The peak factor sizes for the spike, while FTEs cover the whole week efficiently.
Attach a loaded hourly rate and turn headcount into a monthly budget and a cost-per-chat you can defend to finance.
Methodology
No black box. Here is exactly what happens to your numbers.
Live chat staffing comes down to one idea: how much work arrives in your busiest hour, and how much of it one agent can carry at once. This calculator turns that into a defensible headcount using a transparent workload-and-concurrency model — the approach contact-center practitioners recommend for chat.
It normalizes whatever you enter — chats per day, week, or month — into an average per open hour: avg chats/hour = chats per week ÷ (hours/day × days/week). That keeps a 24/7 operation and a business-hours desk on the same footing.
Your busiest hour is what creates waits, so it multiplies by a peak factor (default 1.6×): peak chats/hour = avg chats/hour × peak factor. Staffing to the average would leave customers queueing every lunchtime spike.
A chat agent runs several conversations at once, so the workload at peak is peak chats/hour × (handle time ÷ 60) concurrent chats, and agents = workload ÷ concurrency. Standard Erlang C assumes one call ties up one agent until it ends — as CallCentreHelper notes, that misfits chat, so the headline headcount uses this transparent concurrency model. (In Advanced mode we then layer Erlang C on top as a service-level check — see below.)
You can't run agents at 100%, and not all paid time is spent chatting. So it divides by your target occupancy and by one minus shrinkage, then rounds up: agents at peak = ceil( workload ÷ concurrency ÷ occupancy ÷ (1 − shrinkage) ). Occupancy leaves headroom for spikes; shrinkage covers breaks, training, meetings, and admin.
The peak number is a scheduling target for the busy hour. To staff the whole week without overstaffing quiet hours, FTEs use the average load: FTE = (avg chats/hour × handle time/60 ÷ concurrency ÷ occupancy ÷ (1 − shrinkage)) × weekly open hours ÷ 40.
Add a fully-loaded hourly rate and it computes monthly cost = FTE × loaded rate × 173.2 productive hours (annual ×12), plus a true cost per chat. That makes the headcount a budget you can defend.
Because every input is a range, it runs the calculation three times — Conservative (heavier handle time and shrinkage, lower occupancy and concurrency), Likely (your inputs), and Aggressive (leaner) — so you plan for the busy days, not just the average one.
Switch to Advanced mode and the tool adds a concurrency-adjusted Erlang C lens. It treats each agent as concurrency parallel chat "slots", computes the offered load in Erlangs (arrivals/hour × handle time), and reports the share of chats answered within your target (e.g. 80% in 40s), the average speed of answer, and the percentage answered instantly. A sensitivity table then shows how service level, occupancy, and speed of answer shift if you staff one or two agents above or below the recommendation — so the trade-off is explicit.
Advanced mode also distributes your daily volume across open hours using a realistic intra-day pattern (business-hours bell, lunch dip, evening-heavy, or flat), then sizes each hour individually. You get an hourly staffing chart, a roster table with the service level each hour, and a one-click CSV export for your workforce-management tool.
Reactive chat sizes straight from chat volume. For proactive programs that invite visitors to chat, switch the demand model and enter your visitor count and acceptance rate — the tool derives the resulting chat volume (visitors × acceptance) and sizes the team the same way.
Advanced mode goes further still. Add a current headcount to see your hiring gap (how many to hire, or spare capacity), an annual growth rate to project staffing and cost 12 months out, and an attrition rate to estimate the hires needed each year just to stay level — insurance chat teams commonly run 30–45% attrition. You can also add a per-seat tooling cost and a management-overhead percentage for a fuller, all-in cost. It does not model within-hour arrival randomness, chat abandonment, or multi-channel blending — validate those against your own data.
Say a claims team handles 3,000 chats a month, open 12 hours × 5 days, with a 15-minute handle time and agents running 1.5 chats at once. The chain looks like this:
Switch to Advanced and the Erlang C lens grades the service level and abandonment for that headcount, the day-planner spreads those agents across the day, and the sensitivity table shows what an eighth agent buys you. The Show example button loads a starting point instantly.
Use these published industry ranges as a sanity check on your inputs — not a promise, since your own chat data always wins. Ranges are drawn from contact-center sources such as CallCentreHelper.
| Metric | Typical range for live chat |
|---|---|
| Average handle time | 8–15 min (claims & licensed lines longer) |
| Concurrency | 1–2 complex · 2–3 mixed support |
| Target occupancy | 60–80% |
| Shrinkage | 25–40% |
| Service level | ≈ 80% answered within 30–60s |
| Chat abandonment | under ≈ 5–8% |
| Agent attrition | 30–45% (insurance support) |
FAQ
Everything you need to know about sizing a live chat team.
Glossary
The metrics behind the calculator — what they mean and why they matter.
sem.chat gives insurers, agencies, and brokers an AI chat and voice agent that answers customer questions 24/7 in 95 languages — so your live agents focus on the conversations that truly need a human. Try it free.
Try sem.chat Free