Migrate Amazon Connect TEI study to the Mercury Notebook Pattern
studies/202602_AmazonConnect -> studies/202602_TEI_Amazon_Connect, rebuilt as pattern Variant 4 (TEI composite reproduction): - teicalc/ self-contained engine (stdlib-only): Forrester's tables as the never-edited verbatim anchor, NPV/ROI/payback + risk adjustment transplanted from core/calculations, ClientDrivers overlay (contacts/ agents/fixed driver map, growth re-base, identity at composite scale), scenario stress with core-identical semantics - one deliverable notebook (business_case.ipynb): widget-pair sidebar drivers, published-vs-overlay KPI columns, cash-flow/waterfall/scenario charts, verification gate, backstage JSON data appendix - gate + tests reproduce the published totals within PDF rounding: NPV $78.7M / ROI 342% / payback <6 months (engine $78,713,492 / 342.48% / 0.7 months); 27 study tests, headless nbconvert green, stage simulation leak-free, exports carry the appendix - old Athena workflow (00_provision..04_export, config.py, seed_data.py) deleted; git history preserves it; root test fixture repointed to teicalc.anchor - docs: study README rewritten; root README points new studies at template/MercuryNotebook; pattern doc stale ctm-token-calculator paths now cite studies/202607_CTM_GenesysCX; Variant 4 cites this study as its realized reference Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
167
studies/202602_TEI_Amazon_Connect/teicalc/anchor.py
Normal file
167
studies/202602_TEI_Amazon_Connect/teicalc/anchor.py
Normal file
@@ -0,0 +1,167 @@
|
||||
"""
|
||||
The verbatim anchor — Forrester *Total Economic Impact™ Of Amazon Connect*
|
||||
(February 2026, commissioned by AWS).
|
||||
|
||||
VERBATIM, do not edit. These are Forrester's published composite-organization
|
||||
tables and financial summary, transplanted unchanged from the study PDF
|
||||
(``docs/202602_TEI Report Amazon Connect.pdf``). Client personalization
|
||||
lives in :mod:`teicalc.overlay`; scenario stress lives in
|
||||
:mod:`teicalc.scenarios` — both deep-copy, neither mutates this record.
|
||||
|
||||
Rows keep Forrester's own year-index keys (``"1"``/``"2"``/``"3"``);
|
||||
:mod:`teicalc.model` maps them to calendar years (2026–2028). Values are
|
||||
*nominal* (pre-risk-adjustment); the risk factor is stored per row and
|
||||
applied by the model (benefits ×(1−rf), costs ×(1+rf), per the TEI
|
||||
methodology).
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
#: 3-year nominal benefit cashflows — 🟢 published.
|
||||
BENEFITS_VERBATIM: list[dict] = [
|
||||
{
|
||||
"field_key": "ai_contact_resolution",
|
||||
"table": "benefits",
|
||||
"label": "AI-driven contact resolution efficiency",
|
||||
"category": "Productivity",
|
||||
"year_values": {"1": 13_911_040, "2": 23_932_480, "3": 37_797_760},
|
||||
"risk_adjustment": 0.15,
|
||||
"notes": (
|
||||
"PDF Section At/Atr. Composite: 20M annual contacts, 30% YoY "
|
||||
"growth, 75% calls, 10-min AHT with legacy. Connect drops AHT "
|
||||
"12% Y1 and shifts traffic to chat/self-service. 80% "
|
||||
"productivity recapture. Risk adj 15% (legacy performance, "
|
||||
"implementation depth, integration scope, growth)."
|
||||
),
|
||||
},
|
||||
{
|
||||
"field_key": "ai_content_sentiment",
|
||||
"table": "benefits",
|
||||
"label": "AI-powered content and sentiment analysis savings",
|
||||
"category": "Productivity",
|
||||
"year_values": {"1": 4_586_620, "2": 5_358_412, "3": 6_291_680},
|
||||
"risk_adjustment": 0.15,
|
||||
"notes": (
|
||||
"PDF Section Bt/Btr. Auto post-contact summaries reclaim ~60s "
|
||||
"per call; QA scaled from 1–3% to 100%; supervisors freed from "
|
||||
"manual review. Risk adj 15%."
|
||||
),
|
||||
},
|
||||
{
|
||||
"field_key": "ai_forecasting_supervision",
|
||||
"table": "benefits",
|
||||
"label": "AI-enabled forecasting, agent scheduling, and supervision",
|
||||
"category": "Productivity",
|
||||
"year_values": {"1": 6_651_680, "2": 9_133_760, "3": 12_391_712},
|
||||
"risk_adjustment": 0.15,
|
||||
"notes": (
|
||||
"PDF Section Ct/Ctr. ML-WFM yields 5% agent FTE optimization "
|
||||
"and supervisors managing 20% more agents (10→12). 80% "
|
||||
"productivity recapture. Risk adj 15%."
|
||||
),
|
||||
},
|
||||
{
|
||||
"field_key": "data_driven_profit_lift",
|
||||
"table": "benefits",
|
||||
"label": "Data-driven profit lift with increased conversion",
|
||||
"category": "Revenue",
|
||||
"year_values": {"1": 1_200_000, "2": 1_560_000, "3": 2_028_000},
|
||||
"risk_adjustment": 0.20,
|
||||
"notes": (
|
||||
"PDF Section Dt/Dtr. Composite revenue $10B Y1 (+30% YoY); "
|
||||
"5% from outbound contact-center marketing; conversion lifts "
|
||||
"from 10% to 12% (+20% relative); 12% operating margin. "
|
||||
"Risk adj 20%."
|
||||
),
|
||||
},
|
||||
{
|
||||
"field_key": "legacy_solution_savings",
|
||||
"table": "benefits",
|
||||
"label": "Legacy solution cost savings",
|
||||
"category": "Cost Savings",
|
||||
"year_values": {"1": 6_177_600, "2": 8_030_880, "3": 10_440_144},
|
||||
"risk_adjustment": 0.20,
|
||||
"notes": (
|
||||
"PDF Section Et/Etr. Avg legacy license $180/agent-month × "
|
||||
"(agents+supervisors) × 12, plus 30% overhead for infra & "
|
||||
"third-party tools. Risk adj 20%."
|
||||
),
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
#: Costs include an ``initial`` (year-0, undiscounted) component for
|
||||
#: implementation. Cost risk adjustments are applied *upward*. 🟢 published.
|
||||
COSTS_VERBATIM: list[dict] = [
|
||||
{
|
||||
"field_key": "amazon_connect_usage",
|
||||
"table": "costs",
|
||||
"label": "Amazon Connect usage cost",
|
||||
"category": "Subscription",
|
||||
"initial": 0,
|
||||
"year_values": {"1": 6_456_448, "2": 7_951_164, "3": 9_832_961},
|
||||
"risk_adjustment": 0.05,
|
||||
"notes": (
|
||||
"PDF Section Ft/Ftr. Telephony $0.0106/min + Unlimited AI "
|
||||
"$0.0380/min on minutes that reach an agent, plus chat at "
|
||||
"$0.0100/message (10 messages/chat). Risk adj 5%."
|
||||
),
|
||||
},
|
||||
{
|
||||
"field_key": "implementation_migration",
|
||||
"table": "costs",
|
||||
"label": "Implementation and migration cost",
|
||||
"category": "Implementation",
|
||||
"initial": 1_087_500,
|
||||
"year_values": {"1": 188_333, "2": 188_333, "3": 0},
|
||||
"risk_adjustment": 0.10,
|
||||
"notes": (
|
||||
"PDF Section Gt/Gtr. 6-month initial migration: 5 internal "
|
||||
"FTE @ $115k + $800k pro-services. Y1/Y2 M&A integrations: 2 "
|
||||
"months × 2 FTE + $150k pro-services. Risk adj 10%."
|
||||
),
|
||||
},
|
||||
{
|
||||
"field_key": "ongoing_management",
|
||||
"table": "costs",
|
||||
"label": "Ongoing management",
|
||||
"category": "Operations",
|
||||
"initial": 0,
|
||||
"year_values": {"1": 256_200, "2": 187_200, "3": 187_200},
|
||||
"risk_adjustment": 0.15,
|
||||
"notes": (
|
||||
"PDF Section Ht/Htr. Y1: 5 IT/PM @ 30% × $115k + 5 business "
|
||||
"users @ 30% × $55,800. Y2/Y3: 3 IT/PM @ 30% + 5 business "
|
||||
"users @ 30%. Risk adj 15%."
|
||||
),
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
#: Composite-organization drivers — 🟢 published (PDF "Composite Organization").
|
||||
ASSUMPTIONS: dict = {
|
||||
"agents_fte": 2_000,
|
||||
"supervisors_fte": 200,
|
||||
"annual_contacts_y1": 20_000_000,
|
||||
"growth_rate": 0.30,
|
||||
"call_share": 0.75,
|
||||
"aht_legacy_minutes": 10,
|
||||
"agent_salary": 45_760,
|
||||
"supervisor_salary": 55_800,
|
||||
"discount_rate": 0.10,
|
||||
"analysis_years": 3,
|
||||
}
|
||||
|
||||
|
||||
#: The PDF's Financial Summary — the gate's reproduction target. 🟢 published.
|
||||
#: The engine reproduces these to within Forrester's own table rounding
|
||||
#: (benefits PV lands $223 low; costs PV $0.22 low).
|
||||
PUBLISHED: dict = {
|
||||
"benefits_pv": 101_696_791,
|
||||
"costs_pv": 22_983_076,
|
||||
"npv": 78_713_715,
|
||||
"roi_pct": 342,
|
||||
"payback_months_max": 6, # published as "<6 months"
|
||||
"discount_rate": 0.10,
|
||||
"analysis_years": 3,
|
||||
}
|
||||
Reference in New Issue
Block a user