Skip to content
Back to Academia

AARRR: how to find a growth problem to work on

14.03Growth hacking and experiments
On this page

An online booking service for beauty salons in Almaty got 200 registrations, and 50 salons paid for a subscription. The founder wants to spend more on ads: another 200 registrations should mean another 50 payments. You know something that calculation leaves out: one in six salons from Instagram pays, against almost one in three from search. Double registrations through one channel and the mix of salons changes, so the old ratio may not hold.

This is the service from the product-led growth lesson: 12,000 ₸ a month after a 14-day trial. The example figures are made up. AARRR breaks the growth discussion into five questions: where the salons came from, whether they reached the first benefit, whether they keep getting it, whether they bring in other salons, and what they pay for.

Five areas for one product

In Dave McClure's AARRR model, the letters stand for Acquisition, Activation, Retention, Referral and Revenue. Each area needs its own event, unit and window. Write just "activation 40%" in a report, and nobody, including you a month later, will be able to repeat the calculation.

The salon pays for the service, while the owner, the receptionist and the stylists use it. A salon with five staff is still one unit. So events are linked by salon_id, and the number of people who logged in does not stand in for the number of salons.

AreaQuestionDefinition for the booking service
AcquisitionWhich salons arrived, and from where?New salons with salon_signed_up, by registration source
ActivationIs the salon ready to receive value?Enabled online booking through online_booking_enabled within the first 7 days
RetentionDoes the benefit repeat?Received at least one online booking in a specified week after registration
ReferralDo salons bring in new salons?A new salon registered through a confirmed invitation from an existing one
RevenueHow many salons pay, and how much money remains?subscription_paid payments, refunds, acquisition costs and service costs

Activation here means the salon's clients can now book online. The first client booking through that link shows the salon got value: the receptionist did not have to message back and forth on WhatsApp and enter the time in the calendar by hand. The PLG lesson calls this the aha moment. Another product might put activation right at the first benefit. What matters is agreeing on the event and not changing the definition from one report to the next.

Why the letters do not dictate purchase order

At the coffee store, money comes in with the first order: someone visits and buys, and may come back or recommend the store to friends later.

Store example: payment between visits

  1. First visit

    The person visits the store

  2. Purchase

    Payment

  3. Return visit

    The person returns

AARRR defines reporting areas. A required sequence needs its own events and timing.

In this example, the purchase comes before the return.

The booking service has its own order: trial, setup and first bookings, then the subscription. A salon may recommend the service to a colleague while still on the trial. Draw a mandatory Acquisition → Activation → Retention → Referral → Revenue path for everyone, and a salon that paid before inviting anyone drops out of that funnel.

So AARRR reads better as five areas of a report. A funnel with a required order of steps needs its own events, timing and rules for people who land in several steps at once. You cannot recover the order of steps from area totals.

One cohort, several denominators

Take the 200 new salons from the PLG example and assume all the required observation windows have closed. Within the first 7 days, 80 salons enabled online booking. During the 14-day trial, 60 got their first client booking. After the trial, 50 paid for a subscription.

MetricCalculationWhat it describes
Activation within 7 days80 / 200 = 40%Share of the original cohort that enabled online booking
First online booking during the trial60 / 200 = 30%Share of the original cohort that received the first benefit
First payment50 / 200 = 25%Share of the original cohort that paid for a subscription
Payment among salons with a first booking46 / 60 ≈ 77%Paying share within the group that received the first benefit
Payment among the rest4 / 140 ≈ 3%Paying share among salons without a first booking during the trial

The last two rows were calculated from salon IDs: 46 paying salons belong to the group of 60, and four more do not. Divide all 50 payments by the 60 salons with a first booking and you get about 83%, but the numerator then includes four salons that are not in that group.

The step from activation to the first booking has the same problem. Of the 80 salons that enabled booking within a week, 57 got their first booking before the trial ended. Another three enabled booking later and still got a client in time. So 60 / 80 is not the conversion of the original group of 80. That needs 57 / 80, and you can only get it from IDs.

Look for causes in conversations with salons and in how they move through the product. The link between a first booking and payment hints at who needs help. But both events also depend on how ready the salon itself is to take clients online, so helping with the first booking may add fewer payments than the gap between 77% and 3% suggests. A change meant to speed up the first booking gets its own HADI test.

Retention counts repeated value

For this service, a return is booking_created with source = online. A booking the receptionist entered by hand shows different work: the client called or wrote, and the salon did everything itself. Logging in does not answer whether clients still book on their own either.

In the retention example, 41 salons from the same cohort got online bookings in week 5. Week 5 means days 35-41 after registration. Their share of all 200 is 20.5%. All 41 are among the 50 paying salons: after the trial, online booking works only for those who pay. If the question is how those 50 use the service, the denominator changes: 41 / 50 = 82%. Both rates are right; they just answer different questions.

The other nine paying salons got no online bookings at all that week. Support can call and find out what happened: a holiday, a moved link, online booking switched off, or something else. The subscription is paid, but the benefit has stopped repeating. It is better to get in touch before the next renewal, while the salon is still paying.

Recent registrations have not reached week 5 yet. While the window is open, the cell is marked as immature. Compare it with a closed cohort only when the same number of days has passed since registration. Otherwise the new intake looks weaker simply because it has had less time.

In the service's channel table, 30 registrations came from booking-page links and recommendations, in one row. That row cannot tell you how many were personal invitations: an owner may have seen the service's name on a neighbouring salon's booking page without anyone recommending it. Referral needs its own way to link a new salon to whoever invited it.

Before counting, the team decides what counts as a confirmed invitation, how long it stays valid and how to remove duplicates. Clicking "Invite", sending the message and the new salon registering are recorded as three separate events. If the invited salon then invites another, you get a growth loop, as in Reforge's article.

Invitation counts help you find where the mechanism breaks: for example, links go out but recipients do not register. How many new paying salons those links bring shows only where referral meets revenue. Book invitation rewards as a cost of the channel, or it will look free.

Connect growth to money

50 first payments at 12,000 ₸ bring 600,000 ₸ in revenue. The original example spent 1,560,000 ₸ on ads, or 31,200 ₸ for each of the 50 paying salons. That average includes salons that came without any ad spend. By channel, the cost per paying salon is different: 48,000 ₸ for Instagram and 37,500 ₸ for search.

31,200 / 12,000 = 2.6 monthly payments. You cannot call that a payback period: service costs still come out of revenue, and some salons will cancel. In the retention example, 43 of the first 50 salons paid for a second month. A budget decision needs their later payments and contribution after costs, with refunds taken into account.

So the biggest drop in the table, from 200 to 80 at activation, only raises a question for now. 120 salons did not enable booking within a week. Some of them may be salons the service does not suit, others may be stuck on setup. Before commissioning an expensive redesign, find out how many salons it would help and what the fix costs. Then pick one task and write down the expected effect together with the cost.

Exercise: five definitions and a reporting error

Build AARRR for your product. For each area, give the unit, event, window, denominator and data source. Pick the row the team will make its decision on, and write down which data it still lacks.

For the exercise, add this to the example: 12 of the 200 salons sent invitations, and five new salons came through them. One inviter brought three; two others brought one each. The report says: "Referral conversion = 5 / 12 = 42%." What is wrong with it, and how do you fix it?

5 / 12 divides new salons by inviters, which gives an average, not a share: about 0.42 new salons per inviter. The share of salons that sent invitations is 12 / 200 = 6%. Three inviters succeeded, so their share among senders is 3 / 12 = 25%. The report should show these three figures, each with its own label. The five new salons go into their own registration cohort, and there is no need to add them to the original 200 in this rate's denominator.

Video: an overview of the pirate metrics

Pirate metrics AARRR (in Russian)

A talk by Ruslan Sharipov. After watching, compare the definitions in your table with the events that actually exist in the product's data.

Need help applying this to your analytics?