Why this matters
Most teams describe growth with one number. “We did 4,000 signups.” “Revenue is up 12%.” That number tells you the outcome, but not which part of the machine produced it or which part is broken. When growth stalls, the team guesses. Marketing asks for more budget. Product ships another feature. Nobody can prove which move matters.
AARRR fixes that. Dave McClure introduced it in his 2007 talk “Startup Metrics for Pirates” as a way to split the customer lifecycle into five measurable stages: Acquisition, Activation, Retention, Referral and Revenue. The acronym sounds like a pirate, hence the name. Its real value is not the labels. It forces you to put a conversion rate on every handoff between stages, so you can see where people leak out.
Once you can see the leaks, three things change:
- You stop arguing about opinions and start comparing step rates.
- You can size an idea before building it, because you know which rate it moves.
- You can tell when more spend will help and when it will just fill a leaky bucket.
The framework
Each stage answers one question about the user.
| Stage | Question | B2B SaaS example event | D2C example event |
|---|---|---|---|
| Acquisition | Did they arrive and show intent? | Started a free trial or booked a demo | Added to cart or started checkout |
| Activation | Did they get the core value once? | Created a project and invited a teammate within 7 days | First order delivered and not returned |
| Retention | Do they keep coming back? | Active in week 4 and week 8 | Second order within 90 days |
| Referral | Do they bring others? | Invited a colleague who signed up | Shared a referral code that was redeemed |
| Revenue | Do they pay, and keep paying more? | Converted to paid plan, expanded seats | Repeat revenue and AOV over 12 months |
The order is a logical sequence, not a strict queue. Some people pay before they refer. Some refer before they pay. In practice you build your funnel as a chain of subsets, where each stage counts only the people who passed the previous one, and you track referral and expansion as loops that feed back into the top.
Because the chain is multiplicative, a key property follows: a given relative lift at any stage produces the same relative lift in final output. Raising one step from 20% to 25% (a 25% relative lift) gives you 25% more customers at the end, whichever step it was. So the right bottleneck is not “the biggest absolute drop”. It is the step with the largest gap to what is achievable and the cheapest, most confident way to close it.
Try it below. These are realistic numbers for a self-serve B2B SaaS product with a free trial. Drag any stage and watch the final count change.
- 3% step conv. · −19,400 lost
- 40% step conv. · −360 lost
- 25% step conv. · −180 lost
- 80% step conv. · −12 lost
- 15% step conv. · −41 lost
Overall conversion: 0.04% (7 of 20,000 people)
Weakest step: Started free trial converts only 3% of the previous stage (Monthly website visitors), losing 19,400 people.
Notice that the tool flags the visitor-to-trial step as the biggest absolute drop. That is true of nearly every funnel and is exactly why you should not stop there. The next section shows how to choose properly.
Step-by-step playbook
- Write one event definition per stage. Use a real tracked event, a time window and an owner. “Activated = created first dashboard and connected one data source within 7 days of signup.” Vague stages (“engaged users”) cannot be measured or moved.
- Pull counts for one recent cohort. Take everyone who entered the top of the funnel in one month and follow only them through every stage. Mixing this month’s signups with last month’s payers distorts every rate.
- Compute step rates and the overall rate. Put them in one row. If any step looks impossibly high or low, check tracking before you check strategy. Broken events cause more fake bottlenecks than bad products do.
- Set a benchmark for each step. Use your best channel, best segment or best historic month. Internal benchmarks beat industry averages because they prove the rate is reachable with your product.
- Size the headroom. For each step, compute how many extra end customers you would get if it hit its benchmark. Because the chain multiplies, this is simply current output × (benchmark rate ÷ current rate) minus current output.
- Estimate cost and confidence. A step with 2× headroom that needs a quarter of engineering may lose to a step with 1.3× headroom that needs one email sequence. Score them side by side.
- Pick one bottleneck and set a guardrail. Commit to one stage for 4 to 6 weeks. Add a guardrail metric on the next stage so a lift does not just push low-quality users downstream.
- Re-cut by channel and segment. Repeat steps 2 to 5 for your top two acquisition channels. Paid social traffic often has a fine signup rate and a weak activation rate. Organic search often shows the reverse.
Worked example
Say a self-serve analytics SaaS has the funnel shown above.
- 20,000 visitors × 3% = 600 trials
- 600 × 40% = 240 activated
- 240 × 25% = 60 new paying customers
- 60 × 80% = 48 still paying at month 3
- 48 × 15% = about 7 referred accounts
The team has three ideas.
| Idea | Stage | Current rate | Expected rate | Relative lift | Paying at month 3 |
|---|---|---|---|---|---|
| New pricing page | Visitor to trial | 3.0% | 3.6% | +20% | 48 × 1.20 = 57.6 |
| Onboarding checklist plus sample data | Trial to activated | 40% | 50% | +25% | 48 × 1.25 = 60 |
| Annual plan discount at checkout | Activated to paid | 25% | 27% | +8% | 48 × 1.08 = 51.8 |
The onboarding idea wins on output. It also has a second-order benefit: activated users tend to retain better, so month-3 retention may rise too. The team’s best channel already activates 52% of trials, which raises confidence that 50% is reachable.
Now check the economics. If the pricing page needed $8,000 of agency work and the checklist needed two sprints of an existing team, the checklist is also cheaper. That makes it the bottleneck to attack this cycle.
B2B SaaS vs D2C: what changes
The five letters stay the same. What counts as each stage, and where the leaks hide, changes a lot.
B2B SaaS. Acquisition often splits into two paths, self-serve trial and sales-led demo. Map them as separate funnels that merge at Revenue. Activation is usually account-level (the team, not one user), so define it by the actions that predict a paid conversion. Revenue includes expansion: seats and usage grow inside retained accounts.
D2C and e-commerce. The order is not the finish line. In India especially, cash on delivery and return-to-origin (RTO) create a stage between “order placed” and “revenue earned”. Here is a realistic weekly funnel for a D2C personal care brand.
- 7% step conv. · −93,000 lost
- 55% step conv. · −3,150 lost
- 60% step conv. · −1,540 lost
- 80% step conv. · −462 lost
- 25% step conv. · −1,386 lost
Overall conversion: 0.46% (462 of 100,000 sessions)
Weakest step: Added to cart converts only 7% of the previous stage (Weekly site sessions), losing 93,000 sessions.
100,000 sessions × 7% × 55% × 60% gives 2,310 orders placed. At 80% delivered and kept, only 1,848 orders become revenue. A 10-point improvement in that one step (to 90%) adds 231 kept orders a week with zero extra traffic. That is why prepaid nudges, address verification and COD confirmation calls often beat a new ad campaign.
How to measure it
Use precise definitions. Every metric needs a numerator, a denominator and a window.
| Metric | Numerator | Denominator | Window |
|---|---|---|---|
| Visitor-to-signup rate | New trial or account signups | Unique visitors | Same calendar month |
| Activation rate | Signups that hit the activation event | All signups in the cohort | Within 7 days of signup (SaaS) |
| Paid conversion rate | Cohort accounts that became paying | Signups in the cohort | Within 30 days of signup |
| Month-3 retention | Paying in month 3 | Paying in month 1 of the same cohort | Calendar month 3 after conversion |
| Delivered-and-kept rate | Orders delivered and not returned | Orders placed | 30 days after order date |
| 90-day repeat rate | First-time buyers who order again | First-time buyers in the cohort | 90 days from first delivery |
| Referral rate | Customers whose invite produced a signup | Active customers | Trailing 30 days |
Measurement rules that save months of confusion:
- Use cohorts, not calendar snapshots. Follow one entry cohort through every stage.
- Tag every acquisition source. Consistent UTM parameters let you rebuild the funnel per channel. Without them, you cannot see that one channel is the leak.
- Separate new and returning users. Returning visitors inflate top-of-funnel conversion and hide weak acquisition.
- Review weekly, decide monthly. Weekly reviews catch broken tracking. Monthly cohorts are large enough to trust.
- Test changes before you claim them. A lift in a step rate during a seasonal sale is not proof. Use an A/B test where traffic allows.
Templates
Copy this into a spreadsheet. One row per stage, one tab per channel.
| Stage | Event definition | Window | Count | Step rate | Benchmark | Headroom (extra end customers) | Owner |
|---|---|---|---|---|---|---|---|
| Acquisition | |||||||
| Activation | |||||||
| Retention | |||||||
| Referral | |||||||
| Revenue |
Bottleneck review checklist:
- Every stage has a written event definition and window.
- Counts come from a single entry cohort.
- Tracking has been spot-checked against raw data for the two lowest steps.
- Each step has an internal benchmark from your best channel or segment.
- Headroom is sized in end customers and in revenue.
- One bottleneck is chosen, with a guardrail metric on the next stage.