How SnapComplete Ranks Decks (And Why Small-Sample Decks Don't Top the Leaderboard)

Sort the Decks page or the Meta tab by Winrate and the numbers you see are not raw win/games math. We apply Bayesian smoothing so a great record over five matches can't leapfrog a great record over five hundred. This page covers what the smoothing does, why it's on by default, where the raw numbers still live, and how all of this differs from the way most Marvel Snap trackers display their stats.

You can always see raw numbers on SnapComplete: every smoothed cell carries the raw rate in parentheses, and your personal stats in My Decks stay raw. Smoothing touches only the community-aggregated leaderboards, where small-sample noise creates a real ranking problem.

The Small-Sample Problem

The SnapComplete tracker pool sees decks at every sample size, from a single match to many thousands. Sort that pool by raw winrate and the decks that played five to thirty games and got lucky swamp the top of the list. A 5-1 record is an 83% raw winrate, and 83% beats every 60% deck on paper no matter how many games stand behind that 60%. The 5-1 deck has proven nothing, but the leaderboard can't tell.

People don't discount small samples on instinct. We learn "more data is better" without ever learning what that looks like in practice. Bayesian smoothing is the formal version of that instinct: pull thin-sample rates toward the global average, and let heavy-sample rates speak for themselves.

How the Smoothing Works

The math is short. We recompute each rate as (observed + K * prior) / (sample + K), where K is the smoothing strength and prior is the global average for that rate (50% for winrate, 0 net for cube rate). Small samples land near the prior because K dominates the denominator. Large samples barely budge because the observed numbers do.

A worked example: a deck that went 6-2 has a raw 75% winrate. Smoothing drags the displayed value back toward 50% because an 8-game sample can't overwhelm K. A deck that went 480-320 sits at 60% raw, and smoothing barely touches it because 800 games is plenty of evidence. The heavily played 60% deck sorts above the lightly played 75% deck, even though the 75% deck posted the higher raw winrate. That is the right ranking.

Smoothing Is the Standard Way Big Sites Rank Things

The same math powers ranked lists across the internet, because every ranking system runs into the small-sample problem we do.

The cleanest example is IMDb's Top 250. IMDb's official help page publishes the exact formula: WR = (v / (v+m)) * R + (m / (v+m)) * C, where R is the title's average rating, v is its number of ratings, m is a minimum-ratings threshold (currently 25,000), and C is the global mean rating across the whole report. IMDb calls this "a true Bayesian estimate," and it's the SC formula above wearing different letters: smoothing pulls small-sample movies toward the site-wide average while movies with hundreds of thousands of ratings hold their ground. That is why a brand-new film with five 10/10 ratings doesn't knock The Godfather off the Top 250.

Wherever a ranked list mixes tiny-sample and huge-sample entries, some version of this formula does the same job. SnapComplete's deck and card leaderboards are the same problem with the same answer. We also print the raw number next to the smoothed one so you can watch the math work.

Why Smoothing Strength Grows With the Window

K is not fixed. It grows as the time window gets older.

The Today filter applies very light smoothing, because today is volatile and even high-sample decks haven't run long enough to separate from the pack. Week applies more, Season more again. All Time applies the heaviest, because the cumulative match pool is the broadest sample we have, so a 5-1 streak measured against it says even less than the same streak measured against today's much smaller window.

The same logic governs Limited Time Game Modes and Infinity Conquest. When a new LTGM opens or an Infinity Conquest week begins, smoothing scales to how long the mode has actually run, not how old the calendar window is. A brand-new LTGM gets light smoothing on day one and tightens as the week fills in. That sidesteps the awkward case where the Season filter would over-smooth an LTGM that opened yesterday, just because the season itself started weeks earlier.

Where Raw Rates Still Show Up

We didn't bury raw numbers behind a paywall or a settings menu. Four places on SnapComplete always show them:

Smoothing is the default sort on community leaderboards because it answers "which deck is actually good in the current meta." Raw answers "what did this deck literally do in the data we have." Both are always one click apart.

How This Compares to Other Trackers

Untapped.gg and most other Marvel Snap trackers display raw win rates with no smoothing. That's a legitimate design choice, and Untapped's underlying data is real, but it means a deck that went 5-1 on a hot streak can outrank a deck that went 480-320 on a real sample. Sort their meta deck list by winrate and the small-sample decks with extreme rates tend to bubble up near the top.

Untapped also leaves bot matches in its deck stats. SnapComplete filters bot matches out of every public deck and card stat by default, so a 60% winrate on /play/decks is 60% against real humans on enough games for the number to mean something. The two filters compound: smoothing handles sample size, bot filtering handles opponent quality.

Smoothing by default with raw always visible, paired with bot filtering by default, is the floor we built the leaderboard on. You get the smoothed view and the raw view in one place, against real humans.

For a feature-by-feature breakdown beyond stats methodology, see the full SnapComplete vs Untapped.gg comparison.

Including Bot Matches (Premium)

Bot filtering stays on by default, but premium users can toggle bot matches back into the deck stats on /play/decks. It is a second view, not a different number: the default still shows winrates against real humans, and the toggle adds the bot games on top so you can compare the two.

Use it to find decks that over-perform against bots. Bots turn up most in the early ranked climb, so a deck that crushes them can be worth riding through those ranks even when its winrate against humans is only ordinary. Once you climb past the stretch where bots are common, the default bot-filtered view is the one that matters again.