Live Roblox analytics
Drop StatsTracker into ServerScriptService. CCU, revenue, retention, funnels and demographics stream to one dashboard — no SDK, no polling, no republish to reconfigure.
One file · 2-minute setup · events batched, one request a minute
Earnings 7d
R$ 48.9k
net after fee
D1 return
34%
+3% vs last wk
Retention curve
What you get
Live CCU, read from Roblox
Concurrent players come straight from the platform — not guessed from your events. Peak detection runs a sweep-line over real session intervals.
Funnels in one line
Define steps in a module, log them with Stats.funnel(player, "Tutorial", 2). Per-step drop-off, deduplicated per player.
Earnings you actually keep
Revenue net of the 30% marketplace fee, split by new against returning buyers, with a live purchase feed.
Retention, Roblox-defined
D1–D7 by first-visit date — the same cohort maths the Creator Dashboard uses.
First-time experience
Where new players quit in their first sixty seconds.
Demographics
190+ countries, with each one’s active hours.
Best event window
A weekday × hour heatmap of your real peaks.
Team sharing
Per-tab scopes by Discord, or a read-only link.
Setup
01
Download the script
One personalised .rbxmx with your key already inside.
02
Drop it into Studio
ServerScriptService, enable HTTP requests. No code changes.
03
Publish
Your game appears the moment a server starts.
-- anywhere on the serverlocal ServerScriptService = game:GetService("ServerScriptService")local Stats = require(ServerScriptService.StatsTracker)Stats.funnel(player, "Tutorial", 2)Stats.trackPurchase({PlayerId = 10003388844,CurrencySpent = 99,})
{ "ok": true, "processed": 87 }
Questions
No SDK, no packages, no build step. You get one Roblox script with your key already baked in — drop the StatsTracker folder into ServerScriptService, turn on Allow HTTP Requests, and publish. That’s the whole integration.
No. The tracker runs server-side only and every call is failure-isolated, so a hiccup can never touch gameplay. Events are queued and sent about once a minute per server instead of one request per event, so the overhead is negligible even at thousands of concurrent players.
Live CCU is read straight from Roblox, so it matches your servers exactly rather than being guessed from events. Everything else — sessions, funnels, retention, earnings — is computed from your game’s real join, leave and purchase events, counting unique players per step, not raw hits.
You choose. Share a game with a specific teammate by Discord username, scope it to certain tabs, and set a custom expiry — or hand out a read-only link that needs no login. Only you can delete the game or change who it’s shared with, and access can be revoked at any time.
Access is limited to authorized Navoj Studios accounts. Once your Discord is added to the allow-list, you sign in with Discord and your connected games appear automatically — there’s no setup beyond dropping in the script.
Sign in with Discord. Access is granted by invitation — ask Navoj Studios to add your account.