feat: add GenesysCX study and fix Streamlit chart key collisions
- Add 202512_GenesysCX TEI study (config, seed data, notebooks, README) with NPV $10.8M / ROI 266% including AI-token cost line - Add explicit `key` parameter to all chart wrappers in app/components to prevent StreamlitDuplicateElementId errors when the same figure type renders across Summary/Benefits/Costs tabs - Render benefits bar and cost pie charts on their respective tabs - Add benefits_vs_costs_by_year chart wrapper
This commit is contained in:
38
studies/202512_GenesysCX/config.py
Normal file
38
studies/202512_GenesysCX/config.py
Normal file
@@ -0,0 +1,38 @@
|
||||
"""
|
||||
Study configuration for the Genesys CX Cloud TEI (Forrester, December 2025).
|
||||
|
||||
Env keys are *study-scoped* (PALLADIUM_GENESYSCX_*) so this study can coexist
|
||||
with the Amazon Connect tool IDs in the same .env. 00_provision.ipynb writes
|
||||
them for you.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
|
||||
#: Human-friendly study identifier — used in export metadata + filenames.
|
||||
STUDY_SLUG = "202512_GenesysCX"
|
||||
|
||||
|
||||
def _int_env(name: str) -> int | None:
|
||||
raw = os.getenv(name, "").strip()
|
||||
return int(raw) if raw else None
|
||||
|
||||
|
||||
#: TEI Report template public_id (12-char short UUID).
|
||||
REPORT_PUBLIC_ID: str = os.getenv("PALLADIUM_GENESYSCX_REPORT_PUBLIC_ID", "")
|
||||
|
||||
#: TEI Tool instance public_id.
|
||||
TOOL_PUBLIC_ID: str = os.getenv("PALLADIUM_GENESYSCX_TOOL_PUBLIC_ID", "")
|
||||
|
||||
#: Default discount rate used for local validation of the study numbers.
|
||||
DISCOUNT_RATE = 0.10
|
||||
|
||||
#: Analysis horizon (years).
|
||||
ANALYSIS_YEARS = 3
|
||||
|
||||
#: Athena Proposal PK (a TEI tool attaches to a Proposal OR an Engagement).
|
||||
PROPOSAL_ID: int | None = _int_env("PALLADIUM_GENESYSCX_PROPOSAL_ID")
|
||||
|
||||
#: Athena Engagement PK (alternative attachment point).
|
||||
ENGAGEMENT_ID: int | None = _int_env("PALLADIUM_GENESYSCX_ENGAGEMENT_ID")
|
||||
Reference in New Issue
Block a user