Appendix F — CX Math and Operational Models

Appendix F from The AI Contact Center Handbook by Sho Shimoda. Available on Amazon.

The Toolkit — Appendices · ← Index · A · Glossary · B · Checklists · C · Compliance · D · MCP · E · Vendors · F · Math

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).

StepCalculationResult
1. Offered load(300/3600) × 24020 Erlangs
2. Try N = 24 agentsP(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 agentsP(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.

Notice the curve. Going from 24 (63% SL) to 27 (88% SL) is only three more agents — 12.5% more headcount — but a 25-point service-level improvement. Going from 27 to 30 would add another 12% headcount for a much smaller gain. This is why workforce planners spend so much time on the exact right number: the marginal returns on adding agents are nonlinear.

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 factorEffective load per agent vs. voice-equivalentNote
1 (voice)1.0×Baseline.
2 chats~1.5×Context-switching costs ~25% of the theoretical gain.
3 chats~2.1×
>3 chatsDiminishing / degradingQuality 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

ComponentTokens per LLM callCalls per interactionTotal tokens
System prompt1,5005
Retrieved KB context3,000
Customer messages500
Prior conversation history1,000
Input subtotal6,00030,000 in
AI response (output)40052,000 out
Cost lineRate (2026 mid-tier)Per interaction
Input$3 / 1M tokens30,000/1M × $3 = $0.09
Output$15 / 1M tokens2,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.

But the fully loaded calculation is not that simple. Add: agentic platform per-seat or per-interaction pricing, retrieval infrastructure (vector DB, embeddings), the human agent handling escalations, and engineering effort to build/tune/maintain. Fully loaded, the AI advantage is more like 3–8× cheaper per contained interaction. Still substantial. Still enough to fundamentally change the economics.

F.4 Model Routing and Caching as Cost-Optimization Levers

LeverMechanismTypical impact
Model routingA 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 cachingProviders 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.
The compound effect. A well-architected agentic operation using both model routing and prompt caching typically runs at 50–70% of the cost of a naive implementation. At scale, this is the difference between an AI program that produces positive ROI and one that does not.

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.

StepInteractionsRead
Baseline (all humans)100,000/monthPre-AI operation.
AI attempts70,000The routine ones. 30,000 are known-complex and bypass the AI.
AI contains42,000 (60% of 70K)
AI escalates28,000To human.
Bypass (never see AI)30,000
Human workload post-AI58,000Down 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 viewCalculationResult
Pre-AI total human handle time100,000 × 240 s24,000,000 s
Post-AI residual AHT~340 s (from 240 s baseline)
Post-AI total human handle time58,000 × 340 s19,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

SegmentVolumeCost / contactTotal
AI-contained42,000$0.30 (inference + platform)$12,600
Human-handled residual58,000$6.00 (higher-complexity workload)$348,000
Total100,000$360,600
Blended cost per contact$3.60
Pre-AI baseline100,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%.

One-line takeaway. Six pieces of math — Erlang C, Erlang O, inference economics, routing/caching, containment arithmetic, blended cost per contact — are enough to check whether any AI-in-CX business case is grounded or fictional.

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.

The Toolkit — Appendices · ← Index · A · Glossary · B · Checklists · C · Compliance · D · MCP · E · Vendors · F · Math

Published on: 2026-08-09

Questions & answers

Have a question about this topic? Ask below — no sign-up needed. The team reviews and answers questions here.

No questions yet — be the first to ask.

Ask a question

We’ll send a one-time email to confirm your address. Questions appear after a quick review.