1. Two different lenses on player value
Whale/Dolphin/Minnow and RFM are both segmentation tools, but they answer different questions.
| Framework | Main question | Main inputs | Best use |
|---|---|---|---|
| Minnow / Dolphin / Whale | How much does this payer spend compared with other payers? | Spend / payer percentile | Payer value, monetization, VIP analysis |
| RFM | How recent, frequent, and valuable is this player's behavior? | Recency + Frequency + Monetary | Loyalty, churn risk, reactivation, value state |
2. Minnows, Dolphins & Whales
These are informal free-to-play monetization labels for different levels of payer value. Unity explicitly notes that the categories differ by game and genre; there is no universal dollar threshold that defines a Whale. [1]
Minnow
A paying player who spends relatively little compared with the rest of the payer base.
Typical behavior: starter pack, remove-ads purchase, occasional cheap bundle.
Dolphin
A medium-value payer who spends more consistently or at larger amounts than Minnows, but far less than the highest spenders.
Typical behavior: repeat bundles, battle pass, event purchases, periodic currency packs.
Whale
One of the highest-spending payers in the game. Whales are usually few in number but can contribute a disproportionate share of IAP revenue.
Typical behavior: repeated high-value purchases, strong investment in progression, collection, competition, or convenience.
A useful percentile method
GameAnalytics published a historical analysis that divided monetizers using the 50th and 90th percentiles of total spend distribution. [2]
| Payer percentile | Example segment | Interpretation |
|---|---|---|
| Bottom 50% | Minnows | Lower-spending half of payers |
| 50th–90th percentile | Dolphins | Middle/high spenders below the top tier |
| Top 10% | Whales | Highest-spending 10% of payers |
Current industry context
AppsFlyer's 2024 gaming report describes Whales as roughly the 2–5% of big spenders who often contribute more than half of game revenue, and reports one Android cut where the top 5% of paying users generated 45.95% of average IAP revenue per app. [3]
That does not conflict with a top-10%-payer definition; it shows why the exact threshold must be defined by the analyst.
3. How payer percentiles are calculated
Percentiles are based on rank among payers, not a fixed dollar value.
Step 1 — choose the spending window
Examples:
- 30-day IAP spend
- 90-day IAP spend
- Lifetime IAP spend
Step 2 — sort payers by spend
| Rank | User | 30-day spend |
|---|---|---|
| 1 | A | $1 |
| 2 | B | $2 |
| 3 | C | $3 |
| 4 | D | $5 |
| 5 | E | $7 |
| 6 | F | $10 |
| 7 | G | $15 |
| 8 | H | $30 |
| 9 | I | $80 |
| 10 | J | $200 |
Step 3 — calculate percentile rank
For User F, Rank = 6 and N = 10:
Step 4 — apply your segment thresholds
Percentile threshold view
If your 10,000 payers have these spend percentiles:
An example segmentation could be: Minnow < $4, Dolphin $4–$45, Whale ≥ $45, with an optional “super-whale” group above P99.
4. User share is not revenue share
A small segment can generate a very large share of revenue.
| Segment | Share of payers | Illustrative revenue | Revenue share |
|---|---|---|---|
| Minnows | 50% | $4,500 | 5% |
| Dolphins | 40% | $24,000 | 27% |
| Whales | 10% | $60,000 | 68% |
Illustrative example; not an industry benchmark.
GameAnalytics' older 2016 sample of 175M active users found that the Whale cohort generated 86.6% of revenue in that dataset; importantly, their revenue measure included both IAP and advertising. Treat this as a historical example of concentration, not a 2026 benchmark. [2]
Metrics worth tracking by payer segment
- Payer count and payer share
- Revenue share
- ARPPU
- Purchase frequency
- Average transaction value
- Retention
- LTV
- Time to first purchase
- Minnow → Dolphin migration
- Dolphin → Whale migration
- Whale churn
5. Unit economics foundations
Be careful with small sample sizes
Growth metrics become more reliable when they are calculated over a sufficiently large number of users. A single unusual payer can distort ARPU, ARPPU, conversion, retention, and LTV estimates when the sample is small.
10 players: 9 spend $0, 1 Whale spends $100.
The arithmetic is correct, but it would be misleading to conclude that a normal player is worth $10.
With thousands of users, one unusual payer has much less influence on the average.
Always ask: How many users produced this metric?
ARPU vs LTV — the distinction that matters
ARPU and LTV are related because both express value on a per-user basis, but they answer different questions.
ARPU asks: How much revenue did the average user generate during this specific window?
Adjust defines ARPU as average revenue generated per user over a specified period.
Source: Adjust — ARPULTV asks: How much value will the average user generate over the full relationship with the game?
Adjust describes LTV as the value a user generates over the duration of their relationship with the app.
Source: Adjust — LTVWhy the two metrics can look similar
Imagine a cohort of 10,000 users. Their cumulative revenue per user grows as the cohort ages:
| Cohort age | Cumulative revenue per user | How to read it |
|---|---|---|
| D1 | $0.20 | The cohort has generated $0.20 per original user by D1. |
| D7 | $0.90 | Cumulative D7 ARPU / observed D7 value. |
| D30 | $1.70 | Cumulative D30 ARPU / observed D30 value. |
| D90 | $2.40 | The same cohort has accumulated more value. |
| Lifetime estimate | $3.20 | Predicted final LTV if future value is modeled. |
Observed LTV vs predicted LTV
Revenue already realized by the cohort.
Observed value plus expected future revenue.
CPI and CAC — company working definition
Suppose acquisition spend is $6,000 and the campaign directly generates 3,000 paid installs:
During the same period, another 500 users arrive organically. In this company, CAC is defined using all new users acquired during the period:
| Metric | Definition used in this guide |
|---|---|
| CPI | Paid acquisition spend ÷ paid attributed installs. |
| CAC | Total acquisition spend ÷ all new users acquired in the period, including paid and organic users. |
Why organic users matter — and what “incrementality” means
Organic users still generate revenue, so including them in the company's CAC can make sense for a business-level acquisition view. If $6,000 of marketing activity happens during a period in which 3,500 total users enter the game, the company can evaluate how much it spent relative to the total new audience that will generate future value.
However, there is a separate causal question:
Incrementality is the idea of measuring the extra users or revenue that happened because of the campaign compared with what would have happened without it. For example, brand exposure, store ranking, word of mouth, or search demand can create an organic lift—but not every organic install during a campaign should automatically be credited to advertising.
LTV:CAC and ROI
These metrics answer different questions.
What LTV:CAC tells you
LTV:CAC is an efficiency ratio. It compares how much lifetime value a user generates with how much it cost to acquire that user.
- 1:1 — lifetime value equals acquisition cost before considering other operating costs.
- 2:1 — $2 of lifetime value for every $1 of acquisition cost.
- A higher ratio usually gives more economic room to scale, but very high ratios can also mean you are under-spending and leaving growth opportunities unused.
What ROI tells you
ROI measures the net return relative to the investment. Unlike LTV:CAC, it explicitly subtracts the cost first.
In a simplified user-acquisition example, if LTV is treated as the return and CAC as the investment:
Source: AppsFlyer — ROI metrics
6. Target ROAS & the efficiency–scale tradeoff
ROAS compares attributed revenue (or conversion value) with ad spend.
If $100 of ad spend produces $80 of attributed conversion value:
What Target ROAS tells Google
With Target ROAS bidding, Google predicts the value of potential conversions and adjusts bids to maximize conversion value while trying to achieve the average ROAS target you set. Google also warns that setting the target too high can limit traffic; lowering it can let the strategy enter more auctions and generate more volume.
Source: Google Ads — Target ROAS bidding
Why an 80% ROAS campaign is not automatically a guaranteed loss
An 80% campaign-attributed ROAS means the ad platform is currently attributing $0.80 of conversion value for each $1 of ad spend in the measurement window. It does not necessarily mean the entire acquisition effort loses $0.20 per dollar forever.
There are two important reasons:
1. Revenue can continue after the reporting window
A D7 ROAS of 80% can become D30 ROAS above 100% if retained players keep purchasing or generating ad revenue.
2. Organic users are entering the game too
While a paid campaign is running, organic users can also install and generate future revenue. Under the company's CAC definition, those users are part of the total acquisition base and can improve overall unit economics.
The practical decision
The right question is not simply “Is ROAS below 100% today?” It is:
7. LTV curve & payback period
The LTV curve shows how cumulative average player value grows as a cohort gets older.
| Day | Cumulative LTV |
|---|---|
| D0 | $0.10 |
| D1 | $0.35 |
| D3 | $0.85 |
| D5 | $1.20 |
| D7 | $1.45 |
| D30 | $2.20 |
| D90 | $2.80 |
If acquisition cost is $1.20, then:
D5 is approximately the payback point.
The cohort has not yet recovered acquisition cost.
The cohort has recovered acquisition cost on an average basis.
Why does the curve flatten?
As time passes, retention falls. Fewer players remain to generate IAP, ad impressions, event revenue, or battle-pass purchases. Cumulative LTV can keep increasing, but the slope normally gets smaller.
Payback is not the same as profitability
A cohort can pay back quickly and still have weak lifetime economics, or pay back slowly and eventually become very valuable.
| Cohort | Payback | Lifetime LTV | Interpretation |
|---|---|---|---|
| A | D7 | $1.05 on $1 CAC | Fast payback, weak upside |
| B | D30 | $4.00 on $1 CAC | Slower payback, much stronger lifetime value |
8. Meta Lookalike & retargeting
Lookalike targeting
A Meta Lookalike Audience is used to find new users who resemble an existing audience. Meta describes Lookalikes as a way to reach new people who are similar to your best existing app users.
A useful real example comes from Meta's Owlchemy Labs case study. The studio created Lookalike audiences from purchasers and installers. Meta reports that purchaser-based and app-installer Lookalikes at 1–2% similarity performed strongly, and a 2% Lookalike audience combined with new creative reduced CPI from $4.46 to $3.56 in one month—about a 20% reduction.
Source: Meta for Developers — Owlchemy Labs success story
Retargeting / re-engagement
Retargeting does something different. Instead of finding new similar people, it targets known users who already interacted with the app and tries to bring them back or move them to another valuable action.
For a game, retargeting can focus on users such as:
- lapsed high-value payers or Whales,
- players who stopped during a valuable progression stage,
- former event participants,
- users who purchased before but have become inactive.
At the same time, retargeting can still be economically attractive because the audience already knows the game and may convert more efficiently than completely cold users. So “expensive” should be interpreted as higher acceptable cost for a potentially higher-value user, not automatically poor ROI.
Source: AppsFlyer — remarketing pricing context · Adjust — mobile retargeting guide
9. What is RFM? + how to score it
RFM stands for Recency, Frequency, Monetary. It is a classic customer-value segmentation framework used to distinguish customers using only three behavioral variables. [4] [5]
R — Recency
How recently did the player perform the behavior?
Raw value: fewer days is better.
F — Frequency
How often did the player perform the behavior during the chosen window?
Raw value: higher is usually better.
M — Monetary
How much monetary value did the player generate during the chosen window?
Raw value: higher is usually better.
Academic RFM literature similarly defines Recency as time since the latest behavior, Frequency as the number of purchases/transactions within a period, and Monetary as the amount spent/value contributed. [6]
RFM can be adapted to games in two main ways
| Model | Recency | Frequency | Monetary | Use case |
|---|---|---|---|---|
| Engagement RFM | Days since last session | Active days / sessions | Total player revenue | Overall player state and value |
| Purchase RFM | Days since last purchase | # purchases | IAP spend | Payer lifecycle and monetization |
A common implementation assigns each dimension a score from 1 to 5. Oracle documents this 1–5 convention, with 5 representing the strongest recency/frequency/value position. [4]
Quintile scoring
| Population bucket | R Score | F Score | M Score |
|---|---|---|---|
| Best 20% | 5 | 5 | 5 |
| Next 20% | 4 | 4 | 4 |
| Middle 20% | 3 | 3 | 3 |
| Next 20% | 2 | 2 | 2 |
| Weakest 20% | 1 | 1 | 1 |
Worked example
| Player | Days since active | Active days (30d) | Revenue (30d) | RFM score | Interpretation |
|---|---|---|---|---|---|
| A | 1 | 27 | $150 | 555 | Recent, frequent, high value |
| B | 2 | 20 | $30 | 544 | Healthy active payer |
| C | 1 | 25 | $0 | 551 | Very engaged, low monetization |
| D | 15 | 18 | $100 | 255 | Historically valuable; recency risk |
| E | 35 | 2 | $5 | 111 | Low-value / likely lapsed |
Illustrative scoring example. Exact scores depend on the distribution of your own player base.
10. Recency, current audience & lapsed Whales
The meeting emphasized that Recency comes first because it tells us whether the audience is alive right now. Historical spend is useful, but it can become stale.
Lifetime spend: $500
Last active: yesterday
Active Champion Whale.
Lifetime spend: $500
Last active: 90 days ago
Historically valuable, but currently lapsed.
Purchase RFM vs Engagement RFM
| Model | R | F | M |
|---|---|---|---|
| Purchase RFM | Days since last purchase | Purchase count | IAP spend |
| Engagement RFM | Days since last session | Active days / sessions | Total player revenue |
The “dead Whale” idea
The meeting shorthand was “retargeting tries to convert M to R.” More precisely:
You are not converting Monetary into Recency. You are using historical value to decide which low-Recency users deserve attention.
Why can a lapsed Whale justify a higher reacquisition cost?
| User | Expected future value | Reactivation economics |
|---|---|---|
| Normal lapsed player | $0.50 | Very limited budget room |
| Lapsed Whale | $50 | Can justify much higher reacquisition cost |
11. ARPPU vs payer conversion — higher ARPPU is not necessarily better
This was one of the strongest lessons in the meeting: a high ARPPU can look impressive while hiding a very narrow payer base.
Two games, same revenue
| Game A | Game B | |
|---|---|---|
| Total users | 10,000 | 10,000 |
| Payer conversion | 10% | 1% |
| Paying users | 1,000 | 100 |
| ARPPU | $20 | $200 |
| Total IAP revenue | $20,000 | $20,000 |
Game B has 10× higher ARPPU, but it does not generate more revenue. It is simply far more dependent on a small group of spenders.
How ARPPU can improve while the business gets worse
Imagine most Minnows and Dolphins disappear and only the Whales remain.
| Before | After | |
|---|---|---|
| Payers | 100 | 20 |
| Revenue | $5,000 | $2,000 |
| ARPPU | $50 | $100 |
Always read ARPPU with these metrics
A healthy monetization improvement can be:
That can be healthier than trying to make a very small group of Whales spend even more.
12. Retention sits underneath all of this
The meeting ends by connecting monetization back to retention:
Better retention creates more lifetime opportunities for:
- first purchase
- repeat purchase
- rewarded ads / IAA
- LiveOps participation
- social commitment
- progression
- Minnow → Dolphin → Whale development
13. Turning RFM scores into useful player segments
There is no single universal set of segment names. RFM segmentation should be designed around the business question; even RFM practitioners note that segment rules are subjective and domain-dependent. [7]
| Segment | Typical pattern | Game interpretation | Possible action |
|---|---|---|---|
| Champions | High R, F, M | Active, loyal, valuable | VIP care, premium content, protect experience |
| Loyal Players | High R/F | Strong engagement | LiveOps, social systems, progression |
| Promising Non-payers | High R/F, low M | Likes the game but generates little IAP | Rewarded ads, starter offers, value bundles |
| At Risk | Low R, formerly high F/M | Valuable player is becoming inactive | Reactivation, event return, personalized communication |
| Can't Lose | Very low R, high historical M | Lapsed high-value payer | High-priority win-back investigation |
| New / Promising | High R, low F | Recently acquired; little history | FTUE, onboarding, early progression |
| Hibernating / Lost | Low R/F | Inactive and weak engagement | Low-cost reactivation or deprioritize |
14. Common mistakes
- Using arbitrary fixed Whale thresholds without checking your game's payer distribution.
- Ignoring the fact that most users are non-payers; payer segments cover only a small part of the total audience.
- Calling Whale/Dolphin/Minnow segments personas. They are spend/value segments, not motivation-based personas.
- Comparing ARPU and LTV without matching the time window or distinguishing observed from predicted value.
- Using CAC without stating the company definition. In this guide, CAC includes paid + organic new users in the period.
- Treating an 80% short-window ROAS as a guaranteed business loss without checking later LTV, payback, and organic acquisition.
- Forgetting that LTV:CAC is a ratio while ROI subtracts the investment first.
- Using RFM scores without documenting the window and the behavior used for R, F, and M.
- Forgetting Recency direction: fewer raw days since activity is better, but usually receives a higher R score.
- Celebrating higher ARPPU without checking payer conversion, payer count, revenue concentration, and total revenue.
- Treating RFM or payer segments as predictions instead of descriptive behavioral/value states.
- Ignoring segment migration over time, such as Dolphin → Whale or active Whale → lapsed Whale.
15. Cheat sheet
16. Sources & further reading
- Unity — The Definitive Guide to Ad Monetization
Game/genre-specific Whale/Dolphin/Minnow segmentation and monetization treatment. - GameAnalytics — How to Find the Whales in Your Mobile Game
Historical 2016 analysis using the 50th and 90th spend percentiles across 175M active users. - AppsFlyer — State of Gaming App Marketing 2024
Modern whale concentration and payer-revenue distribution context. - Oracle — Recency, Frequency and Monetary Models
RFM definitions and 1–5 scoring convention. - IBM SPSS — RFM Analysis
RFM theory and ranking logic. - Quality & Quantity (2026) — RFM Model Customer Segmentation
Recent academic description of RFM variables and segmentation use. - RFM — Introduction
Practical examples of RFM segment construction and the importance of domain-specific rules. - AppsFlyer — State of App Monetization 2026
Current hybrid IAP/IAA monetization context. - Adjust — ARPU definition
Period-based average revenue per user. - Adjust — Lifetime Value
Relationship between ARPU, cohort value, and LTV. - Google Ads — Target ROAS bidding
How tROAS bidding uses value signals and why overly high targets can limit volume. - AppsFlyer — ROI metrics
ROI calculation and activity-metric definitions. - AppsFlyer — ARPPU vs Conversion Rate
Why payer value and payer conversion answer different questions. - Meta for Developers — Lookalike case study
Example of Lookalikes built from installers/purchasers to find similar new players. - Meta for Developers — Owlchemy Labs
Lookalike audience case study with purchaser/installer audiences and CPI improvement. - Adjust — Retargeting Guide
How mobile retargeting works for existing/lapsed app users. - AppsFlyer — Remarketing pricing context
Why deeper CPA/re-engagement events can carry higher pricing than CPI.