How AppCurrents estimates
Every download and revenue figure on AppCurrents is a modeled estimate, not official data. We build them entirely from public, official Apple endpoints — no panel or SDK data — so treat them as honest order-of-magnitude ranges (≈ ±25–50%) for comparison and discovery, not exact figures. AppCurrents is independent and not affiliated with Apple.
1. Data sources (all official & public)
- iTunes RSS charts — Top Free / Paid / Grossing across the full genre & sub-genre tree (US), the trend time-series.
- iTunes Lookup API — name, developer, price, category, release & update dates, average rating, and total rating count.
- App Store listing — screenshots (the Lookup API omits them for many new apps).
- Google Play install buckets — public lifetime-install ranges, used only to calibrate (see §5).
2. Downloads
Downloads are worldwide, anchored on each app's own global rating count (ratings are worldwide) — not a flat US→worldwide multiplier. We take the most reliable signal available:
- Rating count → worldwide installs. Lifetime ≈ total ratings ÷ 0.012 (the ~1:83 ratings-to-installs ratio). Monthly ≈ lifetime ÷ app age, nudged by current chart presence (×1.5 if charting now, ×0.6 if not — currently-charting apps run above their lifetime average).
- Rating velocity — once we have day-over-day history, Δratings/day ÷ 0.012 gives current worldwide monthly downloads directly (the most accurate signal).
- Chart rank as a floor — for new/viral apps whose ratings haven't caught up, a power-law rank curve provides a floor. Genre-only ranks are translated to an equivalent overall position using a power law fit from our own data (real genre↔overall rank pairs), since a #50 in Finance ≠ a #50 in Games.
3. Revenue (worldwide gross)
Figures approximate worldwide gross revenue — the convention Sensor Tower and Rev.now report — so they're directly comparable. We use the same public-data method Rev.now does:
- Monetizing apps (free + IAP) → worldwide downloads × a category paying-conversion rate (RevenueCat-grounded) × ARPPU derived from the app's OWN scraped subscription/IAP prices — not a category average. This is the key signal: a $9.99/week app and a $4.99/year app in the same category earn very differently.
- Top overall-grossing apps (outlier ARPPU) → a grossing-rank curve calibrated to reported figures: $73M/mo at #1 → $39M/mo at #100.
- Paid apps → price × downloads × 70% (developer share).
4. Key assumptions
| Rating rate (downloaders who rate) | 1.2% (~1:83) |
| Recency nudge (charting / not) | ×1.5 / ×0.6 |
| Paying conversion — Business / Games | 6% / 2.0% |
| ARPPU — from scraped prices (fallback) | $12, clamped $4–$60 |
| Paid app: developer share | 70% |
| Band width | point ÷2 … point ×2 |
Conversion rates are seeded from RevenueCat's State of Subscription Apps; ARPPU comes from each app's real scraped prices. All defined in one place (lib/model.ts), which this page reads from directly.
5. Calibration (how the guesses become data-fit)
Every assumption is measured against ground truth, not left to faith:
- Downloads are calibrated against Google Play's public install buckets for cross-listed apps → global scale ×1.03.
- Revenue is calibrated against a set of apps whose revenue is publicly reported (Sensor Tower / Rev.now / press). An accuracy harness scores our estimates (MAPE + bias) and tunes a global revenue scale ×1 to remove systematic high/low bias.
The category conversion rates are seeded from RevenueCat's annual State of Subscription Apps report (a public benchmark, refreshed when they publish) — and the calibration above corrects whatever bias those seeds introduce. So they start as documented snapshots and become data-fit.
6. Getting better over time
The model improves on four axes, in priority order:
- More revenue anchors — every reliable (app, revenue) pair added to the calibration set tightens accuracy. This is the highest-leverage lever.
- Rating-velocity history — as daily snapshots accrue, current-month downloads come straight from Δratings (no lifetime-÷-age approximation).
- Real billing periods — the one input Apple's public listing hides; sourcing it (e.g. the storefront API) would remove our biggest revenue assumption.
- More countries — multi-storefront charts replace the worldwide approximation with measured per-country data.
7. Scout Score (feed ranking)
A 0–100 composite used for the Trending lens, weighting newness 35%, momentum 30%, monetization 20%, and reach 15%. It deliberately favors recent, monetizing risers over established incumbents — the opportunity window.
8. Known approximations (so you can trust the numbers honestly)
- Not official Apple figures, and not panel/SDK-measured like enterprise tools. Directional — typically within ~2–3× of actual, the same ceiling any public-data estimator (incl. Rev.now) cites.
- Billing period is parsed, then inferred. Apple's public listing exposes IAP prices but not periods. When a scraped tier name states one (“Premium Annual”, “Pro Monthly”, “Weekly”) we use it directly; otherwise we fall back to inferring a monthly-equivalent from the price structure. The fallback remains the largest source of revenue error.
- Monthly ≈ lifetime ÷ age. Worldwide downloads are anchored on global ratings, but amortizing lifetime installs over app age understates fast-growing apps and overstates declining ones until we have enough rating-velocity history to measure the current month directly.
- Best for relative comparison and finding opportunities — not for treating any single number as exact.