- 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
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
"""
|
|
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")
|