This article is the complete reference for Personalize Insights: what each metric means, exactly how it is calculated, where the data comes from, and its known limitations. It covers V1, the version live today, and it grows with each release rather than being replaced. For a higher-level introduction, see Personalize Insights Overview.
It is written in layers. The first sections are plain language and are enough for most readers. From How We Measure onward, it goes into the depth a data or analytics team would want in order to understand exactly how the numbers are produced, including the calculations, data sources, and known limitations.
Every V1 Metric at a Glance
Every figure on the V1 dashboard and how it is calculated. All metrics are calculated for the selected brand and date range. The Funnel and Top Games also respect the placement filter, while Total Revenue is always brand-wide.
| Metric | What It Answers | How It's Calculated | Scope | Caveats |
|---|---|---|---|---|
| Total Revenue (headline) | Your brand's total revenue for the period | Your brand's daily revenue, summed across the selected period | Whole brand | Brand-wide; not attributed to Personalize; unaffected by the placement filter. Uses a simpler estimate where detailed financial data is not available |
| Total Revenue (sparkline) | Daily revenue trend | The same revenue, plotted day by day | Daily | The headline figure is the sum of this series |
| Customers Reached | Unique customers who received at least one recommendation | An approximate count of distinct customers reached (HyperLogLog) | Unique customers over the period; per placement or total | Approximate, with typical error under 1%. A customer is counted once even if reached across placements |
| Recommendations Delivered | How many recommendations were delivered | Total number of recommendation deliveries | Count over the period; per placement or total | Counts each delivery, not each individual game within it. Not a unique count |
| Opened | Attributed launches of recommended games | Count of game launches that happened within 10 minutes of a matching recommendation | Count over the period; per placement or total | Counts launches, including repeats, not unique customers, so it can exceed Customers Reached |
| Top Games — Customers Reached | Unique customers a game was recommended to | Approximate distinct customers per game (HyperLogLog) | Per game, over the period; per placement or total | Approximate, with typical error under 1%. A customer is counted once even if reached across placements |
| Top Games — Recommendations | Times a game was recommended | Total recommendations for the game | Per game, over the period; per placement or total | Not a unique count |
| Top Games — Opened | Attributed launches per game | Attributed launches for the game, as Opened above | Per game, over the period; per placement or total. The list is ranked by Opened | As Opened above |
| Conversions | Share of customers who went on to play a game they were recommended | Not yet live | — | Shown as "coming soon" in V1. See Versions |
Defining every figure once, calculating it consistently, and documenting it openly is what makes the dashboard trustworthy: you never have to take a number on faith.
Let's dive into the details, metric group by metric group.
Revenue Metrics
Total Revenue
When answering "Is Personalize driving revenue?", Personalize Insights will show you Total Revenue: the total revenue your brand generated across all games in the selected period. It is a brand-wide figure shown for context. It is not limited to games that were recommended, and it stays the same whichever placement you are viewing.
Funnel Metrics
The Funnel answers "is Personalize active and working?" across three steps.
Customers Reached
The number of unique customers who received at least one recommendation in the period. Each customer is counted once, even if they were reached across several placements.
Recommendations Delivered
How many times recommendations were delivered to customers. This counts each delivery, not each individual game inside it.
Opened
How many times customers launched a recommended game shortly after seeing it recommended. This counts launches rather than unique customers, so it can be larger than Customers Reached.
Top Games Metrics
Top Games
The same three measures — Customers Reached, Recommendations, and Opened — broken down per game and ranked by Opened. Use it to see which recommended games are driving the most engagement.
Reading the Dashboard
Brand, date range, and placement filters persist while you are in the dashboard.
- Date range: sets the period every metric is calculated over.
- Placement: "All placements" shows aggregated metrics; selecting one shows that placement only. The exception is Total Revenue, which is always brand-wide and does not change with the placement filter.
- Currency: if your brand records revenue in more than one currency, the currency selector filters Total Revenue to a single currency. The figure shown is the sum of revenue recorded in that currency only. Currencies are never combined into one total and nothing is converted between them.
- Data freshness: the underlying data refreshes daily.
How We Measure
Attribution: What "Opened" Counts
To connect a recommendation to a play, we use a 10-minute attribution window. For each game-play event we look backward in time and find the most recent recommendation of the same game to the same user. If that recommendation happened within 10 minutes before the play, the play is attributed.
User is recommended Game X at 14:00 → plays Game X at 14:07 → attributed (7 min, inside the window) → plays Game X at 15:30 → not attributed (90 min, outside the window) → plays Game Y at 14:05 → not attributed (different game) User plays Game Z (never recommended) → not attributed
This is standard last-touch attribution: each play is matched to its most recent qualifying recommendation and no other, so a play is never counted twice.
Why 10 minutes? A play within ten minutes of seeing a recommendation is very likely a response to it. Wider windows, such as an hour or a day, start sweeping in plays the customer would have made anyway, which inflates the numbers and erodes trust. Ten minutes is the established window across the platform.
Why Total Revenue Is Brand-Wide Today
Total Revenue is deliberately your brand's whole revenue for the period, not an attempt to claim a slice as "generated by Personalize".
The honest reason: attribution depends on where a placement sits on your site. A recommended game is often also reachable from more prominent areas of the page, so counting every subsequent play, and its revenue, as caused by the recommendation would over-claim. Rather than present a shaky attributed-revenue figure, V1 shows your true total as context.
This is a V1 stopgap. From V2 the dashboard introduces a Control Group: a held-back set of customers who do not receive personalized recommendations. That lets us stop guessing after the fact and instead measure Personalize's impact by comparison, where the difference between the personalized (test) group and the Control Group is the value Personalize actually adds.
This controlled comparison, known as Intent-to-Treat, answers "how much did Personalize drive?" more accurately, and with far greater confidence, than per-placement attribution. That is exactly why we wait for it rather than show an attributed revenue figure now. The revenue-uplift figure built on it follows as the Control Group data matures. Until then, Total Revenue stays brand-wide context.
Unique Counts and HyperLogLog
Customers Reached is a unique count: each customer once, however many placements reached them. Counting uniques exactly over any arbitrary date range is expensive, so we use HyperLogLog (HLL), a well-established approximate distinct-count method. It lets any date range be computed cheaply and consistently, at a typical error under 1%. The same deduplication approach is applied consistently across the unique metrics, so the relationships between them stay sound.
Data Freshness
Aggregates refresh daily. Recent rows, roughly the last two days, can still settle as late data arrives; older rows are frozen.
What V1 Deliberately Does Not Claim
- No Test vs Control Group comparison, so no "better than no personalization" claim yet.
- No conversion rate as a live metric — it is shown as "coming soon".
- No attributed or incremental revenue — Total Revenue is context, not credit.
These are added, with the data to stand behind them, in later versions.
Where the Data Comes From
Personalize Insights is built from three inputs, combined into daily summaries that the dashboard reads:
- Recommendation events: every recommendation served, across both single-placement and multi-placement (layout) surfaces.
- Game-play events: when customers launch games, used with the 10-minute window to work out which plays followed a recommendation.
-
Financial data: based on
game_summary, the revenue you send us, used for Total Revenue. Total Revenue is based on stake (turnover); we also hold gross gaming revenue (GGR) and bet count for future use.
For more on the underlying events, see the game session events guide in the Optimove Developer Hub.
Data refreshes daily, and the most recent days, roughly the last two, may still settle as late data arrives. Unique customer counts cannot simply be added up across days, so they are always calculated correctly over whatever date range you choose.
Accuracy, Confidence, and Known Limitations
We would rather show fewer numbers that we are confident in. The main things to keep in mind:
- Unique counts are approximate. HLL trades a tiny amount of accuracy, typically under 1%, for the ability to compute uniques over any date range cheaply and consistently. Unique figures may differ by up to 1% from an exact count.
- Attribution depends on placement position. Because a recommended game is often also reachable elsewhere on your site, attributed engagement can over- or under-state Personalize's true influence depending on where the placement sits. This is exactly why V1 keeps Total Revenue brand-wide, and why the "did Personalize add value?" question is answered later with a controlled Test vs Control Group comparison rather than time-based attributed revenue.
- Revenue is highly skewed. In gaming, a small fraction of players can account for a large share of turnover, so an average revenue figure is noisy and can swing on the activity of a few customers. When revenue uplift arrives in V3 it will use a geometric mean, a t-test on log-transformed revenue, which reflects the typical customer without being dominated by the heaviest few.
- Financial data varies by client. Clients send financial data at different granularities and cadences, whether per session, per day, or per spin, and some do not send game codes. Total Revenue degrades gracefully to a naive fallback where financial data is missing, and later revenue metrics depend on financial data being sent in a known shape. For further information, see our events documentation here.
- Revenue currency is not converted. Revenue is shown in the native currency it was recorded in. Where a brand records revenue in more than one currency, each is reported separately and can be switched with the currency selector. Values are not converted between currencies.
Statistical Confidence Takes Time
Some metrics need a run of days before a reported difference is trustworthy.
| Metric | Minimum period to trust |
|---|---|
| Conversion lift | About 1 day (large, clear effect) |
| Plays-per-user lift | About 1 to 3 days |
| Geometric revenue uplift | About 5 to 7 days |
| Average (arithmetic) revenue | 4 or more weeks (very noisy) |
Versions
Each release extends this dashboard, and this article, rather than replacing it.
| Version | Question It Answers | Adds | Status |
|---|---|---|---|
| V1 | Is Personalize active and driving value? | Total Revenue, the Funnel (Reached, Delivered, Opened), Top Games | Live |
| V2 | Is it better than no personalization? | Conversion rate; Test vs Control Group; conversion lift | Planned |
| V3 | How much revenue is it driving? | Revenue uplift (Intent-to-Treat, geometric mean) | Planned |
| V4 | Where and how do I optimize? | Trends over time | Under consideration |
Glossary
- Attribution window: the time within which a play is counted as a response to a recommendation, which is 10 minutes.
- Attributed play: a play that occurred within the window after a recommendation for the same game.
- HLL (HyperLogLog): an approximate method for counting unique values cheaply over any date range.
- ITT (Intent-to-Treat): comparing the whole test and Control Group populations, regardless of whether they engaged, which measures value more accurately and with greater confidence.
- Geometric mean: an average of log-transformed values; reflects the typical customer without being dominated by the heaviest spenders.
- Stake, or turnover: the total amount wagered.
- GGR: gross gaming revenue.
- Bet count: the number of bets placed.
- Test and Control Group: customers who receive personalized recommendations versus random recommendations, used to measure lift.
Version History
- V1: initial article. Total Revenue, the Funnel (Customers Reached, Recommendations Delivered, Opened), and Top Games; attribution, HLL, data sources, and limitations.