Appendix F from The AI Contact Center Handbook by Sho Shimoda. Available on Amazon.
The math that has to be on the whiteboard
Every operational decision in a contact center comes back, eventually, to some piece of math. The math has not changed as much as people think — Agner Krarup Erlang's 1917 queueing paper is still the backbone of workforce planning — but the domain of application has expanded to include asynchronous channels, LLM inference economics, and the model-routing and caching decisions that determine whether an AI operation is profitable.
This appendix walks through the six pieces of math a CX leader should be able to sketch on a whiteboard.
F.1 Erlang C — With a Worked Example
Erlang C is the formula for the probability that an arriving call has to wait in the queue, given a Poisson arrival process, exponentially distributed service times, and a fixed number of agents. From that probability you derive expected wait time, service level, and the number of agents needed to hit a target.
A^N / N!
P(wait > 0) = -----------------------------------
[Σ k=0..N-1 of A^k / k!] + [A^N / N! × (N / (N - A))]
Where A is the offered load in Erlangs (call arrival rate × average handle time) and N is the number of agents. An Erlang is a dimensionless unit representing continuous-time occupation: one Erlang means one agent busy 100% of the time.
Worked example
Suppose your contact center receives 300 calls per hour in a specific interval. AHT is 240 seconds. You want to answer 80% of calls within 20 seconds (SL 80/20).
| Step | Calculation | Result |
|---|---|---|
| 1. Offered load | (300/3600) × 240 | 20 Erlangs |
| 2. Try N = 24 agents | P(wait > 0) ≈ 0.51 E(wait | queued) = 240/(24-20) = 60 s Overall avg wait = 0.51 × 60 = 30.6 s SL = 1 − 0.51 × e−4×20/240 = 1 − 0.51 × 0.717 | SL = 63.4% (miss) |
| 3. Try N = 27 agents | P(wait > 0) ≈ 0.21 E(wait | queued) = 240/7 = 34.3 s SL = 1 − 0.21 × e−7×20/240 = 1 − 0.21 × 0.560 | SL = 88.2% (hit) |
The result. To hit 80/20 with 300 cph and 240 s AHT, you need somewhere between 26 and 27 agents. Rounded to the operational number, 27 agents.
Erlang C's assumptions and where they break. Erlang C assumes calls that queue wait indefinitely (no abandonment), Poisson arrivals, and exponentially distributed handle times. Real-world calls do abandon, arrivals cluster around events, and handle times are more log-normally distributed. Sophisticated WFM platforms use Erlang variants (Erlang A adds abandonment, Erlang X allows a specific abandonment pattern) or simulation-based approaches to compensate.
F.2 Erlang O — Concurrency for Chat and Messaging
Traditional Erlang C models voice calls, where each interaction fully occupies one agent. Chat and messaging behave differently: a skilled agent can handle two, three, or four conversations concurrently.
Erlang O is a more recent generalization for this concurrent-service case. The math gets more complex — you now model the distribution of concurrency, the impact of context-switching on per-conversation handle time, and the customer's tolerance for asynchronous response.
| Concurrency factor | Effective load per agent vs. voice-equivalent | Note |
|---|---|---|
| 1 (voice) | 1.0× | Baseline. |
| 2 chats | ~1.5× | Context-switching costs ~25% of the theoretical gain. |
| 3 chats | ~2.1× | — |
| >3 chats | Diminishing / degrading | Quality falls off sharply; effective gains flatten. |
Modern WEM platforms handle this modeling automatically. The important thing for the CX leader: a blended agent handling chat and voice cannot be scheduled on Erlang C alone — the math will systematically over-staff.
F.3 AI Inference Economics — Token-Based Pricing
The economics of running an AI-enabled contact center are dominated by inference cost. The unit of pricing for modern LLM inference is the token — roughly three-quarters of an English word. Each interaction consumes input tokens (prompt, history, retrieved context) and produces output tokens (the AI's response). Providers price the two separately, with output tokens typically 3–5× more expensive than input.
Worked example: one automated customer service interaction
| Component | Tokens per LLM call | Calls per interaction | Total tokens |
|---|---|---|---|
| System prompt | 1,500 | 5 | — |
| Retrieved KB context | 3,000 | — | |
| Customer messages | 500 | — | |
| Prior conversation history | 1,000 | — | |
| Input subtotal | 6,000 | 30,000 in | |
| AI response (output) | 400 | 5 | 2,000 out |
| Cost line | Rate (2026 mid-tier) | Per interaction |
|---|---|---|
| Input | $3 / 1M tokens | 30,000/1M × $3 = $0.09 |
| Output | $15 / 1M tokens | 2,000/1M × $15 = $0.03 |
| Total inference / interaction | — | $0.12 |
Compare to a human agent. Fully loaded human cost is typically $30–$60/hr in developed economies. At 4-minute AHT, human cost per interaction is $2–$4. The AI is 15–30× cheaper per interaction on inference alone.
F.4 Model Routing and Caching as Cost-Optimization Levers
| Lever | Mechanism | Typical impact |
|---|---|---|
| Model routing | A lightweight classifier evaluates each incoming request and routes to the smallest capable model. 60–70% of turns handled by a small model at ~1/10 the per-token cost of the flagship. | 40–60% cost reduction at similar or better quality. Modern MLOps platforms (LiteLLM Router, Portkey, Requesty, and vendor-native routing in Agentforce, Vertex AI, Bedrock) implement out of the box. |
| Prompt / context caching | Providers offer discounted rates (~90% off) for tokens semantically identical to a previous call within a short window. On a 30K-input-token interaction where 25K is cached (system prompt + KB + long history), input cost drops from $0.09 to ~$0.02. | ~78% reduction on the input side. Supported by Anthropic, OpenAI, Google, with variations in eviction policy and pricing. |
Final note on inference economics. Model prices have dropped by roughly 10× per capability tier every 18 months since 2023. Any TCO model built on 2025 pricing will be conservative by 2027. The direction is toward a world where inference cost is a footnote rather than a headline in the operational P&L.
F.5 The Containment Math
Once AI is in production, the single most important operational metric is containment rate. The math is not just "AI containment goes up, human workload goes down." It is more subtle.
| Step | Interactions | Read |
|---|---|---|
| Baseline (all humans) | 100,000/month | Pre-AI operation. |
| AI attempts | 70,000 | The routine ones. 30,000 are known-complex and bypass the AI. |
| AI contains | 42,000 (60% of 70K) | — |
| AI escalates | 28,000 | To human. |
| Bypass (never see AI) | 30,000 | — |
| Human workload post-AI | 58,000 | Down 42% from baseline — the naive number. |
The trap
The 58,000 interactions humans now handle are, on average, harder than the average pre-AI interaction — because the AI took the easy ones. Residual AHT is typically 30–70% higher than pre-AI baseline.
| Handle-time view | Calculation | Result |
|---|---|---|
| Pre-AI total human handle time | 100,000 × 240 s | 24,000,000 s |
| Post-AI residual AHT | ~340 s (from 240 s baseline) | — |
| Post-AI total human handle time | 58,000 × 340 s | 19,720,000 s |
| Honest reduction | (24M − 19.7M) / 24M | ~18% (not 42%) |
That is the honest number, and it is still meaningful — an 18% reduction in human handle time is worth pursuing. But it is not the 42% headline a naive containment metric would suggest. Plan the workforce transition, and the business case, against the honest number.
F.6 Blended Cost per Contact
| Segment | Volume | Cost / contact | Total |
|---|---|---|---|
| AI-contained | 42,000 | $0.30 (inference + platform) | $12,600 |
| Human-handled residual | 58,000 | $6.00 (higher-complexity workload) | $348,000 |
| Total | 100,000 | — | $360,600 |
| Blended cost per contact | — | $3.60 | — |
| Pre-AI baseline | 100,000 | $4.50 | $450,000 |
| Reduction | — | −20% | — |
Second-order effects. Handling 20% more volume at the same total cost lets you either invest capacity in growth or return it as pure cost savings. Which choice is a strategic decision.
Third-order effects. As containment improves — through the tuning work of CX Optimization Specialists (Chapter 11) — blended cost per contact continues to drop. A move from 60% AI containment (on attempted interactions) to 75% takes the operation from $3.60 to roughly $2.80, without any headcount change. That is why the optimization phase (months 12–36 of the implementation calendar in Chapter 12) matters as much as it does. The initial deployment gets you the first 20% of the improvement. The optimization gets you the next 40%.
How to use this appendix
Reach for F.1 whenever a workforce plan lands on your desk. Reach for F.3 and F.4 when reviewing an AI vendor's pricing model — the naive calculation almost always overstates the winnings. And reach for F.5 and F.6 whenever a business case cites a headline containment figure without adjusting for the residual complexity effect. Any of these can be sketched on a whiteboard in fifteen minutes; that ability is often the difference between a program that survives its second budget review and one that does not.