Containment rate is not resolution and why most dashboards lie
Containment only matters when the customer intent is completed end-to-end. Most teams accidentally measure routing outcomes (did a human touch it) instead of customer outcomes (did the thing get done correctly). That mismatch is why “containment up” often coexists with CSAT down, recontact up, and a growing backlog in the back office.
Two fake wins show up in almost every containment dashboard:
- Deflection: the user stops replying, abandons the chat, or accepts a non-answer. Your dashboard counts “contained” because no transfer occurred. The customer counts it as “I gave up.”
- Shadow work: the bot ends the conversation, but a human fixes it later (refunds, address changes, dispute notes, CRM cleanup). The customer may or may not complain, but your operation just ate the cost somewhere else.
Operator standard: containment must be tied to intent completion, correctness, and measurable downstream signals. If the bot cannot take the action (reset the password, issue the refund, change the reservation, book the meeting), you do not have containment. You have a conversational front door.
This isn’t limited to support. The same measurement bug appears when:
- Recruiting celebrates “screen completed” while hiring managers reject candidates due to missing skill evidence.
- Sales celebrates “call completed” while pipeline quality drops because leads weren’t actually qualified.
PAA answer (40-60 words): What is a good containment rate?
A good containment rate is one that stays high after you verify resolution quality and recontact. In practice, “good” varies by intent mix, but you should only celebrate verified containment (resolved plus no recontact in a defined window) with stable or improved CSAT and no increase in downstream fixes.
A standardized containment rate framework you can deploy this quarter
Key Takeaway: Stop using one containment number. Use a taxonomy that separates “no transfer” from “successful resolution,” then enforce time windows and recontact rules. This is how you prevent teams from optimizing for silence instead of outcomes.
1) Gross containment (what most vendors report)
Formula:
Gross containment rate = (# conversations with no human transfer) / (total conversations)
Failure mode: rewards deflection. If the customer abandons agent assist software or gets a wrong answer but never reaches an agent, gross containment rises.
2) Net (successful) containment
Formula:
Net containment rate = (# conversations with no transfer AND intent resolved) / (total conversations)
The word “resolved” needs a resolution signal. Examples:
- Support: ticket closed with correct disposition, refund issued, order address updated
- Sales: meeting booked, CRM stage advanced, qualified status set
- Recruiting: interview completed, scorecard generated, next-step scheduled
3) Verified containment (resolution that sticks)
Formula:
Verified containment rate = (# net-contained conversations with no recontact within X) / (total conversations)
Recommended default recontact windows (pick one, then standardize it):
- Password reset: 24 hours (recontacts are usually immediate if it failed)
- Billing and shipping support: 72 hours (gives time for systems to update)
- Regulated disputes or chargebacks: 7 days (long-tail follow-ups are normal)
- Recruiting screen “equivalent recontact”: 30 days (candidate follow-up, reschedule, clarification)
- Sales qualification: 14 days (lead re-engagement cycles are longer)
4) Quality-adjusted containment (the metric that stops gaming)
Quality-adjusted containment rate = Verified containment, weighted by correctness and experience.
At a glance, you weight each verified-contained interaction by:
- Correctness: was the action right (policy compliant, accurate, no reversal)
- CSAT delta: did satisfaction hold or improve vs baseline for that intent
You do not need a complex model to start. A practical approach is a 3-bucket weighting:
- 1.0 = verified contained + positive or neutral CSAT + no reversal
- 0.5 = verified contained + neutral CSAT but borderline confidence or partial resolution
- 0.0 = wrong action, policy violation, or customer recontacted for same intent
PAA answer (40-60 words): How do you calculate containment rate?
Containment rate is typically calculated as conversations resolved without a human transfer divided by total conversations (gross containment). For a usable metric, calculate net containment (no transfer plus resolved via a downstream signal) and verified containment (net containment plus no recontact within 24-72 hours for most support intents).
Pro-tip: publish all three in one chart. Gross is diagnostic. Verified is what you manage.
How to instrument containment so attribution is real not vibes
If you can’t link a conversation to an intent, an action, an outcome, and a recontact, you do not have a containment rate. You have a guess. Real containment requires attribution-grade instrumentation across channels and systems.
The minimum data model (engineering + ops checklist)
Required identifiers (store on every event):
- customer_id (or hashed stable identifier)
- conversation_id (thread across channel)
- session_id (single visit)
- channel (chat, voice, email)
- language, region
- intent_id, intent_confidence
- cohort flags: new vs returning, tier, accessibility needs
Required events (timestamped):
- entry_point (web, IVR, email reply, WhatsApp)
- intent_detected (with confidence and top alternatives)
- knowledge_retrieval (doc ids, freshness)
- action_attempted (system + action type)
- action_result (success, failure, reason)
- human_transfer (yes/no)
- transfer_reason (low confidence, policy risk, user request, sentiment)
- escalation_outcome (resolved by human, reopened, pending)
Resolution signals (pick the ones that prove “done”):
- Zendesk: ticket created, ticket closed, tags, CSAT
- Salesforce or HubSpot: lead stage advanced, meeting booked, task completed
- Core systems: password reset success, refund id created, shipment change confirmed (what is web grounding).
Recontact linkage rules (make them explicit)
Link any inbound within the time window back to the prior intent using:
- customer_id match
- intent similarity (same intent_id or high semantic similarity)
- recency (most recent unresolved intent wins)
If recontact cannot be linked, count it separately and fix identity resolution. Otherwise teams will “improve containment” by losing track of customers across channels.
Dashboard funnel that executives can’t misread
Build one funnel per major intent category:
- Entry
- Intent match rate
- Autonomous attempt
- Action success rate
- Gross contained
- Net contained
- Verified contained
- Recontact rate
- CSAT delta
Compliance note: in regulated environments, you need auditable logs of prompts, retrieval sources, actions taken, and escalation rationale. This is where call center regulations and telemarketing text messages rules collide with LLM behavior: “we think it said the right thing” is not a defensible posture.
PAA answer (40-60 words): What is a containment strategy?
A containment strategy is the plan to resolve a defined set of intents autonomously while escalating the rest safely. A real strategy includes per-intent eligibility, integrated actions (not just answers), guardrails (confidence and risk thresholds), and measurement using verified containment, CSAT delta, and recontact windows.
Pro-tip: if you’re only logging transcripts, you can’t prove correctness. Teammates.ai deployments treat system actions and outcomes as first-class events so “contained” means “done,” not “talked.”
How to instrument containment so attribution is real not vibes
Verified containment is a data problem, not a debate. If you cannot tie one conversation to an intent, a downstream system action, a transfer (or not), and any recontact inside a fixed window, your containment rate is storytelling. Instrumentation turns containment into an outcome metric you can audit.
The minimum data model (what we require before trusting the number)
You need stable identifiers and event-level logging. At a glance:

– Identifiers: customer_id, conversation_id, session_id, channel (chat/voice/email), language, region, tier, new_vs_returning, intent_id, intent_confidence
– Key events: entry_point, intent_detected, knowledge_retrieved, action_attempted, action_result, human_transfer, transfer_reason, escalation_outcome
– Resolution signals (domain-specific):
– Support: ticket_created, ticket_closed, refund_issued, address_updated, password_reset_completed
– Sales: meeting_booked, crm_stage_advanced, lead_disqualified_reason
– Recruiting: interview_completed, scorecard_saved, candidate_status_updated
Pro-Tip: Log “action_result” from the system of record (Zendesk, Salesforce, HubSpot), not from the LLM’s text. Text is not proof.
Recontact linkage rules that survive exec scrutiny
Recontact is where most “high containment” programs get exposed.
A practical linkage approach:
- Match on customer_id.
- Within window (24-72h support default), link the next inbound to the prior conversation.
- If you have intents, require intent similarity (same intent_id or high semantic match). If you do not, you will overcount recontact.
- Treat “new intent” separately. A billing dispute followed by a password reset should not invalidate containment.
A funnel dashboard that makes gaming obvious
Build a funnel that forces reality:
- Entry
- Intent matched (and confidence band)
- Autonomous attempt
- Action success (system-confirmed)
- Contained (no transfer)
- Verified contained (no recontact)
- CSAT delta (vs human baseline for that intent)
If step 6 drops hard while step 5 looks great, you are deflecting.
Compliance logging is not optional in regulated work
If you operate under call center regulations or you send telemarketing text messages, you need audit-grade logs: what data was accessed, what policy gates fired, what was said, and who approved escalation. Outcome metrics without governance create compliance debt.
Containment vs customer outcomes and the trade-off curve you must manage
Key Takeaway: Pushing gross containment up without guardrails reliably creates a dip in CSAT and a spike in recontact. The trade-off curve is real. The win is not “more automation,” it is “more correct resolution with fewer repeat contacts.”
A balanced scorecard we use (and recommend you adopt) includes:
- Verified containment (by intent)
- Recontact rate (within the defined window)
- CSAT/NPS delta vs baseline
- FCR (first contact resolution) by intent
- Effort (steps, turns, time)
- Escalation quality (was context preserved, did the human resolve faster)
- Compliance incidents and policy violations
Two segments that tell you the truth
When you segment by intent, two patterns show up fast:
- Good containment: high action success, positive or neutral CSAT delta, low recontact, low transfer for simple intents (order status, password reset, appointment reschedule).
- Deflection pain: high gross containment with negative CSAT delta, elevated abandon, sentiment drop, and recontact clustering (billing disputes, policy exceptions, edge-case troubleshooting).
Guardrails that stop “containment at any cost”
If you do nothing else, implement these controls:
- Max retry count (after 2-3 failed attempts, escalate)
- Sentiment triggers (frustration cues route to a human)
- Explicit “talk to a human” policy (no dark patterns)
- Accessibility routing (screen reader, hearing impairment, language support)
- High-risk intent auto-escalation (disputes, cancellations with penalties, regulated disclosures)
If you already run Voice of Customer Six Sigma, treat “deflection pain” as a VOC defect and run DMAIC per intent. The fix is usually workflow design and safe actions, not a different prompt.
Segmentation that exposes the truth and prevents unfair automation
A single containment rate hides failure modes. You need containment reporting by intent, channel, language, region, and customer cohort, or you will accidentally automate the easiest slice and punish everyone else.
Minimum segmentation cuts:
- Intent category (billing, account, troubleshooting, cancellations)
- Channel (chat vs voice vs email)
- Language (each language gets its own verified containment)
- Region and business unit
- Customer tier (SMB vs enterprise) and new vs returning
Why this matters in the LLM era: multilingual support is where “gross containment” looks strongest and “verified containment” often collapses. Translation can keep CSAT stable while correctness drops, because customers are being politely misunderstood.
Pro-Tip: Publish a “containment matrix” in exec reviews: intent x channel x language, with verified containment and CSAT delta. This makes underperforming cohorts visible and prevents unfair automation.
Internal link opportunity: this is where integrated omnichannel conversation routing and autonomous multilingual contact center design move from buzzwords to measurable control.
Why Teammates.ai turns containment into an outcome metric not a routing trick
Containment only counts when something real changes in your systems. That requires integrated actions, governed escalation, and auditability. Teammates.ai is built around that operating model, not around keeping a conversation away from a human.
Where this shows up in practice:
- Raya (autonomous support): resolves end-to-end across chat, voice, and email, then proves outcomes via integrated actions in systems like Zendesk and Salesforce. That is how you measure net and verified containment without guessing.
- Adam (autonomous sales): qualifies, handles objections, and books meetings, with CRM sync (HubSpot/Salesforce) so “contained” means stage movement, not “call completed.”
- Sara (autonomous recruiting): runs consistent interviews and scoring with recordings and audit trails, so “automation success” is tied to completed evaluation and downstream status updates.
Safety is not a feature, it is the containment engine. Policy constraints, secure integrations, and escalation with full context reduce hallucination risk and help you meet regulated logging expectations. If you are comparing this to agent assist, the difference is simple: agent assist improves humans; Teammates.ai resolves autonomously and escalates only when needed.
Your containment rate rollout plan for the next 30 days
You can fix containment measurement fast if you treat it like an ops rollout, not an analytics project.
- Week 1: Lock definitions (gross, net, verified, quality-adjusted). Assign default recontact windows per intent family (24-72h support, 7d disputes, 14d sales re-engagement, 30d recruiting follow-up).
- Week 2: Implement identifiers and event logging. Build the funnel dashboard. Validate recontact linkage rules with spot checks.
- Week 3: Baseline by segment. Pick top 10 intents by volume. Set per-intent target bands plus guardrails (retry limits, sentiment triggers, human request policy).
- Week 4: Ship workflow fixes and governance: escalation policies, compliance rules, and outcome-based QA that audits correctness, not tone.
Exec reporting rule: only present verified and quality-adjusted containment alongside recontact rate and CSAT delta. Gross containment belongs in a footnote.
Conclusion
Containment rate is a vanity metric until you quality-adjust it and verify outcomes. The definition that matters is not “no human transfer,” it is “intent resolved correctly, with no recontact inside a defined window, and with CSAT holding or improving.”
If you want higher containment without deflection, you need governed escalation, instrumented resolution signals, and integrated actions that are auditable. That is the operating model Teammates.ai is built for: autonomous agents that do real work in your systems, prove it, and escalate with full context when autonomy stops being safe.

