Metric dictionary
This page defines every KPI a partner can read from PlayerPal. Each KPI has a fixed ID and a fixed definition. Partners choose a KPI, a date range and a grain; they never send free-form queries, so the same ID always means the same calculation.
There are three groups:
- Own KPIs (
own.*): figures about your own players and operations. - Network comparison KPIs (
cmp.*) and benchmarks: your position against the anonymous network or peers. - Overview KPIs: the partner overview, computed from facts you send.
Rules for every own KPI
Available| Topic | Behaviour |
|---|---|
| Population | Only your organisation's data. Scope comes from your credential. |
| Time window | from and to are inclusive UTC dates, fewer than 400 days apart. Each KPI is dated by the timestamp named in its section below. |
| Grain | day (default), week (ISO weeks starting Monday) or month. Every period in the range is returned, including empty ones. |
| Total | Calculated over the whole range, not summed from the series. For distinct counts, the total is the distinct count over the range. |
| Previous period | The same number of days immediately before from, returned as a total and as an aligned series. The percentage change is empty when either total is missing or the previous total is zero. |
| Empty periods | Counts, EUR and points return 0. Ratios and durations return null. |
| Market filter | Only on KPIs marked "Market: yes". The market is the licensed jurisdiction (ISO 3166-1 alpha-2) reported on each activity event. Events without a market count only in unfiltered figures. |
| Currency | EUR only. Activity in any other currency is rejected when it is received, and no conversion takes place. |
| Account floor | On KPIs marked "Floor: yes", any period with between 1 and 49 distinct accounts behind it is returned as suppressed. See Privacy thresholds. |
Own KPIs
Available| ID | Name | Unit | Partner | Floor | Market | Breakdown |
|---|---|---|---|---|---|---|
own.rounds | Rounds | count | Operator, game provider | Yes | Yes | Yes |
own.bet_eur | Turnover | EUR | Operator, game provider | Yes | Yes | Yes |
own.win_eur | Wins paid | EUR | Operator, game provider | Yes | Yes | Yes |
own.ggr | GGR (bet − win) | EUR | Operator, game provider | Yes | Yes | Yes |
own.active_accounts | Active accounts | count | Operator, game provider | Yes | Yes | Yes |
own.linked_players | Linked players | count | Operator, game provider | Yes | No | No |
own.new_links | New links | count | Operator, game provider | No | No | No |
own.unlinks | Unlinks | count | Operator, game provider | No | No | No |
own.link_intents | Link intents created | count | Operator | No | No | No |
own.link_conversion | Link conversion | ratio | Operator | No | No | No |
own.points_issued | Points issued | points | Operator, game provider | Yes | No | No |
own.ingest_acceptance | Events accepted | ratio | Operator, game provider | No | No | No |
own.batch_latency_p95 | Batch latency p95 | seconds | Game provider | No | No | No |
Breakdowns split a KPI by market, game or counterpart (your own integration partners). They are available for the five activity KPIs only.
Activity KPIs
All five are built from settled game rounds received in activity batches and uploads, dated by when the round occurred. One round counts once for its operator and once for its game provider. Floor: yes, on distinct active accounts. Market: yes.
own.rounds: Rounds
- Definition: number of settled rounds accepted for your organisation.
- Grain: one round.
- Limitations: counts every accepted round, whatever its stake.
own.bet_eur: Turnover
- Definition: sum of stakes on accepted rounds, in EUR.
- Grain: one round.
- Limitations: EUR only; no conversion.
own.win_eur: Wins paid
- Definition: sum of wins on accepted rounds, in EUR. A round reported without a win counts as zero.
- Grain: one round.
own.ggr: GGR (bet − win)
- Definition: turnover minus wins paid for the period. Can be negative.
- Grain: derived per period.
- Limitations: a gameplay-based figure, not operator-reported GGR.
Operator-reported GGR and net revenue are overview KPIs (
ggr,net_revenue) fed by fact ingest.
own.active_accounts: Active accounts
- Definition: distinct accounts with at least one accepted round in the period.
- Grain: distinct account per period.
- Limitations: a day period gives daily actives, a week weekly actives and a month monthly actives. Periods do not add up to the total.
Linking KPIs
own.linked_players: Linked players
- Definition: distinct players linked to you on at least one day of the period.
- Grain: player per day.
- Source: daily record of player links in force. For a game provider this includes players linked through its integrations.
- Time: the day the link was in force. A player counts on every day a link was in force, including the day it ended.
- Limitations: rebuilt for recent days every 15 minutes by default, so it can lag a new link briefly.
- Floor: yes, on itself.
own.new_links: New links
- Definition: distinct players whose link to you became effective in the period.
- Grain: distinct player per period.
- Source: player link records, including links made through your integrations.
- Time: when the link became effective.
- Limitations: a player linked through more than one route counts once.
- Floor: no. This KPI describes your own operations.
own.unlinks: Unlinks
- Definition: distinct players whose link to you ended (unlinked by the player or revoked) in the period.
- Grain: distinct player per period.
- Source: player link records.
- Time: when the link ended.
- Limitations: a count, not a rate.
- Floor: no.
own.link_intents: Link intents created
- Definition: link intents you created in the period. A link intent is the start of a link from your site.
- Grain: one intent.
- Partner: operators only.
- Time: when the intent was created.
- Floor: no.
own.link_conversion: Link conversion
- Definition: intents created in the period that were completed, divided
by intents created in the period.
nullwhen none were created. - Grain: ratio per period.
- Partner: operators only.
- Time: when the intent was created.
- Limitations: an intent completed later still counts toward the period it was created in, so recent periods can rise afterwards.
- Floor: no.
Points KPI
own.points_issued: Points issued
- Definition: sum of points PlayerPal credited for activity from your integrations.
- Grain: one ledger credit.
- Source: the PlayerPal points ledger.
- Time: when the credit was written.
- Currency: points, not money.
- Limitations: credits only. Redemptions and reversals are not netted off.
- Floor: yes, on distinct players who received points.
Integration health KPIs
own.ingest_acceptance: Events accepted
- Definition: 1 minus (rejected events ÷ events received) over activity
events received through your integrations.
nullwhen none were received. - Grain: one activity event.
- Time: when the event was received.
- Limitations: an event not yet processed counts as accepted until it is rejected. Covers activity only, not fact ingest.
- Floor: no.
own.batch_latency_p95: Batch latency p95
- Definition: 95th percentile of the time from receiving an activity batch to finishing it, in seconds.
- Grain: one activity batch.
- Partner: game providers only.
- Time: when the batch was received.
- Limitations: batches not yet finished are left out.
- Floor: no.
Network comparison KPIs
AvailableComparison KPIs set your players against the rest of the network: players of other partners of your type. They cover closed calendar months or closed ISO weeks only, globally and per market. Each response gives your value, the network's p25, p50, p75 and mean, an index (your value ÷ network median × 100) and your quartile band.
| ID | Kind | Definition | Partner | Market split |
|---|---|---|---|---|
cmp.active_days | Per player | Median distinct active days per player with you, against the per-player distribution elsewhere | Operator, game provider | Yes |
cmp.rounds_per_player | Per player | Median rounds per player | Operator, game provider | Yes |
cmp.bet_per_player | Per player | Median turnover per player, EUR | Operator, game provider | Yes |
cmp.ggr_per_player | Per player | Median bet − win per player, EUR | Operator, game provider | Yes |
cmp.points_per_player | Per player | Median points credited per player | Operator | Global only |
cmp.avg_stake | Ratio | Total turnover ÷ rounds, EUR | Operator, game provider | Yes |
cmp.payout_ratio | Ratio | Total wins ÷ total turnover | Operator, game provider | Yes |
cmp.churn_rate | Ratio | Players active with you in the previous period who were not active in this one, ÷ players active in the previous period | Operator, game provider | Yes |
cmp.link_conversion | Ratio | Completed ÷ created link intents | Operator | Global only |
cmp.multi_homing | Cross-partner | Median number of partners of your type each of your players is active with | Operator, game provider | Yes |
cmp.overlap_rate | Cross-partner | Share of your players also active with at least one other partner of your type (never which one) | Operator, game provider | Yes |
cmp.share_of_wallet | Cross-partner | Your players' turnover with you ÷ their turnover with all partners of your type | Operator, game provider | Yes |
- Per player: one unit per player and partner relationship. Your value is your players' median.
- Ratio: one value per partner. Your ratio is compared with other partners' ratios.
- Cross-partner: describes your players' activity with other partners, so your own value is shown only when that activity also passes the anonymity rules.
A market that is too thin to publish falls back to the global figure and says so. See Privacy thresholds.
Benchmark KPIs
AvailableBenchmarks compare your own total for a closed period with anonymous peers of the same partner type. The response gives the peers' p25, p50, p75 and mean, the peer count as a band, and your quartile band.
| ID | Market split |
|---|---|
own.rounds | Yes |
own.bet_eur | Yes |
own.ggr | Yes |
own.active_accounts | Yes |
own.linked_players | Global only |
own.ingest_acceptance | Global only |
own.link_conversion | Global only (operators) |
Overview KPIs
The partner overview computes these KPIs from facts partners send through
fact ingest and from the points ledger. Every
value carries a dataAvailability field, so a missing feed is never shown as a
zero.
dataAvailability | Meaning |
|---|---|
available | Computed from delivered facts |
requires_feed | The feed it needs has not delivered for you yet; the response names the feed |
not_applicable | Not shown to your partner type, for example commercial KPIs for game providers |
suppressed | Fewer than 50 active players in the range |
Which players count: operators see their own players, game providers see players of their games, and affiliates see only their verified-attributed players. Ratio trends are in percentage points; other trends are relative.
Engagement and retention
AvailableSource: game provider gameplay feed. Shown to operators, game providers and affiliates.
| ID | Name | Definition |
|---|---|---|
active_players | Active players | Distinct players with gameplay in the period |
new_players | New players | Players whose first gameplay with you falls in the period |
sessions_per_player | Sessions per active player | Total sessions ÷ active players |
active_minutes_per_player | Active minutes per player | Active gameplay minutes ÷ active players |
games_per_player | Games per player | Distinct games played ÷ active players |
d1_retention | D1 retention | New players who played again within days 1–7 |
d7_retention | 7-day retention | New players who played again within days 7–13 |
d30_retention | 30-day retention | New players who played again within days 30–36 |
at_risk_players | Players at risk | Active in the 30 days before the last 14, but not in the last 14 |
Retention counts only new players whose whole observation window has passed, so recent cohorts are not biased low.
Commercial
AvailableSource: operator commercial feed. Shown to operators and affiliates only.
| ID | Name | Definition |
|---|---|---|
depositors | Depositors | Players with at least one successful deposit |
ftd_count | First-time deposits | Players whose first successful deposit falls in the period |
deposits_amount | Deposits | Successful deposit amount, EUR |
ggr | GGR | Operator-reported gross gaming revenue, EUR |
net_revenue | Net revenue (NGR) | Operator-reported GGR less bonus cost, EUR |
repeat_deposit_rate | Repeat deposit rate | Depositors with more than one deposit ÷ depositors |
Points
Available| ID | Name | Definition | Shown to |
|---|---|---|---|
points_earned | Points earned | PlayerPal points credited from gameplay | Operators, game providers, affiliates |
Rewards and missions
In developmentThese KPIs depend on the rewards shop and missions, which are in development. Definitions may change. Shown to operators and affiliates.
| ID | Name | Definition |
|---|---|---|
points_redeemed | Points redeemed | Points spent on fulfilled rewards |
reward_conversion_rate | Reward conversion rate | Players who redeemed ÷ active players who could afford a reward |
repeat_redeemer_rate | Repeat redeemers | Redeemers with two or more fulfilled rewards ÷ redeemers |
time_to_first_redemption | Time to first redemption | Median days from first gameplay to first reward |
mission_completion_rate | Mission completion rate | Missions completed in the period ÷ missions started in the period |