Methodology
About Invariance Statistics
A public, keyless statistics site and long-running collector for Fortnite Creative islands and Roblox experiences. It is built to surface early growth and show when demand and supply inside a genre are moving apart.
Sources
First-party public data
- Fortnite
- Epic ecosystem API for island catalog metadata and Epic's own minute, hour, and day metric buckets.
- Roblox
- Roblox public web APIs for game metadata, concurrent players, counters, votes, and discovery seeds.
Collection
Cadence by platform and tier
| Platform | Tier | Collection cadence | Why |
|---|---|---|---|
| Fortnite | Panel | Minute metrics every 30 min; daily metrics daily | Captures Epic's 10-minute buckets with a recovery pass. |
| Fortnite | Watch | Daily | Tracks every island with plays in the last 30 days. |
| Fortnite | Cold | Weekly | Keeps the rest of the catalog covered at low cost. |
| Roblox | Panel | Playing every 10 min; votes hourly | Preserves intraday peaks and launch shape. |
| Roblox | Watch | Playing hourly; votes daily | Supports honest daily peaks beyond the panel. |
| Roblox | Cold | Daily | Maintains low-resolution coverage of quiet games. |
Missing data
Gaps stay visible
Missing observations remain explicit absences and are never interpolated or assigned synthetic timestamps. Recoverable Epic buckets are re-read within their upstream window; anything unrecoverable stays missing and is recorded as a gap.
Honest parity
What this dataset does not claim
- Finest Fortnite resolution is 10 minutes, Epic's floor; fortnite.gg shows one-minute data for the last hour through sources we rejected.
- There is no Discover-placement archive. fortnite.gg has one back to 2023 through the in-game API we rejected; revisiting that source would require an explicit future decision.
- Fortnite genres use Epic's tags and categories, not fortnite.gg's 152 community tags.
- Fortnite release dates are known only for islands first seen after collection started.
- All-time peaks are tracked peaks bounded by collection start, the same caveat Rolimons states.
- History depth grows from zero on launch day. The differentiating views use our own observations, so they widen over time instead of pretending to match an incumbent's head start.
Public JSON API
Version 1 endpoints
Replace {platform} with fortnite or roblox. Responses are public and need no API key; list and series filters are passed as query parameters.
- GET /api/v1/status
- GET /api/v1/{platform}/list
Paginated tracked-title metrics and filters.
Parameters:
sort, dir, q, genre, tier, created_in (Fortnite), min_*, max_*, page, per_pageExample: /api/v1/fortnite/list?sort=peak_7d&dir=desc&page=1&per_page=25
- GET /api/v1/{platform}/entity/{id}
- GET /api/v1/{platform}/entity/{id}/series
A chart-ready metric series at the range's public resolution.
Parameters:
metric; range=24h|7d|30d|90d|1y|allExample: /api/v1/roblox/entity/123456/series?metric=playing&range=30d
- GET /api/v1/{platform}/genres
Genre demand, activity, releases, and concentration aggregates.
Parameters:
range=24h|7d|30d|90d|1y|allExample: /api/v1/fortnite/genres?range=90d
- GET /api/v1/{platform}/rising
Momentum ranking from the latest two full seven-day windows.
Parameters:
NoneExample: /api/v1/roblox/rising
Freshness
Collector freshness and coarse recent-gap counts are available at /api/v1/status.