Logo

MonoCalc

/

Virality Coefficient Calculator

Social Media
The cohort that starts cycle 0.
A cohort average, so decimals are fine.
The share of invitations that become new users.
One round of invite and convert.
Elapsed time divides by the cycle length, so fractional cycles are normal.
0 to 200; 4.5 is allowed.

Viral coefficient

Converges

K = invitations × conversion

0.48

4 × 12%

Total after 10 cycles

1,922

922 added beyond the starting cohort

Saturation ceiling

1,923

1.92× the starting cohort

Elapsed

70 days

10 weeks

K is below 1, so each cycle adds less than the one before and the running total closes in on a finite ceiling. The cohort still grows — it simply stops somewhere, and the ceiling says where.

0 — converges to a ceiling1 — linearabove 1 — compoundsK = 0.48
Where this cohort stops
At K = 0.48 the series converges on 1,923 users — 1.92× the starting cohort. The multiple is the portable part: it holds at this K whatever size the cohort starts at.
What this projection assumes

The numbers above hold only while all three of these do, and none of them holds for long in practice:

  • K stays exactly the same in every cycle.
  • Every cycle takes exactly the same amount of time.
  • The audience the cohort can reach never runs out.

This is a sensitivity model, not a prediction. It shows what these two numbers imply if they hold, which is a different question from what will happen.

This tool ships no benchmark K. Published figures disagree by an order of magnitude and go stale, so compare a cohort against your own earlier cohorts instead.

Cumulative users by cycle

05291,0581,5872,115Cycle 0: 1,000 users in totalCycle 0: 1,000 new users addedCycle 1: 1,480 users in totalCycle 1: 480 new users addedCycle 2: 1,710 users in totalCycle 2: 230 new users addedCycle 3: 1,821 users in totalCycle 3: 111 new users addedCycle 4: 1,874 users in totalCycle 4: 53 new users addedCycle 5: 1,900 users in totalCycle 5: 25 new users addedCycle 6: 1,912 users in totalCycle 6: 12 new users addedCycle 7: 1,918 users in totalCycle 7: 6 new users addedCycle 8: 1,920 users in totalCycle 8: 3 new users addedCycle 9: 1,922 users in totalCycle 9: 1 new users addedCycle 10: 1,922 users in totalCycle 10: 1 new users addedCeiling 1,923Cycle 0Cycle 10Solid: total carried over · Lighter cap: added this cycle

The dashed line is the saturation ceiling. The bars approach it and never cross it — that flattening is what K below 1 looks like.

Cycle by cycle

CycleNew usersCumulative totalOf ceiling
01,0001,00052%
14801,48077%
22301,71088.9%
31111,82194.7%
4531,87497.5%
5251,90098.8%
6121,91299.4%
761,91899.7%
831,92099.9%
911,92299.9%
1011,922100%

Counts are abbreviated; hover any figure for the exact number. A cycle is one round of existing users inviting and invitees converting. For most products that is days to weeks, and the elapsed figure is only ever as good as that estimate.

About This Tool

Virality Coefficient Calculator – K, and the Series It Drives

The viral coefficient, usually written K, is one multiplication: K = i × c, where i is the invitations an existing user sends in a cycle and c is the share of those invitations that convert. Four invitations at a 12% conversion rate gives K = 4 × 0.12 = 0.48. The number is not interesting on its own. What makes it worth computing is the series it sets in motion, and the ceiling that series runs into.

The series, not the number

Cycle 0 is the starting cohort. Each cycle multiplies the previous cycle’s arrivals by K, so new users at cycle n are initial × Kⁿ and the running total is the geometric series initial × (1 + K + K² + … + Kⁿ). A thousand users at K = 0.48 add 480 in the first cycle, 230 in the second, 111 in the third — each round smaller than the last, because every arrival is itself multiplied by a number below one.

Why K below 1 converges

A geometric series with a ratio below one has a finite sum. Taken to infinity it collapses to initial × 1/(1 − K), the saturation ceiling this tool draws as a dashed line across the chart. A thousand users at K = 0.48 converge on 1,000 ÷ 0.52 ≈ 1,923. The cohort is not dying — it grows by 92% in total — it simply stops somewhere, and the multiple 1/(1 − K) says where. That multiple, about 1.92× here, is the portable part: it holds at that K whatever size the cohort started at.

Why K = 1 is a different formula

The closed form for the running total is initial × (1 − K^(n+1)) / (1 − K), and at K = 1 that denominator is zero. This is not a rounding nuisance to smooth over with a small number added underneath; it is a separate case with its own formula, total = initial × (n + 1). Every cycle adds the starting cohort again, so growth is linear, not exponential: it never stops and it never accelerates. Five invitations at a 20% conversion land on it exactly, which is common enough that the tool branches on it explicitly and says so on screen.

Why K above 1 is not a forecast

Above one, each cycle adds more than the last and the totals compound — in the arithmetic, forever, because the arithmetic contains no audience. There is no term for the number of people who could ever be reached, none for novelty wearing off, and none for the easiest contacts being used up first, all of which push i and c down over time. The later figures in a K > 1 projection are a property of the equation, not of a product.

K above 1 is a statement about a series
It means this sum compounds. It is not a verdict on a product, a threshold anything crosses, or evidence that something has taken off. This tool prints no benchmark K for the same reason: published figures disagree by an order of magnitude and go stale within a year. Compare a cohort against your own earlier cohorts instead.

Cycles, fractions and elapsed time

A cycle is one round of existing users inviting and invitees converting — for most products days to weeks, not minutes. Both closed forms accept any non-negative real exponent, so 4.5 cycles is as valid as five. That matters, because the question is usually asked in days: with a four-day cycle, eighteen days elapsed is 18 ÷ 4 = 4.5 cycles. Drive the projection from elapsed time and the fractional count is used as-is rather than rounded, with the part-cycle shown as its own final row. Elapsed time is reported only as a duration; this calculator never prints a calendar date, because a cycle estimate cannot support one.

Where the arithmetic stops

  • K = 0 — no invitations, or none converting. The total stays at the starting cohort forever, and that figure is also the ceiling.
  • Large K over many cycles — K^(n+1)leaves the range a double can represent quickly, and long before the overflow a double stops representing consecutive whole numbers. Anything past that reads as out of range rather than Infinity, and the rest of the table still renders.
  • A conversion rate above 100% — refused, because a share of something cannot exceed the whole of it.

What the model leaves out

Three assumptions hold the projection up: a constant K in every cycle, a constant cycle time, and an audience that never runs out. None survives contact with a real product for long. Treat the output as a sensitivity model — what these two numbers imply if they hold — which is a different question from what will happen.

Frequently Asked Questions

Is the Virality Coefficient Calculator free?

Yes, Virality Coefficient Calculator is totally free :)

Can I use the Virality Coefficient Calculator offline?

Yes, you can install the webapp as PWA.

Is it safe to use Virality Coefficient Calculator?

Yes, any data related to Virality Coefficient Calculator only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How do I calculate the viral coefficient K?

Multiply the invitations each existing user sends in a cycle by the share of those invitations that convert: K = i × c. Four invitations at a 12% conversion rate gives K = 4 × 0.12 = 0.48. Enter the conversion as a percentage here and the tool divides by 100 for you. Both figures are cohort averages, so 3.5 invitations per user is a perfectly normal input — nobody sends half an invitation, but a thousand people averaging 3.5 each do.

What does the saturation ceiling mean?

When K is below 1 the series 1 + K + K² + … converges, so the cohort stops growing at a finite total: initial × 1/(1 − K). A thousand users at K = 0.48 converge on 1,000 ÷ 0.52 ≈ 1,923 users, no matter how many cycles you wait. The multiple, 1/(1 − K) or about 1.92× here, is the portable part — it applies to any cohort size at that K, which is why the tool shows it separately from the user count.

Why is K = 1 handled differently from every other value?

The closed form for the running total divides by 1 − K, which is zero at K = 1. That branch is not a rounding problem to be papered over with a small epsilon in the denominator; it is a genuinely different formula. At K = 1 every cycle adds the starting cohort again, so the total is initial × (n + 1) — growth that is linear, not exponential, and unbounded but never accelerating. The tool selects that branch explicitly and says so on screen.

Does K above 1 mean something has gone viral?

It means this series compounds. That is a statement about arithmetic, not about a product. The model contains no audience limit, so once K exceeds 1 the totals grow without bound by construction — which is exactly why the large later figures are a model artefact rather than a forecast. Real cohorts run out of easy-to-reach contacts, novelty fades, and both i and c fall as a result. Treat a K above 1 as a description of the cohort you measured, over the window you measured it.

Can I project a fractional number of cycles?

Yes. Both closed forms are defined for any non-negative real exponent, so 4.5 cycles is as valid as 5. It is also the natural way to ask a question in days rather than rounds: with a four-day cycle, 18 days elapsed is 18 ÷ 4 = 4.5 cycles. Drive the projection from elapsed time and the tool derives the fractional cycle count instead of rounding it, and the table gets a final partial row showing what that part-cycle added.

Why does the table sometimes say a figure is out of range?

With K above 1, K^(n+1) grows fast enough to leave the range a double can represent — K = 3 at 100 cycles is already around 1e50, and K = 10 at 320 cycles exceeds Number.MAX_VALUE entirely. Long before that, a double stops representing consecutive whole numbers, so a 'total users' figure with sixteen digits would be false precision. Any total past that point is reported as out of range rather than printed as Infinity, NaN or a number nobody should trust, and the rest of the table still renders.