What this widget shows
KPI Reports compares casino activity by Game or by Provider for one selected period.
Use it to answer questions such as:
- Which games or providers produced the most rounds or players?
- Where are real-money stakes and wins concentrated?
- Why do GGR and Total GGR differ for the same row?
- Which rows have an unusual house-edge percentage?
This is an entity comparison table. It is not a time-series chart and does not split the selected period into daily or hourly buckets.
Tabs
- Games groups each row by game and aggregator.
- Providers groups each row by provider and aggregator.
Changing the tab keeps the active date and streamer filters but runs the corresponding grouped report.
Filters
Date options
Available presets are Today, Yesterday, Month to date, Custom, Last 7 days, Last 30 days, Last 90 days, Week to date, Year to date, Previous month, and Previous year.
Changing the preset auto-applies it after a short delay.
Important current behavior:
- Last 7 days starts at today minus 7 days and includes today, so it can cover 8 calendar dates.
- Last 30 days can cover 31 calendar dates.
- Last 90 days can cover 91 calendar dates.
- Year to date currently starts on January 1 of the previous year and ends today. The label is misleading; do not treat it as current-year-only data.
- The report does not expose an explicit business timezone. Date boundaries follow the date handling of the running service.
Date start and Date end
These fields appear for Custom. Changing either accepted date auto-applies the pair after a short delay. Apply Filters repeats the values currently shown.
The final day ends at exactly 23:59:59. Events recorded later within that final second using fractional timestamps are outside the current query.
Streamer data
Switches between streamer and non-streamer players and reloads the active report immediately.
Aggregated Mode
The interface presents this switch as a preference for aggregated versus live data and disables it for Today. The current report service, however, ignores this preference and always uses the same report path.
Treat this switch as non-authoritative: enabling it does not prove that the result came from aggregated data.
Columns
game / provider
The grouped game or provider name for the selected tab, together with its aggregator context. The visible header is lowercase: game on the Games tab and provider on the Providers tab.
Rounds
Count of qualifying bets that are not marked as adjustments or marketing. A positive cash amount is not required, so do not read it as a cash-only round count.
Players
Distinct players represented in the row.
The two tabs differ:
- Providers counts players found in the period's bet/win source.
- Games counts players from all casino records in the period before the amount formulas are applied. A player can therefore be counted in Games even when the related record adds nothing to the amount columns.
Real bet and Real win
Rate-adjusted cash stake and cash win from qualifying bets and wins that are neither adjustments nor marketing.
GGR
Rate-adjusted cash bets minus rate-adjusted cash wins. Correction, bonus-payout, and adjustment activity is excluded. Providers also excludes marketing activity; Games currently does not.
Total GGR
Rate-adjusted full-amount bets minus wins. It uses a broader amount source than cash-only GGR and also excludes freespins-payout activity. Providers excludes marketing activity; Games currently does not.
Bonus bet and Bonus win
Rate-adjusted non-cash values on qualifying bets and wins. These formulas do not separately remove adjustment or marketing activity.
Bonus GGR
Bonus bet minus bonus win. Adjustment and marketing activity can contribute when it is also a qualifying bet or win.
Total bets
Rate-adjusted full-amount value on qualifying bets, excluding correction and bonus-payout identifiers. Adjustment and marketing bets are not separately removed.
Adjustment
Rate-adjusted amount on adjustment bets minus rate-adjusted amount on adjustment wins.
HE %
House edge based on Real bet and Real win:
HE % = (1 - Real win / Real bet) * 100
The report rounds Real bet and Real win to two decimals before calculating HE. Zero or missing Real bet returns 0 %.
The visible value can contain a duplicated % because the percentage is formatted twice. This column is a percentage, not a payout amount.
Currency and exchange rates
Money columns are displayed with an EUR label. The report divides each qualifying amount by a saved conversion value before adding it to the grouped total.
The checked source does not establish the conversion pair, direction, upstream rate source, or capture timestamp. It also does not read the original currency while calculating the totals. Treat EUR as the report's display assumption, not as proof that every amount was converted from its original currency into EUR correctly.
Missing and zero rates are handled differently by tab:
- Providers treats a missing or zero conversion value as
1, leaving the original number unchanged. - Games also treats a missing value as
1for Real bet, Real win, Bonus bet, Bonus win, and Total bets, but a saved zero can make those calculations fail. - Games can fail GGR, Total GGR, Bonus GGR, and Adjustment when the conversion value is missing or zero.
Most money values are rounded to two decimals before they reach the table. Adjustment is different: its unrounded total can reach the page, and the table applies the visible two-decimal money formatting. HE is calculated from the already rounded Real bet and Real win values.
There is no separate refund, reversal, or chargeback formula in this report. Amounts enter through the documented bet/win and exclusion rules. Non-bet/non-win records do not enter amount metrics, although they can affect the Games player count.
Sorting
Sorting rearranges only the rows already loaded; it does not reload the report. The current sort is reliable for the numeric Rounds and Players columns, but not for every displayed value:
- the game/provider name does not sort because that name is the group key rather than a numeric value inside the row
- money values containing grouping commas can fail numeric sorting
- HE values containing
%can fail numeric sorting
Refresh data
Refresh data reloads the already active tab and filters. It does not apply different custom-date values that have not become active.
A refresh can still show the same recent result during a short cooldown. Simultaneous refreshes can share one calculation or temporarily leave the refresh unsuccessful without showing the backend retry interval. If that happens, wait briefly and retry.
Download CSV
Download CSV creates a fresh export with the active tab and filters. Because it reads the data separately, it is not guaranteed to represent the exact same moment as the table already on screen.
The CSV exposes the configured product prefix under a productPrefix header. Its Adjustment mapping currently reads a missing value and writes the reporting-currency symbol followed by undefined (for example, € undefined). HE is not included in the export.
Known limitations
- The optional Aggregated Data / Live Data badge is normally absent because the current service does not return a source label.
- Games and Providers differ in player counting, marketing exclusion, and conversion-rate fallback.
- Year to date currently starts on January 1 of the previous year rather than the current year.
- EUR is a display assumption because the conversion pair, direction, source, and capture time are not proven by this report path.
- The final custom-date second can omit fractional timestamps after
23:59:59.000. - Name, formatted money, and HE sorting are unreliable; Rounds and Players remain numeric sort inputs.
- HE can display a duplicated percent sign.
- CSV is a separate read, uses a
productPrefixheader, writes Adjustment as a symbol plusundefined, and omits HE.