# How we measure URL: https://storelift.net/guide/how-we-measure/ Language: en Updated: 2026-09-18 A measurement is worth what its method is worth. This page states where every number in Storelift comes from, where it stops, and what appears on screen when a measurement fails. Every limit written here is also visible in the product — this is a description, not a promise. ## Source: only the store's public face Measurement doesn't connect to your store account. What's read is the face the store shows every user: search results, the app page, autocomplete suggestions and the review feed. The only thing you provide is your app's store link. Account connections (App Store Connect, RevenueCat) are a separate, optional layer: connect one and your real installs and revenue appear on the same screen. Without it the measurement works exactly the same — those numbers are never modelled, they're simply absent. ## Depth and cadence | | App Store (iOS) | Google Play | | --- | --- | --- | | Rank depth | First 200 results | First ~30 results | | Source | Public search surface | The result list on Play's search page | | Demand signal | Autocomplete suggestions | Not measured (no source) | | Cadence | Every day + manual runs | Every day + manual runs | "Not ranked" means different things per platform: on iOS "not in the top 200", on Android "not in the top ~30". You could sit at 45 on Android and the measurement wouldn't see it — which is why the depth is printed on every screen. ## The cap is keywords × storefronts One run starts at 02:10 UTC and reads about 800 units. A unit is one keyword in one storefront — so a plan's keyword limit is not what the run has to carry. Twenty-five keywords in two storefronts is 50 units. Two hundred and fifty keywords in ten storefronts is 2,500. Past that capacity nothing is dropped and nothing is silently skipped: the storefronts rotate. At 2,500 units each storefront comes round about every 4 days, and the clock marker on each storefront tab says when that one was last read. A storefront that missed the last run keeps the numbers from the run that did reach it, labelled with that date — it is not refreshed and it is not blanked. NOTE: This is why the plan table counts keywords per storefront instead of in total. The same 250 keywords cost four times as much to measure in eight countries as in two, and a limit written as one number would hide that. ## Three states that never share a cell - Rank N — measured, Nth in the list. - Not in the list — measured, not present at that depth. A distinct marker, not a zero. - Not measured — the request failed. The chart shows a gap; the line breaks. NOTE: Drawing a failed measurement as zero means showing a crash that never happened. Keeping these apart is the product's most basic rule — it isn't relaxed to make coverage look better. ## The ratings wall is a maximum, not an average On every term we also read how many ratings the apps above you carry. The number printed as the wall is the highest rating count in the top 10 — not the median, not the mean. An average hides the one app that actually holds the term. Nine apps with 200 ratings and one with 400,000 average out to something that reads easy, and the term is not easy. The median is kept as well, as a second column that is always smaller than the wall, so the two can never be mistaken for each other. Difficulty is built on that wall: 70 of its 100 points come from the wall and 30 from how far your title already matches the term. The arithmetic is published in full at keyword difficulty, with the formula printed, and what the wall looks like across 153 measured keywords is at how many reviews top-ranking apps have. NOTE: When the wall can't be read for a term, the difficulty score is left empty — it is not filled in from the median instead. A score computed from a different input than the one it names is worse than no score. ## Country and language Every storefront is its own search engine and gets its own keyword list. Measuring a Turkish term in the US storefront produces "not ranked" every day, and that isn't a signal. All 175 storefronts on the list were verified by measurement: does the storefront identifier actually return suggestions, does Apple accept the language code, is the country code valid. A storefront failing any of the three was left off — listing a country whose demand can't be read would make an empty result look like "no demand". ## What we don't measure - Search volume — neither Apple nor Google publishes it. The demand signal comes from autocomplete and is presence and breadth, not a number. - A competitor's installs and revenue — that would be model output, not measurement. Not produced. - Personalized results — the store reorders per user. What's measured is the un-personalized baseline, so it may not match what you see on your own phone. That's why decisions should follow movement rather than the absolute number: the difference in a series measured the same way every day is the reliable part. ## FAQ Q: Does the measurement access my store account? A: No. Rank, demand, competitors and reviews are read from the store's public face. An App Store Connect or RevenueCat connection is optional and only used to bring your own install and revenue figures onto the screen. Q: Why might the rank differ from what I see in the store? A: Store results are personalized by language, country and install history. The measurement reads the un-personalized baseline. That's why the difference between days matters more than the absolute number. Q: What happens on a day a measurement fails? A: The chart shows a gap for that day. No zero is written and the previous day isn't repeated — both would present missing information as if it existed.