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:
@@ -15,7 +15,7 @@ agent building or modifying a study. Rules are imperative (MUST/SHOULD/NEVER), e
|
||||
with a one-line *why*. Long code lives in the runnable template
|
||||
[`template/MercuryNotebook/`](../template/MercuryNotebook/) — copy it to start a study;
|
||||
snippets here are excerpts from it. The full-scale reference implementation is the CTM
|
||||
Genesys study, [`studies/202512_GenesysCX/ctm-token-calculator/`](../studies/202512_GenesysCX/ctm-token-calculator/).
|
||||
Genesys study, [`studies/202607_CTM_GenesysCX/`](../studies/202607_CTM_GenesysCX/).
|
||||
|
||||
---
|
||||
|
||||
@@ -58,13 +58,11 @@ palladium/
|
||||
│ └── MercuryNotebook/ # copy-me starting point (runnable)
|
||||
└── studies/
|
||||
├── YYYYMM_TEI_Vendor_Product/ # vendor TEI study, e.g. 202602_TEI_Amazon_Connect
|
||||
└── YYYYMM_Client_EngagementName/ # client study, e.g. 202512_CTM_GenesysCX
|
||||
└── YYYYMM_Client_EngagementName/ # client study, e.g. 202607_CTM_GenesysCX
|
||||
```
|
||||
|
||||
- Names MUST use **underscores, never dashes** — dashed directories can't be Python
|
||||
packages, and everything in a study is importable code.
|
||||
*(The CTM study's inner `ctm-token-calculator/` predates this rule; it gets renamed
|
||||
when the studies migrate.)*
|
||||
- Every study is self-contained with this layout (from the template):
|
||||
|
||||
```
|
||||
@@ -238,7 +236,7 @@ Each section heading carries `<a id="section-N"></a>`; a sidebar table of conten
|
||||
**onclick-JS** navigation (fragment `href`s don't scroll in Mercury's SPA, and
|
||||
python-markdown escapes any raw `<` inside handler attributes — keep handlers
|
||||
comparison-free). Recipe: the ToC cell in
|
||||
[`studies/202512_GenesysCX/ctm-token-calculator/notebooks/ctm_business_case_corrected.ipynb`](../studies/202512_GenesysCX/ctm-token-calculator/notebooks/ctm_business_case_corrected.ipynb).
|
||||
[`studies/202607_CTM_GenesysCX/notebooks/ctm_business_case_corrected.ipynb`](../studies/202607_CTM_GenesysCX/notebooks/ctm_business_case_corrected.ipynb).
|
||||
|
||||
---
|
||||
|
||||
@@ -263,7 +261,7 @@ def anchor(key):
|
||||
overlays are auditable; corrections made by editing the source are arguments. Show a
|
||||
**vendor/deck-frame KPI column beside the contracted column** so the walk from the
|
||||
pitch to reality stays explicit. Reference: `TCO_VERBATIM`/`TCO_CONTRACTED`/`tco()` in
|
||||
[`studies/202512_GenesysCX/ctm-token-calculator/tokencalc/appendix4.py`](../studies/202512_GenesysCX/ctm-token-calculator/tokencalc/appendix4.py).
|
||||
[`studies/202607_CTM_GenesysCX/tokencalc/appendix4.py`](../studies/202607_CTM_GenesysCX/tokencalc/appendix4.py).
|
||||
|
||||
### Baseline-relative case frame
|
||||
|
||||
@@ -316,28 +314,31 @@ Keep the vendor's claimed benefits **verbatim**, add the costs the pitch omitted
|
||||
(consumption meters, implementation labour, double-billing), and bill contract
|
||||
mechanics as signed (ramp, milestones, managed services). The headline is the walk:
|
||||
*as-pitched → corrected*. Reference:
|
||||
[`notebooks/ctm_business_case_corrected.ipynb`](../studies/202512_GenesysCX/ctm-token-calculator/notebooks/ctm_business_case_corrected.ipynb).
|
||||
[`notebooks/ctm_business_case_corrected.ipynb`](../studies/202607_CTM_GenesysCX/notebooks/ctm_business_case_corrected.ipynb).
|
||||
|
||||
### Variant 2 — Scenario notebook on a thin module
|
||||
|
||||
A second question over the same engine (e.g. "migration + WFM only, no AI") gets a
|
||||
**thin scenario module** that scopes and extrapolates but duplicates nothing, plus its
|
||||
own notebook and test pins. Reference: `tokencalc/migration_wfm.py` +
|
||||
[`notebooks/ctm_migration_wfm.ipynb`](../studies/202512_GenesysCX/ctm-token-calculator/notebooks/ctm_migration_wfm.ipynb).
|
||||
[`notebooks/ctm_migration_wfm.ipynb`](../studies/202607_CTM_GenesysCX/notebooks/ctm_migration_wfm.ipynb).
|
||||
|
||||
### Variant 3 — Exploratory calculator
|
||||
|
||||
Early-phase what-if surface: scenario selectors, tornado/break-even sweeps, no
|
||||
contract anchoring yet. Still engine-backed and gate-checked; it graduates into
|
||||
Variant 1 as facts arrive. Reference:
|
||||
[`notebooks/ctm_token_calculator.ipynb`](../studies/202512_GenesysCX/ctm-token-calculator/notebooks/ctm_token_calculator.ipynb).
|
||||
[`notebooks/ctm_token_calculator.ipynb`](../studies/202607_CTM_GenesysCX/notebooks/ctm_token_calculator.ipynb).
|
||||
|
||||
### Variant 4 — TEI composite reproduction
|
||||
|
||||
Reproduce a published TEI study's composite organization as the verbatim anchor
|
||||
(`ANCHOR_VERBATIM` = Forrester's tables), verify the reproduction against the published
|
||||
ROI/NPV/payback in the gate, then personalize with client inputs as the overlay. This
|
||||
is the target shape for `studies/202602_AmazonConnect/` when it migrates off Streamlit.
|
||||
is realized by [`studies/202602_TEI_Amazon_Connect/`](../studies/202602_TEI_Amazon_Connect/)
|
||||
(package `teicalc`): Forrester's Amazon Connect composite as the anchor, the gate pinning
|
||||
the published $78.7M NPV / 342% ROI / <6-month payback, and a client-driver overlay
|
||||
(agents / contacts / growth) that is the identity at composite scale.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user