CX Discovery Notebook

This commit is contained in:
2026-07-23 12:04:37 -04:00
parent cbbc9ba839
commit 71b913d7fe
45 changed files with 23170 additions and 1830 deletions

View File

@@ -0,0 +1,62 @@
# CX AI Advisory Diagnostic — contact-center industry overlay.
#
# Value-driver ranges are 🟡 placeholder benchmarks pending citation work
# (see docs/build_spec_v1.md §12): before running with a real client, back
# each range with public sources or "based on N engagements" framing.
# `value_formula` strings are documentation of the math implemented in
# diaglib/value_math.py (dispatched on `kind`) — they are carried into
# exports verbatim, not evaluated.
extends: base
industry: contact_center
display_name: "Contact Center"
value_drivers:
- id: deflection_lift
name: "Deflection / containment improvement"
kind: containment_lift
baseline_field: current_containment_rate
lift_range_pts_low: 0.15
lift_range_pts_high: 0.35
value_formula: "annual_contact_volume * lift_pts * blended_cost_per_contact"
source: "Public benchmarks; virtual agent maturity studies" # 🟡 placeholder
- id: aht_reduction
name: "Average handle time reduction"
kind: aht_reduction
baseline_field: average_handle_time_seconds
reduction_pct_low: 0.15
reduction_pct_high: 0.25
value_formula: "annual_contact_volume * (baseline_seconds * reduction_pct) * (blended_cost_per_contact / baseline_seconds)"
source: "Agent assist / copilot case data" # 🟡 placeholder
- id: attrition_reduction
name: "Attrition reduction"
kind: attrition_reduction
baseline_field: annual_attrition_rate
reduction_pct_low: 0.10
reduction_pct_high: 0.20
cost_per_replacement_default: 15000 # 🟡 industry-tunable per engagement
value_formula: "agent_headcount * (annual_attrition_rate * reduction_pct) * cost_per_replacement"
source: "Job quality / copilot studies" # 🟡 placeholder
# ── Unlock costs ───────────────────────────────────────────────────────
# Rough cost/time ranges per one-level lift, per foundational competency.
# 🟡 estimates — sparse is OK for MVP; a missing lift renders as
# "cost not configured" in the unlock sequence rather than a guess.
unlock_costs:
data_readiness:
lift_1_to_2: {cost_low: 150000, cost_high: 300000, weeks: 8}
lift_2_to_3: {cost_low: 300000, cost_high: 600000, weeks: 12}
lift_3_to_4: {cost_low: 400000, cost_high: 800000, weeks: 16}
lift_4_to_5: {cost_low: 500000, cost_high: 1000000, weeks: 20}
process_discovery:
lift_1_to_2: {cost_low: 80000, cost_high: 160000, weeks: 6}
lift_2_to_3: {cost_low: 120000, cost_high: 250000, weeks: 8}
lift_3_to_4: {cost_low: 150000, cost_high: 300000, weeks: 10}
lift_4_to_5: {cost_low: 200000, cost_high: 400000, weeks: 12}
technical_architecture:
lift_1_to_2: {cost_low: 100000, cost_high: 200000, weeks: 8}
lift_2_to_3: {cost_low: 200000, cost_high: 400000, weeks: 10}
lift_3_to_4: {cost_low: 250000, cost_high: 500000, weeks: 12}
lift_4_to_5: {cost_low: 350000, cost_high: 700000, weeks: 16}