Operator guideEN

Reporting / MKT Groups Performance

Performance report that assigns raw MKT activity to configured MKT groups and compares grouped users, deposits, withdrawals, gaming revenue, costs, and conversion measures.

How to use this guide

Start with the main guide

Follow the explanation and examples first. Extra definitions and formulas are available below when you need them.

What this page shows

MKT Groups Performance aggregates marketing-attributed player, banking, and casino activity into the named groups configured in MKT Groups. Use it when a single campaign or channel has several raw MKT tags and the business needs one grouped row instead of one row per raw tag.

This is a separate report from MKT Performance. The grouping rules, row ownership, visible columns, export shape, and formulas described here apply only to MKT Groups Performance.

Access

The navigation item and backend route require AffiliateMktGroupsPerformance:R. The page route itself does not add a second portal permission component, so backend permission enforcement remains the authoritative read boundary.

Default view

On first open the browser prepares:

  • Start Date: 30 browser-calendar days before today
  • End Date: today
  • Order By: Total Deposits
  • Active Only: off
  • Period Data: on
  • 20 rows per page

Filter controls are drafts. Editing them does not immediately change the loaded report. Click Refresh to copy all draft values into the active query and return to page one. There is no Reset button on this page.

Filters

  • Raw MKT Filter: keeps groups whose effective membership contains raw MKT text matching the filter.
  • Country: exact country-code filter, or All Countries for no country filter.
  • Start Date and End Date: date-only boundaries sent from the browser.
  • Order By: Total Users, Total Deposits, NGR, GGR, or Active Players.
  • Active Only: keeps rows with activity, not groups whose saved status is Active.
  • Period Data: switches between period transaction measures and the non-period mode labelled Lifetime by the page.

How a raw MKT is assigned to a group

The report builds group membership from saved manual tags and automatic case-insensitive substring rules. When more than one candidate remains, manual membership has priority over automatic membership, then the smallest group id is used as a deterministic tie-breaker. Normal group maintenance rejects overlaps, so this tie-breaker is a safety fallback rather than a reason to configure the same tag in several groups.

Period Data mode

With Period Data on, the user column is Active Players and the report shows period banking/casino measures plus the detailed cost columns:

  • MKT Group
  • Included MKT Count
  • Active Players
  • Depositors
  • Deposits and Deposit Count
  • Withdrawals
  • Bets and Wins
  • Bonus Payouts
  • Cashback
  • Rakeback
  • Correction
  • Adjustment
  • Marketing
  • GGR and NGR
  • Avg Deposit
  • Withdrawal Rate
  • House Edge

Non-period mode labelled Lifetime

With Period Data off, the user column becomes Total Users, detailed period cost columns disappear, and the table adds Reg to FTD and Avg Days to FTD.

Despite the Lifetime caption, this mode still applies the selected Start Date and End Date in its source query. Do not interpret it as unbounded all-time data.

Summary cards

The four cards aggregate all filtered report rows before pagination:

  • Total Groups: number of matching group rows
  • Total Deposits: sum of group deposit amounts
  • Total NGR: sum of group NGR
  • Total GGR: sum of group GGR

Changing pages does not change these totals. Changing active filters or mode can.

Core formulas

  • GGR = Bets - Wins.
  • NGR = GGR - Bonus Payouts - Cashback - Rakeback - Adjustment - Correction.
  • Marketing is a separate period column and is not subtracted in this report's NGR formula.
  • Avg Deposit = Deposits / Depositors, or zero with no depositors.
  • Withdrawal Rate = Withdrawals / Deposits * 100, or zero with no deposits.
  • House Edge = GGR / Bets * 100, or zero with no bets.
  • Non-period Reg to FTD = Depositors / Total Users * 100.

Full status, sign, FX, date, and rounding rules are recorded in the metric and calculation definitions for this report.

Currency and display basis

Money is displayed as EUR with two decimal places. Banking and casino source amounts are divided by the transaction's stored conversion_rate; the rate maintenance SQL sources that value from the EUR rate for the transaction's creation date. The report itself uses 1 when the stored rate is null, so a missing rate can make the amount behave as if it were already EUR. A stored zero rate is not guarded and can make the SQL request fail.

The aggregation SQL does not round group totals. The page formats money to two decimal places, counts to whole numbers, percentages to two decimals, and non-period Avg Days to FTD to one decimal.

Date-boundary caveats

  • Period mode includes Start Date and excludes the End Date boundary.
  • Non-period mode includes Start Date and uses <= against the End Date timestamp.
  • The browser sends date-only values. The SQL does not set an explicit report timezone, so database/session timestamp interpretation applies.
  • A date-only End Date is a boundary at that date's timestamp, not a guaranteed end-of-day inclusion. Read same-day or end-day comparisons carefully.

Active Only caveat

Active Only does not read MktGroup.isActive:

  • period mode keeps groups with Active Players > 0
  • non-period mode keeps groups with Total Users > 0

An Inactive configured group can therefore remain in this report when it has matching activity.

CSV export

Export CSV uses the currently active filters and mode, not unapplied draft controls. The export includes all matching rows up to the backend export cap and adds Withdrawal Count, which is not a visible table column. The downloaded filename is mkt_groups_performance_YYYY-MM-DD.csv using the browser's current UTC date.

Known caveats

  • Active Players, Total Users, and Depositors are distinct within each raw MKT before raw-tag rows are summed into a group. The same person can therefore contribute more than once to one group when activity is attributed through several raw tags in that group.
  • Withdrawal amount includes successful and approved withdrawals, while Withdrawal Count counts successful withdrawals only.
  • Pending withdrawal amount/count are calculated inside the period SQL but are not displayed or exported.
  • Choosing Active Players ordering in non-period mode falls back to Total Users ordering.
  • Non-period Avg Days to FTD is a weighted aggregation of per-raw-MKT date differences; it is not a simple average of one independently calculated value per visible user.
  • Refund/reversal is not a separate report branch. Included statuses, action types, and the documented sign rules determine whether a row contributes.
  • referral_rakeback rows are excluded from the normal Bets and Wins inputs but are not exposed as their own cost column in this report.
  • No data found means no group rows survived the active filters and mode; it does not mutate group configuration.
More details

Definitions and formulas

Open only the section you need. The relevant section opens automatically when you request help for a specific item on screen.

Calculations17 topicsOpen details

Raw MKT group ownership

Each raw tag contributes to at most one report group even if inconsistent saved configuration creates multiple candidates.

Transform
Build manual candidates with priority 1 and automatic case-insensitive substring candidates with priority 2; for each raw MKT keep lowest priority and then smallest group id.
Caveats
Group create/update normally rejects overlaps; SQL ranking is a deterministic safety fallback.

Period Data date window

Start is inclusive and End is exclusive in Period Data mode.

Transform
Include transaction created_at >= TIMESTAMPTZ Start Date and created_at < TIMESTAMPTZ End Date.
Caveats
Browser values are date-only and SQL does not declare a report timezone.

Non-period date window

The mode labelled Lifetime remains bounded by the selected dates.

Transform
Include transaction created_at >= Start Date::timestamp and created_at <= End Date::timestamp.
Caveats
Date-only End Date is not expanded to end of day., SQL does not declare a report timezone.

Transaction EUR normalization

Report money is displayed as EUR based on the stored per-transaction rate used by these SQL inputs.

Transform
Banking amount and casino cash/non-cash amount are divided by COALESCE(stored conversion_rate, 1) before aggregation.
Rate Source
Rate update SQL selects currency_rates.currency_rate_to_eur for the transaction currency and created_at calendar date.
Missing Rate Behavior
A null stored rate is treated as 1; the report does not guard a stored zero rate.
Rounding
Source SQL does not round normalized rows or aggregates.
Caveats
The report consumes stored conversion_rate and does not prove that every row was populated by the updater.

Grouped user-count aggregation

Counts are deduplicated inside each raw MKT, not across the complete group.

Transform
Calculate distinct users/depositors per raw MKT, then sum those raw-MKT counts over the group's owned tags.
Caveats
One person can contribute more than once when attributed through several owned raw tags.

Banking metric status scope

Amount and count can differ because approved withdrawals contribute amount but not Withdrawal Count.

Transform
Deposits/depositors/count require deposit plus SUCCESS; withdrawal amount requires withdraw plus SUCCESS or APPROVED; withdrawal count requires withdraw plus SUCCESS.
Caveats
Pending withdrawal amount/count are calculated by SQL but not shown or exported.

Bets and Wins scope

These two inputs drive GGR and House Edge.

Transform
Sum normalized cash_amount by bet/win action, excluding bonus_payout, rakeback_calendar, referral_rakeback identifiers and all rows marked marketing.
Caveats
referral_rakeback is excluded here and has no separate visible metric in this report.

Special casino amount signs

The displayed cost/adjustment values are signed transaction aggregates, not absolute payout totals.

Transform
Bonus payout, cashback, rakeback_calendar, correction, and marketing use +cash on win and -cash otherwise; adjustment uses +cash on bet, -cash on win, and 0 otherwise.

GGR

Gross gaming revenue for the group's owned raw tags.

Transform
GGR = Bets - Wins.
Currency Basis
EUR-normalized casino cash inputs.

NGR

Net gaming revenue under this report's exact deduction set.

Transform
NGR = GGR - Bonus Payouts - Cashback - Rakeback - Adjustment - Correction.
Currency Basis
EUR-normalized casino cash inputs.
Caveats
Marketing is displayed separately and is not subtracted., referral_rakeback is not a separate deduction metric.

Avg Deposit

Average normalized deposit amount per grouped depositor-count unit.

Transform
Avg Deposit = Deposits / Depositors when Depositors > 0; otherwise 0.
Caveats
Depositors can double-count a person across owned raw tags.

Withdrawal Rate

Withdrawal value relative to deposit value for the group.

Transform
Withdrawal Rate = Withdrawals / Deposits * 100 when Deposits > 0; otherwise 0.

House Edge

Gaming margin percentage for the group.

Transform
House Edge = GGR / Bets * 100 when Bets > 0; otherwise 0.

Reg to FTD

Conversion ratio using the grouped raw-tag count aggregates.

Transform
In non-period mode, Reg to FTD = Depositors / Total Users * 100 when Total Users > 0; otherwise 0.
Caveats
Numerator and denominator are not group-wide distinct-user counts.

Avg Days to FTD

Weighted group-level time-to-deposit indicator shown to one decimal day in the table.

Transform
In non-period mode, weight each raw MKT's source day difference by its depositor count and divide by total group depositors; return null when there are no depositors.
Caveats
Raw-MKT source day difference uses minimum first-deposit date and minimum registration date in filtered data, not one duration per user.

Summary cards

Summary cards cover every filtered group row and do not change when only the page changes.

Transform
Remove LIMIT/OFFSET from the active report SQL, then COUNT rows and SUM the mode-specific deposit, NGR, and GGR columns.

Display and CSV formatting

Display rounding can hide small source differences but does not change backend summary arithmetic.

Transform
SQL keeps unrounded aggregates; UI formats EUR and percentages to 2 decimals, counts to whole numbers, Avg Days to FTD to 1 decimal; CSV formats numeric amount/rate/general fields to 2 decimals and counts to whole numbers.
Fields38 topicsOpen details

Raw MKT Filter

Draft substring filter over raw MKT membership; it reaches the report only after Refresh applies the draft controls.

Group
filters
Data Type
string
Editable
true

Country

Exact country-code filter populated from the CRM country list; blank means all countries.

Group
filters
Data Type
enum
Editable
true
Default
All Countries

Start Date

Date-only lower boundary. Period and non-period queries include this boundary.

Group
filters
Data Type
date
Editable
true
Default
browser today minus 30 calendar days

End Date

Date-only upper boundary. Period mode excludes it; non-period mode compares timestamps with less-than-or-equal.

Group
filters
Data Type
date
Editable
true
Default
browser today
Caveats
It is not expanded to an end-of-day value by the browser.

Order By

Server-side descending row order selected as Total Users, Total Deposits, NGR, GGR, or Active Players.

Group
filters
Data Type
enum
Editable
true
Default
deposits
Allowed Values
users, deposits, ngr, ggr, players
Caveats
Active Players ordering falls back to Total Users in non-period mode.

Active Only

Keeps rows with Active Players above zero in period mode or Total Users above zero in non-period mode.

Group
filters
Data Type
boolean
Editable
true
Default
false
Caveats
Does not filter on the saved MKT group Active/Inactive flag.

Period Data

Chooses period transaction metrics when on and the non-period query labelled Lifetime when off.

Group
filters
Data Type
boolean
Editable
true
Default
true
Caveats
The non-period query still applies Start Date and End Date and is not unbounded lifetime data.

Total Groups

Count of all group rows matching the active query before pagination.

Group
summary
Data Type
integer
Editable
false

Total Deposits

Sum of deposits across all matching group rows in the active mode, displayed as EUR.

Group
summary
Data Type
money
Editable
false

Total NGR

Sum of report NGR across all matching group rows before pagination, displayed as EUR.

Group
summary
Data Type
money
Editable
false

Total GGR

Sum of report GGR across all matching group rows before pagination, displayed as EUR.

Group
summary
Data Type
money
Editable
false

MKT Group

Name of the configured group that owns the attributed raw MKT activity.

Group
table
Data Type
string
Editable
false

Included MKT Count

Distinct raw MKT tags currently attributed to the group by manual membership and automatic rules.

Group
table
Data Type
integer
Editable
false

Active Players / Total Users

Sum of per-raw-MKT distinct casino users in period mode; sum of per-raw-MKT distinct banking/casino users in non-period mode.

Group
table
Data Type
integer
Editable
false
Caveats
A person attributed through several raw tags in one group can contribute more than once to the grouped value.

Depositors

Sum of per-raw-MKT distinct users with qualifying successful deposits in the active query.

Group
table
Data Type
integer
Editable
false
Caveats
A depositor using several raw tags in one group can contribute more than once to the grouped value.

Deposits

EUR-normalized amount of qualifying successful deposits for the group and active mode.

Group
table
Data Type
money
Editable
false

Deposit Count

Number of qualifying successful deposit transactions.

Group
table
Data Type
integer
Editable
false

Withdrawals

EUR-normalized withdrawal amount for qualifying withdrawal statuses.

Group
table
Data Type
money
Editable
false
Caveats
Period amount includes SUCCESS and APPROVED, while export Withdrawal Count counts SUCCESS only.

Withdrawal Count

Successful withdrawal transaction count included in CSV export; it is not shown as a table column.

Group
export-only
Data Type
integer
Editable
false

Bets

EUR-normalized qualifying casino bet amount for the group.

Group
table
Data Type
money
Editable
false

Wins

EUR-normalized qualifying casino win amount for the group.

Group
table
Data Type
money
Editable
false

Bonus Payouts

Signed EUR-normalized bonus-payout amount shown only in period mode and deducted from GGR in NGR.

Group
period-only
Data Type
money
Editable
false

Cashback

Signed EUR-normalized cashback amount shown only in period mode and deducted in NGR.

Group
period-only
Data Type
money
Editable
false

Rakeback

Signed EUR-normalized rakeback-calendar amount shown only in period mode and deducted in NGR.

Group
period-only
Data Type
money
Editable
false

Correction

Signed EUR-normalized correction amount shown only in period mode and deducted in NGR.

Group
period-only
Data Type
money
Editable
false

Adjustment

Signed EUR-normalized adjustment amount shown only in period mode and deducted in NGR.

Group
period-only
Data Type
money
Editable
false

Marketing

Signed EUR-normalized marketing amount shown separately in period mode.

Group
period-only
Data Type
money
Editable
false
Caveats
This report does not subtract Marketing in its NGR formula.

GGR

Gross gaming revenue calculated as qualifying Bets minus qualifying Wins.

Group
table
Data Type
money
Editable
false

NGR

Net gaming revenue after the report's bonus, cashback, rakeback, adjustment, and correction deductions.

Group
table
Data Type
money
Editable
false

Avg Deposit

Deposit amount divided by Depositors for the active mode; zero when no depositors exist.

Group
table
Data Type
money
Editable
false

Withdrawal Rate

Withdrawals divided by Deposits and multiplied by 100; zero when Deposits are zero.

Group
table
Data Type
percentage
Editable
false

House Edge

GGR divided by Bets and multiplied by 100; zero when Bets are zero.

Group
table
Data Type
percentage
Editable
false

Reg to FTD

Depositors divided by Total Users and multiplied by 100 in non-period mode.

Group
non-period-only
Data Type
percentage
Editable
false

Avg Days to FTD

Weighted grouped time from attributed registration date to first deposit date, shown to one decimal day; a missing/zero value shows a dash.

Group
non-period-only
Data Type
duration-days
Editable
false

Page

Current one-based backend result page; browser pagination displays zero-based control state.

Group
pagination
Data Type
integer
Editable
true
Default
1

Rows per page

Number of report rows requested per page; changing it returns to page one.

Group
pagination
Data Type
enum
Editable
true
Default
20
Allowed Values
10, 20, 50, 100

Failed to load report

Load error advising the operator to narrow date range or filters and refresh; no report or group data is mutated.

Group
state
Data Type
message
Editable
false

No data found

No group rows survived the currently active filters and selected mode.

Group
state
Data Type
message
Editable
false
Metrics27 topicsOpen details

Total Groups

Number of group rows matching the active mode and filters before pagination.

Aliases
matching mkt groups, report group count
Metric Kind
count
Formula
COUNT(*) over the non-paginated grouped report query.

Total Deposits

Sum of the deposit amount across every matching group row before pagination.

Aliases
grouped deposits total
Metric Kind
money_sum
Formula
Period mode SUM(deposit_amount); non-period mode SUM(total_deposits_eur).
Currency Basis
Displayed as EUR after each source banking amount is divided by its stored transaction conversion_rate.
Rate Source
Stored conversion_rate can be populated from currency_rates.currency_rate_to_eur for the transaction created_at calendar date.
Missing Rate Behavior
The report divides by COALESCE(conversion_rate, 1); a null rate is treated as 1 and a stored zero is not guarded.
Rounding
No aggregate SQL rounding; UI and CSV format to two decimals.
Refund Reversal Behavior
No separate refund/reversal branch; only deposit rows with status_enum SUCCESS contribute.

Total NGR

Sum of the report's group-level NGR values across all matching rows before pagination.

Aliases
grouped ngr total
Metric Kind
money_sum
Formula
Period mode SUM(ngr); non-period mode SUM(total_ngr_eur).
Currency Basis
Displayed as EUR after included casino cash amounts are divided by stored transaction conversion_rate.
Rate Source
Stored conversion_rate can be populated from currency_rates.currency_rate_to_eur for the casino transaction created_at calendar date.
Missing Rate Behavior
Null conversion_rate is treated as 1; stored zero is not guarded.
Rounding
No aggregate SQL rounding; UI and CSV format to two decimals.
Refund Reversal Behavior
No separate refund/reversal branch; action type, special identifiers, flags, and NGR deductions define contribution.

Total GGR

Sum of group GGR values across all matching rows before pagination.

Aliases
grouped ggr total
Metric Kind
money_sum
Formula
Period mode SUM(ggr); non-period mode SUM(total_ggr_eur).
Currency Basis
Displayed as EUR after included casino cash amounts are divided by stored transaction conversion_rate.
Rate Source
Stored conversion_rate can be populated from currency_rates.currency_rate_to_eur for the casino transaction created_at calendar date.
Missing Rate Behavior
Null conversion_rate is treated as 1; stored zero is not guarded.
Rounding
No aggregate SQL rounding; UI and CSV format to two decimals.
Refund Reversal Behavior
No separate refund/reversal branch; qualifying bet/win action rows define contribution.

Included MKT Count

Number of distinct raw tags owned by the group after the report's manual/automatic attribution and optional raw-MKT filter.

Aliases
effective raw tag count
Metric Kind
count
Formula
COUNT(DISTINCT owned_group_mkts.raw_mkt) per group.

Active Players

Period-mode sum of per-raw-MKT distinct users with any filtered casino bet or win row.

Aliases
period players, grouped active players
Metric Kind
count
Formula
SUM(COUNT(DISTINCT user_id) per owned raw MKT) across the group's owned raw tags.
Caveats
This is not group-wide distinct; the same user can contribute once under each owned raw tag., Special and marketing casino rows remain eligible for the active-player count because the count is over all filtered bet/win rows before metric exclusions.

Total Users

Non-period sum of per-raw-MKT distinct users found in filtered banking or casino rows.

Aliases
non-period users, grouped users
Metric Kind
count
Formula
SUM(COUNT(DISTINCT user_id) per owned raw MKT across UNION banking/casino users).
Caveats
This is not group-wide distinct; a user attributed through several owned raw tags can contribute more than once., The mode labelled Lifetime still applies selected date filters.

Depositors

Sum of per-raw-MKT distinct users with successful deposit rows.

Aliases
grouped depositors
Metric Kind
count
Formula
SUM(COUNT(DISTINCT user_id) FILTER transaction_type=deposit and status_enum=SUCCESS per owned raw MKT).
Caveats
A depositor using several owned raw tags can contribute more than once to one group.

Deposits

Sum of qualifying successful banking deposit amounts for the group's owned raw tags.

Aliases
deposit amount, grouped deposit volume
Metric Kind
money_sum
Formula
SUM(amount / COALESCE(conversion_rate,1)) where transaction_type=deposit and status_enum=SUCCESS.
Currency Basis
Displayed as EUR after division by the stored banking conversion_rate.
Rate Source
The rate updater selects currency_rates.currency_rate_to_eur for the transaction created_at calendar date.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
Refund/reversal has no separate branch and does not contribute unless represented as a qualifying successful deposit row.

Deposit Count

Number of successful banking deposit transactions attributed to the group.

Aliases
successful deposits count
Metric Kind
count
Formula
SUM(COUNT(*) FILTER transaction_type=deposit and status_enum=SUCCESS per owned raw MKT).

Withdrawals

Sum of banking withdrawal amounts whose status is SUCCESS or APPROVED.

Aliases
withdrawal amount, grouped withdrawal volume
Metric Kind
money_sum
Formula
SUM(amount / COALESCE(conversion_rate,1)) where transaction_type=withdraw and status_enum in (SUCCESS, APPROVED).
Currency Basis
Displayed as EUR after division by the stored banking conversion_rate.
Rate Source
The rate updater selects currency_rates.currency_rate_to_eur for the transaction created_at calendar date.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
No separate reversal branch; only the included withdrawal statuses contribute.

Withdrawal Count

CSV-only count of successful withdrawal transactions.

Aliases
successful withdrawals count
Metric Kind
count
Formula
SUM(COUNT(*) FILTER transaction_type=withdraw and status_enum=SUCCESS per owned raw MKT).
Caveats
APPROVED rows contribute to Withdrawal amount but not to this count., The table does not show this metric; both CSV modes export it.

Bets

Sum of qualifying casino cash amounts on bet actions.

Aliases
grouped bet amount
Metric Kind
money_sum
Formula
SUM(cash_amount / COALESCE(conversion_rate,1)) for action_type=bet, excluding bonus_payout, rakeback_calendar, referral_rakeback identifiers and is_marketing=true.
Currency Basis
Displayed as EUR after division by stored casino conversion_rate.
Rate Source
The rate updater selects currency_rates.currency_rate_to_eur for the transaction created_at calendar date.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
No separate refund/reversal branch; action type, identifier, and marketing flag control inclusion.

Wins

Sum of qualifying casino cash amounts on win actions.

Aliases
grouped win amount
Metric Kind
money_sum
Formula
SUM(cash_amount / COALESCE(conversion_rate,1)) for action_type=win, excluding bonus_payout, rakeback_calendar, referral_rakeback identifiers and is_marketing=true.
Currency Basis
Displayed as EUR after division by stored casino conversion_rate.
Rate Source
The rate updater selects currency_rates.currency_rate_to_eur for the transaction created_at calendar date.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
No separate refund/reversal branch; action type, identifier, and marketing flag control inclusion.

Bonus Payouts

Period-only signed cash amount for game_identifier bonus_payout and an NGR deduction.

Aliases
bonus payout amount
Metric Kind
money_sum
Formula
SUM(normalized cash_amount * (1 for win, -1 otherwise)) where game_identifier=bonus_payout.
Currency Basis
Displayed as EUR after division by stored casino conversion_rate.
Rate Source
Transaction-date EUR rate stored on the casino row when populated by the updater.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
No separate branch; the action-type sign is the complete traced treatment.

Cashback

Period-only signed cashback cash amount and an NGR deduction.

Aliases
cashback amount
Metric Kind
money_sum
Formula
SUM(normalized cash_amount * (1 for win, -1 otherwise)) where game_identifier=cashback.
Currency Basis
Displayed as EUR after division by stored casino conversion_rate.
Rate Source
Transaction-date EUR rate stored on the casino row when populated by the updater.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
No separate branch; action-type sign controls contribution.

Rakeback

Period-only signed rakeback_calendar cash amount and an NGR deduction.

Aliases
rakeback calendar amount
Metric Kind
money_sum
Formula
SUM(normalized cash_amount * (1 for win, -1 otherwise)) where game_identifier=rakeback_calendar.
Currency Basis
Displayed as EUR after division by stored casino conversion_rate.
Rate Source
Transaction-date EUR rate stored on the casino row when populated by the updater.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
No separate branch; action-type sign controls contribution.
Caveats
referral_rakeback is excluded from Bets and Wins but is not included in this Rakeback metric or another visible cost metric.

Correction

Period-only signed correction cash amount and an NGR deduction.

Aliases
correction amount
Metric Kind
money_sum
Formula
SUM(normalized cash_amount * (1 for win, -1 otherwise)) where game_identifier=correction.
Currency Basis
Displayed as EUR after division by stored casino conversion_rate.
Rate Source
Transaction-date EUR rate stored on the casino row when populated by the updater.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
No separate branch; action-type sign controls contribution.

Adjustment

Period-only signed cash amount for rows marked as adjustments and an NGR deduction.

Aliases
adjustment amount
Metric Kind
money_sum
Formula
SUM(normalized cash_amount * (1 for bet, -1 for win, 0 otherwise)) where is_adjustment=true.
Currency Basis
Displayed as EUR after division by stored casino conversion_rate.
Rate Source
Transaction-date EUR rate stored on the casino row when populated by the updater.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
No separate branch; adjustment flag and action-type sign control contribution.

Marketing

Period-only signed cash amount for casino rows marked as marketing, displayed separately from NGR.

Aliases
marketing amount
Metric Kind
money_sum
Formula
SUM(normalized cash_amount * (1 for win, -1 otherwise)) where is_marketing=true.
Currency Basis
Displayed as EUR after division by stored casino conversion_rate.
Rate Source
Transaction-date EUR rate stored on the casino row when populated by the updater.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL aggregation rounding; UI and CSV use two decimals.
Refund Reversal Behavior
No separate branch; marketing flag and action-type sign control contribution.
Caveats
Marketing is not subtracted in this report's NGR formula.

GGR

Qualifying Bets minus qualifying Wins for the group.

Aliases
gross gaming revenue
Metric Kind
money_derived
Formula
GGR = Bets - Wins.
Currency Basis
Both inputs use EUR-normalized casino cash amounts from stored conversion_rate.
Rate Source
Transaction-date EUR rate stored on each casino row when populated by the updater.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL rounding before group or summary aggregation; UI and CSV use two decimals.
Refund Reversal Behavior
No separate branch; the included bet/win rows define GGR.

NGR

GGR after the report's bonus payout, cashback, rakeback-calendar, adjustment, and correction deductions.

Aliases
net gaming revenue
Metric Kind
money_derived
Formula
NGR = GGR - Bonus Payouts - Cashback - Rakeback - Adjustment - Correction.
Currency Basis
All inputs use EUR-normalized casino cash amounts from stored conversion_rate.
Rate Source
Transaction-date EUR rate stored on each casino row when populated by the updater.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL rounding before group or summary aggregation; UI and CSV use two decimals.
Refund Reversal Behavior
No separate branch; special identifiers, flags, and action-type signs define each deduction.
Caveats
Marketing is not subtracted., referral_rakeback is excluded from normal Bets/Wins but is not a visible deduction in this formula.

Avg Deposit

Group deposit amount divided by the grouped Depositors value.

Aliases
average deposit per depositor
Metric Kind
money_ratio
Formula
Avg Deposit = Deposits / Depositors; 0 when Depositors=0.
Currency Basis
Numerator is EUR-normalized banking deposit amount; denominator is a count.
Rate Source
Stored banking conversion_rate, populated from transaction-date EUR rates when available.
Missing Rate Behavior
Null conversion_rate is treated as 1; zero is not guarded.
Rounding
No SQL rounding; UI and CSV use two decimals.
Refund Reversal Behavior
Deposit numerator includes only successful deposit rows.
Caveats
Depositors are summed from per-raw-MKT distinct counts and may count one person more than once across tags.

Withdrawal Rate

Group withdrawal amount as a percentage of group deposit amount.

Aliases
withdrawals to deposits percentage
Metric Kind
ratio_percentage
Numerator
Withdrawals.
Denominator
Deposits.
Formula
Withdrawal Rate = Withdrawals / Deposits * 100; 0 when Deposits=0.
Rounding
No SQL rounding; UI and CSV use two decimals.

House Edge

Group GGR as a percentage of qualifying group Bets.

Aliases
ggr to bets percentage
Metric Kind
ratio_percentage
Numerator
GGR.
Denominator
Bets.
Formula
House Edge = GGR / Bets * 100; 0 when Bets=0.
Rounding
No SQL rounding; UI and CSV use two decimals.

Reg to FTD

Non-period grouped Depositors as a percentage of grouped Total Users.

Aliases
registration to first deposit rate
Metric Kind
ratio_percentage
Numerator
Depositors.
Denominator
Total Users.
Formula
Reg to FTD = Depositors / Total Users * 100; 0 when Total Users=0.
Rounding
No SQL rounding; UI and CSV use two decimals.
Caveats
Both counts are sums of per-raw-MKT distinct values and are not group-wide unique-user counts., The mode labelled Lifetime still applies selected date filters.

Avg Days to FTD

Non-period depositor-weighted aggregation of each owned raw MKT's registration-to-first-deposit day difference.

Aliases
average time to first deposit
Metric Kind
duration_average
Formula
SUM(raw_mkt_avg_days_to_ftd * raw_mkt_depositors) / SUM(raw_mkt_depositors); null with no depositors.
Rounding
SQL does not round; UI shows one decimal day and CSV formats a general numeric value to two decimals.
Caveats
Per-raw-MKT source dates are minimum qualifying first-deposit and minimum registration dates in the filtered rows, not an independently calculated duration for every user., The mode labelled Lifetime still applies selected date filters.
More help

Related pages

Reporting

Canonical entrypoint for standalone reporting pages outside the main Dashboard widgets.

Reporting / Affiliate Events Report

Audit log of the events and saved amounts the platform sent to the affiliate system, with per-currency successful totals, CSV export, suspicious-traffic visibility, and a guarded force-send override.

Reporting / Bonus Performance

Grouped bonus performance report for activations, amounts, deposits, withdrawals, GGR, and NGR by bonus item.

Reporting / Card Approval Rates

Snapshot report of card deposit approval rates for NetworxPay, Paydex, and Carouseller, split by Trusted and NonTrusted players, with today versus the previous 30 days and today top decline reasons.

Reporting / Change Notification Detail

Detail page for one audit entry, including actor metadata, description, and before/after comparison views.

Reporting / Change Notifications

Audit list for recorded configuration, administrator, and system change entries with filters for actor, entity, and change type.