Scouting & deals
From early signals to developer contact.
Quick start
- 1The search field sits on the same row as the Game scouting title, aligned right, and accepts a name, studio, ID, or Roblox link. In the radar, filter by stage, age, genre, CCU, Visits, and 24h CCU / Visits.
- 2Click a game avatar or title in the radar, pipeline or signal feed to open its side card directly, with charts, contacts and signal evidence.
- 3Add private contacts, deal stage and next-contact date, then save to your pipeline.
Radar filters · 24h CCU
- 24h CCU / Visits
- Maximum CCU in MARPLA's real snapshots over the past 24 hours / current cumulative Visits × 100%. For example, a peak of 1,000 with 100,000 Visits is 1%. This measures current interest density, not retention or conversion; Visits are not unique players. Hover for the peak timestamp. It replaces the previous near-duplicate current CCU/Visits and peak/Visits columns.
- 24h CCU / game age
- Maximum 24-hour CCU is divided by Universe age in days, with a denominator of 1 during day one. The unit is CCU per day of age: for the same peak, a newer game scores higher. This is a comparable age normalization of traction, not measured daily growth or proof of organic acquisition. Roblox creation may predate public launch.
- Stages and filters
- Stage is selected with dedicated buttons above the filters and does not occupy a table column. You can also limit age, genre, minimum CCU, maximum Visits, and 24h CCU / Visits. The table shows 24h CCU / age before 24h CCU / Visits; age-ratio cells contain only the number, while the unit and formula are explained by the question-mark help. Select a heading to sort.
- Signal 0–100 · model 3
- Exact pre-rounding sum: 15 × min(1, √(24h peak / Visits, in %)) × min(1, Visits/10,000) × min(1, peak/100); plus 10 × min(1, log10(1 + peak/age in days) / log10(101)); min(15, max(0, 1h growth) × 0.25); min(20, max(0, 24h growth) × 0.4); min(10, max(0, 7d growth) × 0.1); min(10, log10(max(1, peak)) × 10/3); min(10, max(0, 95% lower rating bound − 50) × 0.2); when 0 < Visits < 1M, another 5 × min(1, peak/100); and 2.5 each for positive favorite and vote gains. For a spike the first 15-point block is zero and another 15 is subtracted; last-hour coverage below 65% subtracts 10. The result is rounded and clamped to 0–100. It ranks review priority, not success or profit probability.
- Check before a deal
- Check D1 of at least 15%, ideally 20%+, and PTR only against owner-shared data with dates, range, cohort size and paid-traffic separation. Public APIs do not expose these metrics for other games. Originality, viral niches and genre saturation require manual review; no automatic points are assigned. D7 becomes useful when the cohort matures. Save findings in private notes.
How the 0–100 Signal is calculated
MARPLA adds points from saved public observations, applies penalties, rounds the result and clamps it to 0–100. The table shows the maximum contribution of each block. Signal ranks games for manual review; it is not a success probability, valuation or profit forecast.
- Interest density · up to 15
- 24h peak CCU / Visits as a percentage, square-rooted to smooth extremes. The contribution is reduced below 10,000 Visits and below a peak of 100; it becomes zero when a short spike is detected.
- Age-normalized traction · up to 10
- A logarithmic score for 24h peak CCU divided by Universe age in days. Day one uses a denominator of one.
- Growth · up to 45
- One-hour growth contributes up to 15 points, 24-hour growth up to 20 and 7-day growth up to 10. Negative changes add no points.
- Player scale · up to 10
- A logarithmic contribution from observed peak CCU: growth from a small to medium audience matters more than the same increase for an already large game.
- Rating · up to 10
- Uses the lower bound of a 95% confidence interval for positive votes rather than the raw percentage. Points start above 50%.
- Early traction and confirmation · up to 10
- A game with 0 < Visits < 1M receives up to 5 points for its peak; positive favorite and vote gains add 2.5 points each.
- Penalties · down to −25
- A short spike subtracts 15 points. Last-hour coverage below 65% subtracts 10 because sparse snapshots reduce comparison reliability.
- Result
- The sum is rounded to an integer and clamped from 0 to 100. The current interface uses model version 3.
Stages & signal quality
Radar stages update automatically from stored observations. Transitions require repeated confirmation over 15 minutes; sparse observations can freeze a stage. Few votes, sparse coverage and short spikes reduce confidence. Collection targets five-minute cycles: new candidates and favorites have priority; other games rotate. Discovery lists, search and creator portfolios are not a complete Roblox registry, so detection of every new game cannot be guaranteed. Deal stages are changed manually and are separate from growth stages.
Observation queue
CCU snapshots and cumulative counters continue every five minutes. Heavy new-game discovery, Roblox Charts and creator portfolios use a separate durable lease and run at most every 30 minutes; a failed attempt is not retried after five minutes. Two search phrases advance through their own queue, so a full rotation does not skip genres. Priority candidates alternate with games whose observations are oldest. The collector requests up to 50 games per batch, spacing requests to the same host by at least two seconds. On Roblox 429 or a server Retry-After, MARPLA stores a host-specific cooldown and does not call that host before the specified time even in later cycles; other hosts continue working. Pages read our archive without waiting for background collection. If Roblox returns only part of a batch, other games keep their saved history and return to the queue. Sample-wide CCU is recorded only after the requested cohort is returned in full, so an incomplete response cannot look like an audience drop.
Scout profile
All information is in the game side card, with no intermediate panel below the list or separate Charts step. Signal is aligned to the right of the title row; genre, age, favorite count and update date sit directly below the title. Direct Discord, Telegram and YouTube buttons supplied by the owner follow Message in MARPLA, then come the square favorite and comparison actions. When the owner has a live listing, the seller's actual price, offered share and a link to the marketplace card appear beside MARPLA's estimate. The lower block does not repeat the game title or stage: it starts directly with signal evidence, then shows risks, contacts and your private deal. Saving updates the pipeline automatically. Close with the cross or Escape to return to the same filters and scroll position.
- Estimated value
- The from–to range is a MARPLA guide based on stored public signals: current players, visits, rating and Scout Score. It is a broad model estimate, not an offer, asset valuation, verified revenue or transaction price. Before buying, require access to retention, revenue, costs and legal ownership evidence.
- Game contacts
- The profile shows only real buttons: Discord / Telegram from the published description, game-page social links, and the Roblox event host group or profile. For a connected owned game, MARPLA uses authorized Roblox OAuth access to retrieve published Social Links from the game page; the result is archived and also available in the marketplace card. If Roblox returns 401/403, MARPLA does not bypass the restriction and preserves the previously archived contact. A missing link can be entered manually. Message in MARPLA looks for a connected owner; for a game not yet connected, create a one-use chat link and send it to the developer.
- Decision maker
- The Discord username of your project contact. It is not published to other scouts.
- Discussion group / notes / next contact
- A private Discord link, your notes and a date. Saving a date does not send reminders.
Alerts · coming soon
The preview includes Discord and Telegram channels, early-signal rules, game scope and delivery. Channels cannot connect, rules are not saved and messages are not sent yet. Existing confirmed stage changes are available in the Signal feed.
Deal review · coming soon
The future workspace will bring together D1/D7/D30 retention, revenue, payers and traffic sources supplied with developer permission. Today it is an empty review preview, with no document uploads or verified verdicts. Owners can separately provide a restricted Investor Analytics link today. Public CCU does not verify revenue or profitability.
Team · coming soon
The preview provides places for assignees, tasks, negotiation history and post-acquisition targets. Invitations, shared tasks and outcome tracking are not enabled. Your existing pipeline and contacts remain private; existing access roles for your own game are a separate working module.
Collection fallback on open pages
A visible page may start a fallback cycle; hidden tabs do not start new requests. A server lease prevents concurrent collection of the same cohort. Both the catalog fallback and the independent scheduler wait up to 90 seconds, including Roblox request pacing and result storage. The interface keeps showing the archive and remains interactive. Closing a page may cancel its fallback request; the next scheduled cycle retries after the lease is released.
Roblox request cadence
The minute scheduler only wakes queues: actual upstream calls are governed by shared server leases and per-source next_at timestamps. Analytics processes up to four due jobs per minute; minute metrics refresh at most every 5 minutes, hourly metrics every 15 minutes and daily metrics every 6 hours. The market catalog and public player counts target five-minute freshness, Ads additionally follows a 15-minute to 24-hour window based on the selected range, and products and events normally refresh every 6 hours. A connected game's public player count reuses a complete market-catalog observation from the current five-minute bucket; a separate Roblox request runs only for games absent from the fresh observation or missing required fields. The product catalog requests a thumbnail again only for a new or changed Asset ID or while Roblox reports Pending; an already stored image with the same Asset ID is not downloaded again. Heavy collectors run in different minutes of each five-minute window instead of creating one burst. At most one initial benchmark-scorecard bootstrap runs per minute, leaving at least three slots for ordinary analytics. Bootstrap requests only the missing daily or seven-day window and does not download a fresh 24-hour P50–P90 overlay again; scheduled daily sync still refreshes both windows and the overlay in full. Missing exact benchmark scorecards retry after 30 minutes for a temporary response, one hour for a partial response or 429, and six hours for 401/403; successful scorecards refresh daily. Manual buttons use the same queues and leases. A forced Events refresh may bypass the six-hour age, but it is protected by a one-minute guard and the shared single-source lease.
Shared public-cycle quota
One public background cycle performs at most 24 Roblox reads and runs for no longer than 18 seconds. The shared budget covers current player counts for connected games, one due community events-and-contacts job, and up to two previously opened managed calendars. Internal D1/R2 storage maintenance is outside the Roblox quota. If the quota runs out partway through the queue, MARPLA keeps completed sources and exact counters, does not replace the archive with an error, and retries only unfinished work in 5 minutes. Manual sync remains protected by its own lease and repeat-click guard.
Game icons without redundant downloads
The five-minute market snapshot still refreshes CCU and other fast-changing facts, but it no longer requests an already completed game icon on every cycle. A stored completed icon URL is checked once a day; a missing URL or Roblox Pending response retries after 30 minutes. A new game is checked immediately. Manual catalog refresh uses the same due times and shared lease, so it cannot create a parallel stream of duplicate thumbnail requests.
Hourly trend and rating collection
1h compares average CCU over the latest 15 minutes with the 45–75 minute window. Each window requires at least two real observations separated by 5 minutes or more. This supports the catalog's ten-minute rotation as well; a single snapshot is not enough. A neutral dash means insufficient history, not zero growth. Coverage still uses the five-minute target: sparse data does not earn high Signal confidence or automatically confirm acceleration.
- Queue
- One cycle allows at most 44 Roblox requests, 2 concurrent requests and at least 2 seconds between starts on each host. Saved games' votes and CCU are requested before discovery. Up to 1,000 games are sampled per cycle; discovery cycles reserve 50 places for new games.
- Rating
- Up to 200 games per cycle, in batches of 50. Missing ratings come first, then stale ones; saved votes refresh every 6 hours and failed attempts retry no sooner than 30 minutes later. Roblox rate limits impose a shared cooldown. Vote freshness is independent of the logo. A successful rating is saved even if the same game's CCU fails, without advancing its CCU timestamp. Errors neither erase a saved rating nor become 0%.
- Manual sync
- Catalog refresh uses the same queue, due times and lease. Repeated clicks do not create extra parallel requests; the interface continues to show saved data.
Stage lists
Coming later
Early signals in Discord and Telegram
Retention, revenue and traffic sources
Assignees, tasks and partnership outcomes