Files
Robert Helewka e88449d15a Migrate Genesys CX Cloud TEI study to the pattern; retire Streamlit app
studies/202512_GenesysCX -> studies/202512_TEI_Genesys_CX_Cloud,
rebuilt as pattern Variant 4 (TEI composite reproduction):

- teicalc/ self-contained engine: Forrester's tables as the never-edited
  verbatim anchor (incl. the p.14 typo note and the $0 AI-token line),
  generic model/scenarios/staging carried over from the Amazon Connect
  study, ClientDrivers overlay (agents / weekly interactions / revenue,
  flat composite so no growth re-base) with ai_tokens_annual as a direct
  input for the token line the published study models at $0
- one deliverable notebook (business_case.ipynb): widget-pair sidebar
  drivers incl. the AI-token price, published-vs-overlay KPI columns,
  cash-flow/waterfall/scenario charts, verification gate, backstage JSON
  data appendix
- gate + tests reproduce the published totals within $2: NPV $10.8M /
  ROI 266% (engine $10,783,466 / 265.79%; payback 3.3 months, not
  headlined in the PDF); 29 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,
  PALLADIUM_GENESYSCX_* keys, ATHENA_EXPECTED reconciliation) deleted;
  git history preserves it

With the last legacy study migrated, the retirement lands too:
- app/ (Streamlit UI) and core/notebook_helpers deleted; nothing else
  imported them
- streamlit stripped from pyproject extras, requirements.txt, Makefile;
  .env.example reduced to the Athena keys; 00_setup.ipynb and
  core/bootstrap.py repointed at the pattern studies
- root README reworked: self-contained studies + slim core/ Athena
  toolkit (tei_client, calculations, export, cli)

All suites green: Genesys 29, Amazon Connect 27, CTM 55, template 7,
root 58.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 16:38:51 -04:00

4.9 KiB
Raw Permalink Blame History

202512 — Genesys CX Cloud TEI

Self-contained reproduction of Forrester's The Total Economic Impact™ Of CX Cloud — Cost Savings And Business Benefits Enabled By Genesys And Salesforce (December 2025, commissioned by Genesys and Salesforce), built on the Mercury Notebook Deliverable Pattern as Variant 4 — TEI composite reproduction: Forrester's composite organization is the never-edited verbatim anchor, the in-notebook gate proves the engine reproduces the published totals, and 🟡 client drivers rescale the composite live.

Source

The full Forrester study is at docs/The-Total-Economic-Impact-Of-CX-Cloud.pdf; docs/Genesys-Token-Metering.md covers the AI Experience token pricing the study omits.

Published composite totals (3-yr risk-adjusted PV @ 10%), reproduced by teicalc to within $2:

Metric Published Engine
Benefits PV $14,840,638 $14,840,637
Costs PV $4,057,170 $4,057,170
NPV $10,783,468 $10,783,466
ROI 266% 265.79%
Payback not headlined 3.3 months

Composite organization (the verbatim anchor 🟢)

  • Global supply company, $2.5B revenue, 10,000 employees
  • 600 CX agents (400 concurrent licenses)
  • 80,000 weekly interactions @ 12 minutes
  • Self-service completion 15% → 25%

The $0 AI line (🔴)

The published study models zero Genesys AI Experience token consumption, even though the self-service (B), agent-efficiency (C), and agent-assist (D) benefits all depend on token-billed AI capabilities. The anchor keeps the $0 verbatim so the reproduction matches the PDF; the notebook exposes ai_tokens_annual as a direct 🔴 sidebar input — price it from the Genesys quote and the case re-derives live. (This critique is what grew into the CTM token-calculator engagement, ../202607_CTM_GenesysCX/.)

Client overlay (🟡)

A first-order linear rescale — "the composite at your size", not "your TEI". The composite's trajectory is flat (Y2 = Y3), so there is no growth re-base:

Row Driver Confidence
Legacy retirement · CX Cloud licenses agents 🟡
Self-service savings · agent efficiency interactions 🟡
Agent-assist sales revenue 🟡
Implementation · ongoing management fixed 🟡 project-based
Genesys AI tokens direct $/yr input 🔴 $0 until quoted

Study quirks (documented in the anchor, verbatim)

  • p.14 prints the implementation initial as $1,304,600; the correct figure is $1,309,000 (= 1,190,000 × 1.10) per the detail table and cash-flow analysis.
  • B7's printed formula cites B2 (15%) where the 12-minute interaction length is meant; the result (40 FTEs) is correct.

Layout

202512_TEI_Genesys_CX_Cloud/
├── teicalc/               ← ALL math (stdlib-only) — notebooks hold none
│   ├── anchor.py          ← Forrester's tables, VERBATIM, never edited
│   ├── model.py           ← NPV/ROI/payback, risk adjustment, compute_summary
│   ├── overlay.py         ← ClientDrivers + driver map + the AI-token input
│   ├── scenarios.py       ← conservative / moderate / aggressive
│   └── staging.py         ← on_stage()/backstage() (Mercury vs nbconvert)
├── notebooks/business_case.ipynb   ← THE deliverable
├── scripts/export_report.py
├── tests/                 ← hand-checked pinned acceptance numbers
├── config.toml            ← Mercury theme (NTT DATA brand)
├── pyproject.toml         ← full toolchain as core deps — no requirements.txt
├── docs/                  ← the Forrester PDF + token-metering notes
└── exports/               ← generated .html/.md; gitignored

Run

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
Task Command
Tests pytest
Serve (the stage) mercury --working-dir notebooks/ (run from this project root so config.toml loads)
Analyst view (backstage) jupyter lab
Headless check jupyter nbconvert --to notebook --execute --inplace notebooks/business_case.ipynb
Export for LLMs python scripts/export_report.py

The data appendix (markdown tables + JSON model state) rides inside exports/business_case.md — the payload for the Athena study-repository roadmap.

History

This study previously ran on the shared core/ package with an Athena-workflow notebook chain (provision → push → calculate) and study-scoped PALLADIUM_GENESYSCX_* env keys. That workflow — including the ATHENA_EXPECTED reconciliation for Athena's discount-initial-as- Year-1 convention — was retired when the study migrated to the pattern (git history preserves it); the engine reproduces the published totals locally under Forrester's own conventions, pinned in tests/.