DEV Community

Cover image for Nobody publishes how many people pay for it. So I punched at the number from three directions
Jun
Jun

Posted on Originally published at junueno.dev

Nobody publishes how many people pay for it. So I punched at the number from three directions

Written with Kimi (kimi-for-coding).

It started as idle curiosity.

How many people in the world actually pay for the premium plan of a certain AI service?

I hit a wall almost immediately. The company will happily tell you how many businesses buy from them (the "over N companies trust us" line, you know the one). How many individuals pay, broken down by plan? That part is beautifully, deliberately undisclosed.

You can't read a number that isn't there. So the only option left is to estimate it.

And here's the actual point of this post, which is not about AI subscriptions at all: the most dangerous thing you can do is cook up one plausible-looking formula and ship the answer it gives you.

One tidy formula will probably miss

The first move everyone makes, me included:

"Annual subscription revenue ÷ average revenue per user = number of subscribers."

Lovely, isn't it? Drop in a revenue figure, drop in a price, out pops an answer. It does pop out. It also doubles or halves if one of your inputs moves by a hair.

Assume $40 per user and you get one answer. Assume $50 and your conclusion moves by millions of people. Nothing changed but one assumption, and millions of humans appeared and disappeared. And yet, when you look at only the number that came out the other end, it feels weirdly authoritative.

(The number you derived down a single path is the one you're most likely to believe. It's yours. You watched it being born.)

Which makes it structurally identical to a fortune teller. One line of reasoning, one confident answer, and when it's wrong you can't even tell where it went wrong.

So I punched at it three times, from three directions

Instead I estimated the same number three separate times, using three approaches that don't think alike.

  • A: work down from revenue (from above). Subscription revenue divided by average price. The formula from a minute ago.
  • B: build up from the user funnel (from below). Total users of the service multiplied by the share who convert from free to paid.
  • C: compare against the neighbors (from the side). Roughly what percentage of an established competitor's paid user base would this be?

The part that matters isn't that there are three of them. It's that each one rests on a different assumption.

A trusts the price. B trusts the conversion rate. C trusts the peer comparison. So if one of them is spectacularly wrong, it doesn't drag the other two down with it. Three formulas that all lean on the same assumption aren't three punches. They're one punch thrown three times.

Then I weighted them: 40% on A, 30% each on B and C. A got the heaviest weight because pricing is a published fact, so the revenue anchor is the most concrete thing I had. But revenue itself carries real uncertainty, so I didn't want to bet the whole thing on it. That remaining 60% is me saying out loud: I don't fully trust my own favorite method.

Then average them and call it a day? Don't

Here's where it got interesting, and this is the part I actually want you to take home.

A's answer and the B/C answers came out about 3x apart. One said roughly 5 million people. The other said roughly 1.5 million.

The natural instinct is to split the difference and move on. Average them, get a tidy single number, feel productive.

But flattening that gap throws away the single most valuable thing the exercise produced.

Because that gap is telling you something specific. It's saying: "either revenue is lower than you assumed, or the share of people converting to paid is higher than you assumed. One of those two. Go look."

The disagreement isn't noise. It's a hint about the structure. A single averaged number quietly pretends the tension was never there.

So the answer I actually wrote down was "median around 2.9 million, with a range of roughly 1.7 to 4.8 million" — a band, not a point. And attached to it, the direction of failure: if real revenue is higher than assumed, the truth sits toward the 5 million end; if conversion is lower than assumed, it sits toward the 1.5 million end.

Not a point. A band, plus which way it tips. Without those two things, an estimate is indistinguishable from a guess with good posture.

A bonus I didn't ask for: the shape of the business

Somewhere in the middle of the build-up method, a byproduct fell out.

Look at the plan-by-plan split, and the cheapest plan is about 80% of the headcount. The overwhelming majority of humans pick "uh, the cheap one." (Relatable. No notes.)

But look at it by revenue, and the cheap plan and the upper tiers land at roughly a third each. The top tier is a few percent of the people, but it costs 10x, so it carries about a quarter of the money. The whales, as they're affectionately known.

"Most of your users" and "most of your revenue" live at different addresses.

That face of the business is invisible if all you ever do is count people. It only surfaced because I was looking from more than one direction — a reward for the extra work, not a goal of it.

What I'd keep

  • When you're estimating a number somebody declined to publish, one elegant formula is the riskiest option. A single shifted assumption doubles the answer, and the answer still looks convincing on the way out.
  • So estimate separately with methods that rest on different assumptions, then combine them with explicit weights. Stacking formulas that share an assumption adds repetitions, not information.
  • Don't average away the disagreement between methods. The gap tells you where the uncertainty lives. Answer with a band and a direction of failure, not a point.
  • And occasionally, looking from several directions hands you a structural fact for free — like the people and the money sitting in different places.

One honest caveat before I go: every number above is an estimate, not a fact. There is no guarantee any of it is right.

But saying "probably 2.9 million" is not the same move as saying "three different angles converged here, and if I'm wrong, I'm wrong in this direction." Same uncertainty, wildly different value.

So when the number you want is hidden, don't stop at one formula and call it a day. Change the angle and swing again. Try it next time somebody won't tell you a number — and tell me which of your three punches missed.

Top comments (0)