How openings are scored
Every opening is a niche in one market, scored from App Store observations with fixed formulas. The language model writes the summary and groups complaints; it never sets a number. This page describes score version 1.
Sources
Apple’s public App Store endpoints: the top free, paid and grossing charts per category, app search, app lookups (availability, ratings, stars, price, update dates, languages, description) and recent customer reviews. Every response is archived before it is read, so a past week can be checked again.
Reference markets: United States and United Kingdom. Target markets: Finland, Sweden, Norway, Denmark, Germany, Austria, Switzerland, Netherlands, Belgium, France, Spain, Italy, Portugal, Poland, Ireland, Estonia. The reference markets show how big a niche is where it is mature; the target markets are where openings are looked for.
Cadence
- Charts: daily in the US and UK, weekly in each target market.
- Ratings, stars, languages and update dates: every tracked app, weekly, in every market.
- Reviews: about every four weeks for apps with enough ratings to have something to say.
- Openings: recomputed every Monday from the latest data.
Niches and top apps
A language model reads each app’s description and places it in a niche (the job the app does) and says who it is for. An opening needs at least 3 apps in its niche, and at least one with ratings in the US or UK. The top apps are the up to ten niche apps with the most US and UK ratings.
The six components
Each is a whole number from 0 to 100, rounded before it is combined, so the page shows exactly what produced the score.
Demand
60% × reference volume + 25% × local volume + 15% × grossing chart place
Reference volume is 100 × log₁₀(1 + US and UK ratings of the top apps) ÷ 6, capped at 100, so a million ratings is full marks. Local volume is the same with this market’s ratings, divided by 5, so 100,000 is full marks. The grossing part counts in full when any top app held a top-100 grossing chart place in this market, the US or the UK in the last 14 days.
Room locally
100 − 12 × (apps in this market with 50 or more ratings here)
Every app in the niche counts here, not only the top ten. Nine established apps or more and there is no room left in this measure.
Language gap
100 × (US and UK ratings of top apps without the market’s language) ÷ (US and UK ratings of all top apps)
An app speaks a market when it ships at least one of its languages: Finnish or Swedish in Finland, German, French or Italian in Switzerland, Dutch or French in Belgium, the national language elsewhere.
Incumbent weakness
average of: stars signal, low-star review signal, update signal
Stars signal: 100 × (4.6 − the top apps’ average stars, weighted by ratings) ÷ 1.1, held between 0 and 100, so 4.6 stars or more scores 0 and 3.5 or fewer scores 100. Low-star signal: 200 × the share of recent reviews at 1 or 2 stars, capped at 100. Update signal: 100 × the share of top apps with no update in over 365 days. Stars and reviews come from this market when it has them, otherwise the US; a signal we cannot measure is left out of the average.
AI gap
100 × (top apps not built around AI) ÷ (top apps)
Whether an app is built around AI, has an AI feature or has none is read from its App Store description by a language model.
Momentum
1000 × (ratings now − ratings four weeks ago) ÷ ratings four weeks ago, held between 0 and 100
Summed over the top apps, from weekly snapshots in this market, otherwise the US. 10% growth in four weeks is full marks. It needs at least nine weekly points for every top app with a history; until then it is shown as not measured and counts as 50.
The score
gap = 25% × room locally + 25% × language gap + 20% × incumbent weakness + 20% × AI gap + 10% × momentum
score = demand^0.4 × gap^0.6, rounded
Multiplying rather than adding means a niche nobody wants, or one that is already well served, scores near zero whatever else is true. If either demand or gap is 0, the score is 0.
Types
An opening carries every type it qualifies for, strongest signal first.
- Not in the local language
- language gap of 60 or more
- Incumbents without AI
- AI gap of 70 or more, and demand of 50 or more
- Users unhappy
- incumbent weakness of 55 or more
- Incumbents not updated
- 40% or more of the top apps without an update in over a year
- Demand rising
- momentum of 60 or more
Write-ups
The summary on each opening is written by a language model from the scored facts. A write-up that contains a number not in those facts, or quotes a review we do not hold, is discarded and replaced by a plain template.
What we don’t know
- Revenue. Apple publishes no sales figures, and we show none.
- Google Play. Only the App Store is measured for now, so Android-first markets are undercounted.
- True demand. Ratings are a proxy: people who rate are a small, uneven share of people who use an app, and that share differs by market and category.
- Local demand in small markets is thin, which is why the reference markets weigh most in demand.
- Niche placement and AI level are a model’s reading of a description, and can be wrong for individual apps.