# iGaming KPIs for CRM and Retention: Formulas and How to Read Them

CRM and retention KPIs for casinos and sportsbooks: definitions, formulas, activity versus business results, and how to read each against a control group.

A KPI for CRM and retention is a measure that ties player communication to a result. In iGaming the useful ones fall into two groups. Activity KPIs show what the team and the platform did. Business KPIs show what players did and what it earned after costs.

This guide defines thirteen KPIs with formulas, marks which group each belongs to, and then shows how to read the business KPIs against a control group. Every formula assumes a cohort fixed on a date and a window agreed before launch.

## Activity KPIs and business results

Activity KPIs are inputs. They help the team find delivery problems and compare channels. They do not prove that a campaign worked.

Business KPIs are outputs. They count depositors, deposits and net revenue in the contacted group, and they reach a conclusion only when compared with a control group or a baseline.

| Group | KPI examples | Question it answers |
| --- | --- | --- |
| Activity | Messages sent, delivery rate, click rate, calls answered, conversation outcomes recorded | Did the campaign run as planned |
| Business result | Deposit rate, NGR per player, NGR after cost, ROMI, incremental lift | Did players act and did the operator earn |

A campaign can score well on every activity KPI and still produce no additional deposits. The reverse also happens: a plain campaign with modest delivery numbers can lift NGR. Report both groups, and decide on the second.

## Activity KPIs

### Delivery rate

Delivery rate shows how many contacts reached the player or the channel.



- **Delivery rate** = delivered messages / sent messages



A low rate points to data quality, consent status or channel setup. It says nothing about response.

### Response rate

This rate shows how many delivered contacts produced an interaction.



- **Response rate** = players who clicked, replied or answered / delivered contacts



Define "response" once for all channels. A reply to a chat and a click in an email are different events, so keep a separate rate per channel.

### Conversation outcome rate

For calls and chats, record the outcome of each conversation: reached, agreed, declined, no answer, do not contact. The rate of each outcome is its count divided by the number of attempts.



- **Outcome rate** = conversations with outcome X / contact attempts



Outcomes feed CRM. A "do not contact" outcome removes the player from later waves. Without recorded outcomes, the next campaign repeats the same mistakes.

## Retention and lifecycle KPIs

These KPIs measure how a cohort behaves over time. They are business measures, but they describe the base. They become campaign results only when compared with a control group.

### Retention rate

[Retention rate](/glossary/retention-rate/) is the share of a cohort that is still active after a set period.



- **Retention rate** = players from the cohort active in period N / players in the cohort at the start



State what "active" means: a login, a bet or a deposit. Keep the definition fixed across cohorts.

### Churn rate

[Churn rate](/glossary/churn-rate/) is the share of the cohort that stopped being active in the period.



- **Churn rate** = 1 − retention rate



Use the same activity rule and the same period as for retention. The two rates then add up to one.

### Reactivation rate

[Reactivation rate](/glossary/reactivation-rate/) applies to a dormant cohort: players who met the dormancy rule on the cohort date.



- **Reactivation rate** = dormant players who return to the agreed action in the window / dormant players in the cohort



Choose the agreed action before launch. Use a deposit, because a deposit connects to revenue. A login-based rate is a different metric and needs its own name.

### First deposit conversion

The first deposit (FTD) rate measures the step from registration to a first deposit.



- **FTD rate** = players with a first deposit in the window / registrations in the cohort



Second deposit rate uses the same structure: players with a second deposit divided by players with a first deposit. Both show where the lifecycle loses players.

## Campaign economics KPIs

These are the measures that decide whether a campaign earns its cost. Use [NGR](/glossary/ngr/) as the revenue basis, because it reflects bonus cost, taxes and fees.

### Deposit rate and depositors



- **Deposit rate** = depositors in the group / players in the group



Calculate it separately for the contacted group and the control group.

### NGR per player



- **NGR per player** = group NGR in the window / players in the group



Use the same NGR definition and the same window for every group. Agree the definition and the attribution window before launch.

### Cost per depositor



- **Cost per depositor** = campaign cost / depositors



This is a cost-efficiency measure, most useful under a cost-per-thousand pricing model. It does not say whether the depositors were additional.

### NGR per €1 of fee



- **NGR per €1 of fee** = campaign NGR / fee paid for the campaign



Use it under a revenue-share model, where the fee is a share of NGR.

### ROMI



- **ROMI** = (NGR attributed to the campaign − campaign cost) / campaign cost



An attributed NGR of 3 times the cost gives a ROMI of 200%. State which NGR goes into the formula: all NGR from the contacted group, or only the part above the control group. The second choice is the one to trust.

### Incremental lift

[Incremental lift](/glossary/incremental-lift/) is the difference between the contacted group and the control group.



- **Incremental NGR** = (NGR per player, contacted − NGR per player, control) × players contacted



Incremental lift is the number that separates a campaign effect from activity that would have happened anyway.

## How to read KPIs against a control group

A control group is a random part of the eligible audience that receives no campaign contact. Both groups are fixed on the same date, pass the same exclusions and are measured over the same window with the same NGR definition.

1. Fix the cohort on a date and apply the exclusions.
2. Split the eligible players at random into contacted and control.
3. Run the campaign for the contacted group only.
4. Measure deposit rate and NGR per player in both groups.
5. Take the difference and multiply by the contacted players.
6. Subtract campaign cost and divide by cost to get ROMI.



**Example.** A cohort has 12,000 eligible players. 10,000 are contacted and 2,000 are held out. The contacted group makes 900 depositors (9.0%) and €120,000 NGR (€12.00 per player). The control group makes 120 depositors (6.0%) and €18,000 NGR (€9.00 per player). Incremental depositors: (9.0% − 6.0%) × 10,000 = 300. Incremental NGR: (€12.00 − €9.00) × 10,000 = €30,000. Campaign cost is €10,000, so ROMI = (30,000 − 10,000) / 10,000 = 200%.



**Reported NGR and NGR caused by the campaign**

- NGR of contacted group: €120,000
- NGR above control group: €30,000
- After campaign cost: €20,000

The contacted group reports €120,000. Only €30,000 of that is above what the control group predicts, and €20,000 remains after cost. A report that stops at the first bar shows four times the NGR the campaign caused.

### When no control group is possible

Sometimes a hold-out is not possible, for example for a service notice that goes to everyone. Then agree a reliable baseline before launch: the same cohort definition from an earlier period, with the same window and the same NGR definition. A baseline is weaker than a control group because the period itself changes. Record this when the result is reported.

## Common mistakes with iGaming KPIs



- Reporting GGR where NGR is meant, so bonus cost disappears from the result.
- Changing the definition of "active" or "dormant" between cohorts.
- Measuring contacted and control groups over different windows.
- Choosing the target action after the campaign has run.
- Leaving self-excluded players and players on a break inside the denominator.
- Treating a rise in opens or clicks as a rise in deposits.
- Counting one player in two overlapping campaigns without a rule for attribution.



Overlapping campaigns need one agreed attribution rule, and exclusion lists need a single source. Put both in the team playbook.

## A KPI set for a CRM team

A short set is easier to run than a long one. For each lifecycle stage keep one business KPI and one or two activity KPIs.

| Stage | Business KPI | Activity KPI |
| --- | --- | --- |
| Welcome and onboarding | FTD rate | Delivery rate, response rate |
| Second deposit | Second deposit rate | Response rate |
| Retention | Retention rate, NGR per player | Outcome rate |
| Reactivation | Reactivation rate, NGR after cost | Outcome rate, delivery rate |

Campaign results from Gamble Grip are published with the same logic: a fixed cohort, an agreed metric and a stated cost. The [campaign results](/campaign-records/) page shows them by market every month.

## FAQ

### Which KPIs matter most for iGaming CRM?

Deposit rate in the contacted group, NGR per player, NGR after campaign cost and incremental lift against a control group. Activity KPIs such as delivery and click rates help run the campaign, but they do not show a business effect.

### What is the difference between an activity KPI and a business result?

An activity KPI counts what the team or the system did, such as messages sent or calls answered. A business result counts what players did and what it earned, such as depositors and NGR. Activity can rise while results stay flat.

### Why use NGR instead of GGR for campaign KPIs?

NGR is revenue after bonuses, taxes and fees, so it includes the cost a campaign causes. A campaign that lifts GGR but pays out most of it in bonuses shows a gain in GGR and little or none in NGR.

### How do you set up a control group for a CRM campaign?

Fix the audience on a date, apply the exclusions, then hold out a random part of the eligible players who receive no campaign contact. Measure both groups over the same window with the same definition of NGR. If a random hold-out is not possible, agree a reliable baseline before launch.

### What is a good reactivation rate or retention rate?

A fixed benchmark is not reliable, because the rate depends on how the cohort and the window are defined. Compare your own rate across cohorts that use identical definitions, and compare the contacted group with its control group.
