GH GambleHub

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.

RACI:
  • 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).

Updates:
  • 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

💡 Recommendation: assign each KPI ID, owner, formula, aggregation period, units of measure, target, warning/critical levels, data source, and owner contact.

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.

Contact

Get in Touch

Reach out with any questions or support needs.We are always ready to help!

Telegram
@Gamble_GC
Start Integration

Email is required. Telegram or WhatsApp — optional.

Your Name optional
Email optional
Subject optional
Message optional
Telegram optional
@
If you include Telegram — we will reply there as well, in addition to Email.
WhatsApp optional
Format: +country code and number (e.g., +380XXXXXXXXX).

By clicking this button, you agree to data processing.