Operations and Management → Dashboard Metrics and Reporting
Dashboard Metrics and Reporting
1) Purpose and coverage
Dashboard is a "single window" for daily business and process management. It gives:- an instant picture of the health of systems and P&L,
- early detection of deviations,
- transparency for management and teams,
- unification of indicators for products, markets and regions.
Coverage: operational metrics (SLA, incidents), product (activity, conversion), financial (GGR/NGR, ARPPU, LTV), marketing (CAC, ROMI), risk and compliance (KYC/AML, chargeback, fraud), support (SLA tickets).
2) Roles and consumers
C-level/Directorate: consolidated KPIs, trends by goals OKR, P&L, risks.
Operations/NOC: uptime of services, alerts, task queues, incidents.
Product/Growth: funnels, A/B, cohort analysis, retention.
Finance: daily/weekly reports on revenue and expenses, tax cuts.
Compliance/Risk: KYC statuses, suspicious patterns, reports to regulator.
Support: SLA responses, NPS/CSAT, typology of calls.
- Accountable: Head of Ops/Analytics.
- Responsible: Data command/BI.
- Consulted: Product, Finance, Risk, SRE.
- Informed: Area managers.
3) Data architecture and updates
Sources: events (stream), OLTP database, logs, payment providers, CRM/Helpdesk, A/B platform.
Processing layer: ETL/ELT, streaming (for T-15-T + 5 minutes), deduplication, schema validation, SCD.
Model: star (fact of the table by events/transactions + measurements: time, region, product, channel).
- Real time: 1-5 minutes (operating rooms, alerts).
- Incremental batch: 15-60 minutes (marketing/product).
- Daily closing batch: 01: 00-03: 00 (finance/compliance).
- Data quality: validation rules (completeness, uniqueness, acceptable ranges), pipeline delay monitoring, drift control.
4) KPI catalog and formulas (template)
4. 1 Operations/SRE
Uptime (%) = 1 − (downtime/total time) × 100
MTTR (Mean Time To Restore)
MTTA / MTTD (Mean Time To Acknowledge / Detect)
Query error (%) = errors _ 5xx/all _ queries
4. 2 Product/Behavior
DAU/WAU/MAU
Retention D1/D7/D30
Conversion Funnel: Visit → Sign-up → KYC → Deposit → First Action
ARPPU = Revenue/Paying Users
LTV (t) = Σ (average period margin × retention probability)
4. 3 Marketing/Growth
CAC = marketing spend/number of new paying
ROMI = (incremental margin − expense )/expense
CR by channel (SEO/ASO/Ads/Affiliates), Cohorts by acquisition date
4. 4 Finance
GGR (gross revenue)
NGR = GGR − bonuses − provider fees − game taxes
Net Margin = (NGR − OPEX − CAPEX − processing )/NGR
4. 5 Risk/Compliance
KYC Completion (%) = Verified/New Registrations
SAR Rate (Suspicious Activity)
Chargeback Rate = Chargeback/Successful Transactions
Fraud Score medium/percentile
4. 6 Support
SLA ответов (P1/P2/P3), First Response Time, CSAT/NPS, Backlog Size
5) Dashboard information architecture
Home (Executive): 8-12 key cards + sparklines, heat maps by region, YTD/MTD/WoW trends.
Operation panel (Command Center): uptime, alerts, queues, incidents, API performance, ETL delays.
Product/Growth: funnels, cohort grids, segments, A/B-ME (effect metrics).
Finance: GGR/NGR, provider/market margins, payouts, processing, taxes.
Risk/Compliance: KYC, anomalies, fraud flags, reporting to the regulator.
Support: SLA, case volume, typology, repeated tickets, VOC.
Navigation: global filters (period, region, product, platform, channel), quick presets (Today/Yesterday/MTD/QTD/YTD), "Drill-through" button on the part.
6) Widgets and visualization templates
KPI card: current value, Δ to previous period, mini-sparkline, status (green/amber/red).
Conversion funnel: bar chart by stages, conversion between steps, dump (%).
Cohort matrix: retention by week/month, heat scale.
Time series: day/hour values with control limits (± 2 σ, ± 3 σ).
Top-N table: providers/channels/regions with a contribution to KPI, clickable drill-down.
Heat map of incidents: density by services × time.
Sankei/Flow: flow of users/money between stages.
Geo-map: KPI by country/region, compliance constraints layer.
7) Signals, alerts and thresholds
Types: informational, warning, critical.
Thresholds: static (hard) + dynamic (seasonally and historically variable).
Notification templates: briefly "what happened," context (range, trend), hypotheses of causes, link to a detailed panel, incident owner.
Alert deduplication: suppression of "bursts," grouping of related signals.
Alerting SLO: MTTA ≤ 5 min (critical) , MTTR ≤ 30-60 min.
8) Access and security
RLS/CLS (Row/Column Level Security): filters by region and jurisdiction.
PII/financial data: masking and tokenization, minimum required access.
Audit: who looked at what he unloaded, what filters he applied.
Artifact versioning: Git for SQL/visualizations and metrics dictionary.
9) Reporting procedures
Daily (D-reports): operational slice, incidents, GGR/NGR, key deltas.
Weekly: retention, attraction channels, ROMI, fraud digest.
Monthly: P&L, cohort reports, KPIs against OKR targets, compliance reports.
On request: reports for regulators/audits, A/B results, post-mortems.
All reports are formed from one dictionary of metrics and a single data model - no "manual Excel with alternative truth."
10) Implementation: step-by-step plan
1. Inventory of metrics: collect current KPIs, eliminate duplicates/conflicts.
2. Dictionary of metrics: ID, formula, owner, sources, frequency, thresholds.
3. Data model: facts/measurements, SCD, units of measurement, chronology.
4. Sly processing: streaming for "hot" metrics, batch for finance.
5. Dashboard layouts: low-fi → high-fi, coordination with roles.
6. RLS/CLS and privacy: accesses, masking, auditing.
7. Alerting: rules, thresholds, channels (chat, mail, PagerDuty, etc.).
8. Pilot and beta: 2-4 weeks per vertical (for example, Operations), collecting feedback.
9. Training and playbook: short videos/guide, research templates.
10. Continuous improvement: backlog improvements, release notes.
11) Anti-patterns
"Dashboard Zoo": dozens of versions of one KPI without a single dictionary.
Manual reports: instability, error risks and PII leaks.
Excessive detail on the home screen: "information noise."
Alert spam: no prioritization and deduplication.
Without the owner of the metric: blurred responsibility → controversial "truth."
12) Checklists
Before the release of dashboard
- KPIs are agreed, described and owned
- Units and time zones unified
- RLS/CLS configured, PII masked
- Alert thresholds tested on historical data
- Load and SLA updates tested
- Onboarding Guide and Changelog Published
Monthly service
- Metrics Dictionary Review (Changes, New Metrics)
- Pipeline Source and Latency Validation
- Alert retrospective (false/missed)
- UX enhancements: speed, filters, presets
13) SQL/Logic Examples (Simplified)
ARPPU (daily)
sql
SELECT d::date AS day,
SUM(revenue) / NULLIF(COUNT(DISTINCT CASE WHEN pay_count > 0 THEN user_id END), 0) AS arppu
FROM daily_user_finance
GROUP BY 1;
Cohort by enrollment (MAU Retention M1)
sql
WITH cohorts AS (
SELECT user_id, date_trunc('month', signup_at) AS cohort_month
FROM users
),
activity AS (
SELECT user_id, date_trunc('month', activity_at) AS active_month
FROM user_activity
)
SELECT cohort_month,
COUNT(DISTINCT user_id) FILTER (WHERE active_month = cohort_month) AS m0,
COUNT(DISTINCT user_id) FILTER (WHERE active_month = cohort_month + INTERVAL '1 month') AS m1,
ROUND(100. 0 COUNT(DISTINCT user_id) FILTER (WHERE active_month = cohort_month + INTERVAL '1 month')
/ NULLIF(COUNT(DISTINCT user_id) FILTER (WHERE active_month = cohort_month),0), 2) AS m1_retention_pct
FROM cohorts c
LEFT JOIN activity a USING (user_id)
GROUP BY 1
ORDER BY 1;
Alert for GGR (day-to-day) abnormalities
sql
SELECT today. ggr,
yesterday. ggr,
(today. ggr - yesterday. ggr) / NULLIF(yesterday. ggr,0) AS delta
FROM revenue_daily today
JOIN revenue_daily yesterday ON yesterday. day = today. day - INTERVAL '1 day'
WHERE today. day = CURRENT_DATE
AND ABS((today. ggr - yesterday. ggr) / NULLIF(yesterday. ggr,0)) > 0. 25;
14) Localization and multi-region
Unified taxonomy of countries/jurisdictions, currencies, VAT/gambling taxes.
Currency conversion according to fixed rules (end-of-day vs average).
Time zones: store UTC, visualize in the user locale.
Regulatory reports: templates + country-specific parameterization.
15) Quality indicators of the dashboard itself
Coverage: proportion of key KPIs available in the panel.
Freshness SLA: the proportion of updates that hit the declared window.
Adoption: MAU dashboard, depth of sessions, saved presets.
Decision Lag: average time from alert to action taken.
Accuracy: percentage of reconciled discrepancies <acceptable threshold.
16) The bottom line
Dashboard metrics and reporting is not a set of beautiful graphs, but a management tool with a single dictionary of metrics, a stable data model, clear SLAs and responsibilities. Its task is to speed up decision-making, reduce operational risks and increase the predictability of the result.