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, orAll Countriesfor no country filter.Start DateandEnd 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 labelledLifetimeby 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 rowsTotal Deposits: sum of group deposit amountsTotal NGR: sum of group NGRTotal 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.Marketingis 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, andDepositorsare 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 Playersordering 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_rakebackrows are excluded from the normal Bets and Wins inputs but are not exposed as their own cost column in this report.No data foundmeans no group rows survived the active filters and mode; it does not mutate group configuration.