Three audiences, three views, one data model
The same canonical entities power three role-specific dashboards. Customer Success watches renewals and health. Product Managers watch rework, WIP, and initiative burndowns. CFOs watch cost-per-output and four-quarter forecasts. No rebuild per audience — every dashboard reads the same 3NF model.
Customer Success dashboard
Admin-side view of every customer. Health composite, days-since-last-skill-run, renewal countdown, contract value, champion + stakeholder fields, next-recommended-action from a rule engine.
Customer record schema now carries stakeholder, champion, renewal_date, and contract_value_annual_eur as first-class fields — no spreadsheet shadow system.
Next-action rule engine fires deterministic recommendations: "schedule QBR — renewal in 45 days and last skill run was 22 days ago" or "investigate — health dropped two tiers in seven days."
Health composite blends usage breadth, recency, alert engagement, ETL success rate, and skill-output acceptance signals.
Product Manager dashboard
Customer-side. Built for PMs who own delivery. Rework rate, scope creep, PR cycle-time broken into the five canonical stages, WIP per team, initiative burndowns with Monte Carlo forecasts.
CFO dashboard
The money view, generated from the labour-cost ledger and the canonical delivery model. Cost-per-team, contractor-vs-FTE split, multi-quarter ROI, cost-per-output (per PR, per deploy, per incident), four-quarter forecast.
Labour cost ledger joins worker_employment_history (SCD-2) and employment-type SCD-2 to the canonical contribution graph. Per-team, per-project, per-month cost rolls up to four-quarter forecasts.
Cost-per-output reduces the labour cost to per-PR, per-deploy, and per-incident denominators. Useful precisely because the units are concrete.
Contractor-vs-FTE split tracked over time. Multi-quarter ROI against initiative outcomes and capacity forecasts.