<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[SeeMeta Blog]]></title><description><![CDATA[SeeMeta Blog]]></description><link>https://seemeta.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6abc7b3300dd128c6fccb852/5be06d0c-ee2b-4443-af6a-f5c457c860af.png</url><title>SeeMeta Blog</title><link>https://seemeta.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 06:23:01 GMT</lastBuildDate><atom:link href="https://seemeta.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Win rate lies at small samples: the statistics behind honest game tier lists]]></title><description><![CDATA[If you have ever built a leaderboard, a product ranking or a game tier list, you have met this problem: the item at the top is usually the one with the fewest data points. A champion with 9 wins in 12]]></description><link>https://seemeta.hashnode.dev/win-rate-lies-at-small-samples-the-statistics-behind-honest-game-tier-lists</link><guid isPermaLink="true">https://seemeta.hashnode.dev/win-rate-lies-at-small-samples-the-statistics-behind-honest-game-tier-lists</guid><category><![CDATA[gaming]]></category><category><![CDATA[statistics]]></category><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Denis Iarovoi]]></dc:creator><pubDate>Wed, 30 Sep 2026 03:31:03 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6abc7b3300dd128c6fccb852/cb6db232-25b1-4197-81c2-0aaa685dd9f0.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you have ever built a leaderboard, a product ranking or a game tier list, you have met this problem: the item at the top is usually the one with the fewest data points. A champion with 9 wins in 12 games has a 75% win rate. A champion with 27,000 wins in 50,000 games has 54%. The second one is the one that is actually strong.</p>
<p>This post walks through a few simple techniques that fix most of it, using numbers from SeeMeta (<a href="https://seemeta.com/en">seemeta.com/en</a>), a site that publishes daily tier lists for TFT, League of Legends, WoW, Deadlock and Brawl Stars.</p>
<h2>1. Put an interval on every rate</h2>
<p>A win rate is a binomial proportion. The 95% Wilson interval for p (wins / games) over n games is:</p>
<pre><code class="language-plaintext">center = (p + z²/2n) / (1 + z²/n)
margin = z * sqrt(p(1-p)/n + z²/4n²) / (1 + z²/n)
z = 1.96
</code></pre>
<p>Quick intuition for p near 50%:</p>
<pre><code class="language-plaintext">n = 100      → about ±10 points
n = 1,000    → about ±3 points
n = 10,000   → about ±1 point
n = 100,000  → about ±0.3 points
</code></pre>
<p>So the 75% champion on 12 games has an interval of roughly 47% to 91%. It could be terrible. The 54% champion on 50,000 games is somewhere between 53.6% and 54.4%. Sorting by the lower bound of the interval instead of the raw rate already produces a much saner ranking.</p>
<h2>2. Drop what you cannot measure</h2>
<p>Intervals help, but most sites also apply a hard minimum. SeeMeta's LoL tier list requires a pick rate of at least 1% (<a href="https://seemeta.com/en/lol">seemeta.com/en/lol</a>), and its counter picker drops matchups with too few games before ranking counters (<a href="https://seemeta.com/en/lol/counter">seemeta.com/en/lol/counter</a>). A cutoff is crude, but it is easy to explain to users, which matters when the audience is players, not statisticians.</p>
<h2>3. Rank on more than one metric</h2>
<p>In Teamfight Tactics, a "win" is ambiguous: players gain rating for placing in the top 4, not just for first place. A single metric misranks comps in predictable ways:</p>
<ul>
<li><p>Sorting by win rate rewards high-variance comps that either win or bust.</p>
</li>
<li><p>Sorting by top 4 rate rewards safe comps that rarely win.</p>
</li>
<li><p>Average placement is the best single number, but it hides both of the above.</p>
</li>
</ul>
<p>SeeMeta's TFT Set 18 tier list (<a href="https://seemeta.com/en/tft/set-18/tier-list">seemeta.com/en/tft/set-18/tier-list</a>) handles this with joint thresholds: a comp only reaches a tier when average placement, top 4 rate and win rate all clear that tier's bar. In the current data, one S+ comp has about 26% win rate and 61% top 4, while another has about 18% win rate but nearly 65% top 4 and a better average placement. Both belong at the top, for different players.</p>
<h2>4. Popularity changes what a rate means</h2>
<p>High pick rate pulls win rate toward 50%, because the sample includes more players who are still learning the pick. In SeeMeta's Deadlock data (541,401 matches, <a href="https://seemeta.com/en/deadlock/tier-list">seemeta.com/en/deadlock/tier-list</a>), Haze is picked in 54.8% of matches with a 53.1% win rate, while Kelvin sits at 54.2% with only 19.6% pick rate. Raw win rate says Kelvin is stronger. Accounting for popularity, Haze holding 53% at that volume is arguably the more impressive number. Brawl Stars lists make the weighting explicit: SeeMeta's Brawl Stars tier list (<a href="https://seemeta.com/en/brawl-stars/tier-list">seemeta.com/en/brawl-stars/tier-list</a>) blends win rate at 80% and use rate at 20%.</p>
<h2>5. Show your inputs</h2>
<p>The cheapest trust feature is printing patch, date range and sample size under the title. Users can judge freshness at a glance, and it makes the page easier to cite correctly for search engines and AI assistants.</p>
<h2>Takeaways</h2>
<ul>
<li><p>Never rank by a raw rate without a sample cutoff or interval.</p>
</li>
<li><p>Pick metrics that match what users are optimizing for.</p>
</li>
<li><p>Interpret win rate together with popularity.</p>
</li>
<li><p>Publish the patch, window and sample size with every table.</p>
</li>
</ul>
]]></content:encoded></item></channel></rss>