# Invites and viral growth

> Viral growth from invites: the viral coefficient k, cycle time, why k below 1 still pays, and how to measure invites without flattering yourself.

- Course: [Product Analytics: From Data to Decisions](https://productovi.com/courses/product-analytics.md)
- Module: How will we grow?
- Lesson 30/32, ~31 min
- Source: https://productovi.com/courses/product-analytics/virality

## Is Halves viral? Measuring viral growth

**Alex Tutor:** Theo is preparing for investor questions about Halves and wants an answer from the data, which means from you. Today: how to measure viral growth honestly.

**Theo:** Every Halves group needs members, so every user is a little salesperson. Investors will ask us one thing: are we viral?

**Alex Tutor:** "Viral" has a number: the **viral coefficient**, k. It's how many new users each user brings: invitations per user times the share of invitations that turn into new users.

$$
k = \frac{\text{invitations}}{\text{user}} \times \frac{\text{new users from invitations}}{\text{invitations}} = \frac{\text{new users from invitations}}{\text{users}}
$$

**Sofia:** Over what time, though? Someone can keep inviting people for years.

**Alex Tutor:** Fix a window, or older cohorts will always look more viral. Here: invitations sent in each user's first 30 days, and the invited people who sign up within them.

**Dataset (CSV):** [Invites by sign-up cohort, January–June 2026](https://productovi.com/datasets/product-analytics/virality/halves-invite-cohorts-2026.csv)

Everything counted within 30 days of each user's sign-up.

- `cohort`: Sign-up month
- `new_users`: Users who signed up that month
- `invites_sent_30d`: Invitations the cohort sent in each user's first 30 days
- `invites_accepted_30d`: Invitations accepted within those 30 days
- `accepted_by_existing_users`: Accepts by people who already had a Halves account
- `invited_new_users_30d`: Accepts that created a new account
- `median_days_to_invitee_signup`: Median days from the inviter's sign-up to the invited person's sign-up

> **Exercise:** What is the viral coefficient **k** of the **January 2026** cohort (new users from its invitations within 30 days, per cohort user)? Round to two decimals.

## Not every accept is a new user

**Theo:** My dashboard says 0.42 for January: 1,947 accepted invites over 4,646 users.

**Alex Tutor:** Those accepts include 487 people who already had Halves and just joined one more group. Good for engagement, but it isn't growth.

![Invitation envelopes reach several people: some are newcomers, others already have the app and just join another group.](https://productovi.com/courses/product-analytics/inline/virality-illustration-2.webp)

*Only invitees who are new to Halves count as growth.*

**Sofia:** So the numerator is new accounts created from invites: 1,460, not 1,947.

**Alex Tutor:** Yes. Growth counts new people. Everything else is activity.

**Theo:** Existing users joining more groups still matter to me. They keep groups alive.

**Alex Tutor:** They do, and they belong in an engagement metric next to k, not inside it.

> **Exercise:** Halves's January 2026 cohort has 4,646 users; within 30 days, invitations they sent were accepted 1,947 times. The dashboard of Theo, the growth marketer, computes k for January as 1,947 ÷ 4,646 = 0.42. What's wrong with it?

**Alex Tutor:** May’s k is the lowest of the half-year, 0.29. k has two levers inside it; check the second one for May.

> **Exercise:** Use the invite table. For the **May 2026** cohort, what share of invitations sent within 30 days turned into **new users**? Give a percentage.

## Viral coefficient below 1: still worth it

**Maya:** 0.31 is a long way from 1. So invites don't really matter for growth?

**Alex Tutor:** With k below 1, invites alone can't grow Halves: each generation is smaller than the last and the chain dies out. But everyone you bring in some other way pulls a chain of extra people behind them.

![One person passes invitation envelopes to friends, who pass on fewer, until the chain fades out.](https://productovi.com/courses/product-analytics/inline/virality-illustration-3.webp)

*Below one, each round is smaller, but it still adds users on top of ads.*

$$
\text{total} = \text{seed} \times (1 + k + k^2 + \dots) = \frac{\text{seed}}{1 - k}
$$

*Valid for k below 1.*

**Sofia:** So May's ad budget bought more users than the ad reports show.

**Alex Tutor:** Let's see how many more. In May, paid social and store search ads brought 2,169 users. Pool the January–May cohorts for k, leaving June aside for now, and work out what those 2,169 turn into.

> **Exercise:** Pool the **January–May 2026** cohorts to get k. With that k, how many users in total do the **2,169** users that paid channels brought in May turn into, counting every generation of invites?

**Alex Tutor:** Now Maya’s earlier question has an answer. Two ways to put it; which one is right?

> **Exercise:** Halves’s k is 0.31 (January–May cohorts). Which reading is **correct**?

## Viral cycle time: how fast it comes back

**Alex Tutor:** The second number is **viral cycle time**: how long from a user joining to the people they invite joining. The median here is 6 days, and 3 in June.

**Sofia:** A shorter cycle doesn't change the total, it changes how fast it arrives?

**Alex Tutor:** For k below 1, yes: those 978 extra users arrive within weeks, not months. Above 1 the chain never dies out, and a shorter cycle makes it compound far faster.

![With k about 0.31 each generation of invitees is smaller and the chain dies out, yet May's 2,169 ad-bought users still pull about 978 extra users.](https://productovi.com/courses/product-analytics/diagrams/m8-l2-viral-chain.png)

**Theo:** So the ad money comes back faster. I like that part.

> **Exercise:** Halves's viral coefficient k (30 days, January–May 2026 cohorts) is 0.31, and in May paid channels brought 2,169 users. With k below 1, halving the viral cycle time raises the total number of users that May's 2,169 paid users eventually bring.

## June isn't the year

**Theo:** June's k is 0.55! That goes in the investor deck.

**Alex Tutor:** June is trip season: groups form for a holiday and pull in friends within 3 days. January to May give 0.29–0.33. Quoting June as Halves's k promises growth autumn won't deliver.

**Sofia:** And some invited people would have installed Halves anyway, from the store.

**Alex Tutor:** That's the last honest step. To know how much invites add, hold them back for a small random share of new groups, say hide the invite prompt for 5%, and compare sign-ups.

![Most tables of friends pass invitation envelopes around, while a few tables have none at all.](https://productovi.com/courses/product-analytics/inline/virality-illustration-4.webp)

*Holding invites back for a few groups shows how much they truly add.*

**Maya:** And what would that holdout tell us that k doesn't?

**Alex Tutor:** How much of the 0.31 is truly extra. If half of those people would have come anyway, invites are worth half as much as k suggests.

> **Exercise:** Which practices make a reported k honest? Select all that apply.

**Alex Tutor:** Let’s practise reading a holdout before it runs. The numbers below are made up for practice.

> **Exercise:** Made-up holdout result: new groups with the invite prompt bring **0.31** new users per member within 30 days; the 5% of new groups without it bring **0.12** (friends who found Halves on their own). What does this say?

## One honest line

**Maya:** So what can we say to investors without embarrassing ourselves next quarter?

**Alex Tutor:** The measured k with its window and season, what it does to every other channel, and what we haven't measured yet.

> **Exercise:** Halves's viral coefficient k (new users from invitations within 30 days, per user) was 0.29–0.33 for the January–May 2026 cohorts, 0.31 pooled, and 0.55 for June, in trip season; the median viral cycle is 6 days. Nobody has yet measured how many invitees would have come anyway. Write the virality paragraph for the investor deck in 3–4 sentences: the k you'd quote and how it's measured, what it does for growth, and what's not yet known.

**Alex Tutor:** The rule: k counts new people within a fixed window, per cohort and season. Below 1 it's a multiplier, not an engine, and that's still worth a lot.

- Previous lesson: [Forecasting active users](https://productovi.com/courses/product-analytics/forecasting.md)
- Next lesson: [Channels and marketing attribution](https://productovi.com/courses/product-analytics/channels.md)

---
Productovi Learning. Free, no sign-up needed to read.
