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>
This commit is contained in:
2026-07-09 16:38:51 -04:00
parent a420af230b
commit e88449d15a
54 changed files with 8462 additions and 6427 deletions

View File

@@ -0,0 +1,115 @@
# 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](../../docs/Mercury_Notebook_Pattern_V1-00.md)
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/The-Total-Economic-Impact-Of-CX-Cloud.pdf);
[`docs/Genesys-Token-Metering.md`](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
```bash
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/`.