TronStats Rankings Explained
Fortress RP and TST RP answer the same question two different ways. Here is what each number measures, down to the formula, with real matches to prove it.
On this page
- Why not just use TrueSkill
- Fortress: a performance rating in a ladder's clothes
- TST: TrueSkill with a visible price tag
- The same currency, two philosophies
- Three matches, line by line
- A clean TST night
- When the favorites finish second
- A fortress match under the microscope
- The machinery, precisely
- Fortress
- TST
- Careers on the ladder
- apple and Jam: skill vs volume
- viper: what a strong fresh account looks like
- Ampz: the sawtooth of a #1
- The rules you will actually bump into
- When a number surprises you
TronStats is introducing new ranking systems for fortress and TST. This article is the full introduction: what each ladder is designed to measure, why the two designs are different, and how every RP change is computed. It also answers, ahead of time, the two questions the systems are most likely to raise. In fortress, it is possible to win a match and lose RP. In TST, two teammates can finish first together and earn different amounts. Both are deliberate, and both follow directly from what each ladder measures.
The plain-words model of each system comes first. After that: three real matches read line by line, the exact formulas for readers who want them, and a few real careers that show the machinery working over hundreds of games.
Why not just use TrueSkill
Both game modes run on the same skill-rating tradition, and TST literally runs TrueSkill (the Microsoft rating system built for multiplayer matchmaking) underneath its ladder. The natural question is why the ladder does not simply display that number.
Because TrueSkill is built to predict, not to motivate. It is an unlabeled float that moves a fraction of a point per match once it knows you, it can drop after a win it already expected you to get, and its honest form is a mean and an uncertainty, which nobody wants on a scoreboard. It is a great referee and a terrible scoreboard.
The visible ladders were designed against a specific list of goals: movement you can feel every session, named tiers and 100-point divisions, decay so the top of the ladder stays alive, resistance to farming weak lobbies, sane starting ranks for new accounts, and, underneath all of it, agreement with what a proper skill rating would say. Fortress and TST hit that list from opposite directions.
Fortress: a performance rating in a ladder's clothes
The single most important fact about fortress RP: winning the match is worth exactly zero RP. Not approximately zero. The formula has a slot for a win term and its weight is set to 0, permanently and on purpose.
The reason is how fortress lobbies are made: the bot balances the teams to roughly 50/50 by tier. In a coin-flip lobby, the result of the match tells you almost nothing about how well any individual played. Worse, a win term would actively punish improvement, because a player who gets promoted into stronger company starts winning less often for a while. So the system ignores the result entirely and grades the thing the lobby can't balance away: how you played your position.
Every rated match, your statline is compared against everyone who plays your position, your long-run form is nudged up or down, and the grade is adjusted for how strong your opponents were. That grade, multiplied through a few modifiers we will get to, is your RP change. The team result never enters.
The consequences are visible at scale. Replaying the new formulas over this season's 2,710 rated performances (data through 2026-07-18):
29.7%of match winners lost role RP 43.1%of match losers gained role RPNearly a third of winners walked away with less RP, and more than four in ten losers gained. On a win/loss ladder those would be bugs. Here they are the design: the winners who lost points were passengers, and the losers who gained were carrying.
One more consequence worth internalizing: at the median, a Diamond player's loss this season paid +6 RP while a Bronze player's win paid +2. Grading is relative to the whole position cohort, and strong players tend to post strong statlines even in defeats. The ladder pays the statline.
You do not have to take the grade on faith either: further down we will take one real 12-player match and read every player's RP change off their signals, line by line.
TST: TrueSkill with a visible price tag
TST goes the other way. Teams of two, four teams, a real placement order every match, and soft bot balancing the lobby that doesn't kill variance. Here the result is informative, so the ladder is built directly on it.
Underneath, TrueSkill watches every match and maintains each player's MMR (its skill estimate). The visible ladder, RP, then works like a betting market: before the match, the system computes the expected placement of your team, a number like 2.3, from your lobby's MMRs. After the match, your base RP is simply:
base RP = (expected placement − actual placement) × 15
Beat the forecast and you gain. Land exactly on it and you barely move. Miss it and you pay, even if "missing it" means finishing 2nd when the system expected you to win. Every result is priced against the specific lobby you sat in, which is also the anti-farm mechanism: stomping a weak lobby is expected, so it pays little, and losing to one is a big miss, so it costs plenty.
Here is what that looks like when the new formulas are replayed across the 18,286 rated season-2026 performances (data through 2026-07-19):
Placement drives the sign, expectation drives the size. A 2nd place is usually worth +8 but goes negative in 18% of cases, exactly the games where the forecast said you should have won. A 4th almost always costs you, except the 11.5% of the time the system already expected you to finish last, in which case there was not much left to lose.
There is one more force: convergence. Each game, your RP also drifts a capped step (at most 20 points) toward the rank your MMR says you deserve. If your RP and your MMR agree, the drift is zero and you never notice it. If they disagree, the ladder closes the gap over a couple dozen games instead of letting you sit misranked for a season. It also changed how new accounts enter: you now play your first five games as Unranked, and instead of starting at the bottom, the system places you directly at the rank your MMR earned in those five games.
The same currency, two philosophies
| Plain TrueSkill | Fortress RP | TST RP | |
|---|---|---|---|
| What moves it | Match results vs prediction | Your statline vs your position's field | Placement vs the lobby's forecast |
| Team result matters | Yes | No | Yes |
| Typical move per match | A fraction of a point | Median swing 14 RP | Median 1st +14, median 4th −12 |
| Farming weak lobbies | Self-correcting | Dampened by an opponent adjustment | Expected placement makes it cheap |
| A win can pay negative | Yes, and it is baffling | Yes, when your play lags the field | Rarely (2.1%), when you sit above your MMR target |
Three matches, line by line
Here are real matches from the last few weeks, with the values the new formulas assign.
A clean TST night
Four teams, 2026-07-19. Here is how the system scored everyone:
| Player | Placed | Expected | Base RP | Alignment | Final RP |
|---|---|---|---|---|---|
| pizza | 1st | 2.07 | +16 | 0.84 | +23 |
| Johnny | 1st | 2.07 | +16 | 0.50 | +12 |
| Nanu | 2nd | 2.50 | +7 | 0.50 | +4 |
| DaWg | 2nd | 2.50 | +7 | 0.50 | +6 |
| lava | 3rd | 1.87 | −17 | 1.40 | −19 |
| doov | 3rd | 1.87 | −17 | 1.40 | −23 |
| Prestige | 4th | 3.55 | −7 | 1.40 | −3 |
| dani | 4th | 3.55 | −7 | 1.40 | −3 |
Read the Expected column first and the whole match explains itself. The team that finished 3rd was the favorite (expected 1.87), so their miss cost more than the 4th-place team's, who were forecast to finish 3rd or 4th anyway (expected 3.55) and only paid −3. The winners were mild favorites (2.07), so winning paid a solid but not spectacular +16 base.
Now the question from the introduction: pizza +23 vs Johnny +12, same team, same 1st place. The biggest lever is the alignment multiplier. Each rank has an anchor MMR (the median MMR of players holding that rank). Sit at a rank above what your MMR supports and the ladder softens your gains and hardens your losses until the two agree; sit below it and the opposite happens. Johnny's MMR sat further under his rank's anchor than pizza's did, so his gain got the heavier trim (×0.50 vs ×0.84). The rest of the difference is the convergence drift from the previous section, pulling each player toward his own MMR-implied target. Same result, different distance from where the system thinks each belongs.
When the favorites finish second
2026-07-13: the lobby's strongest team went in with an expected placement of 1.34, about as close to "you should win this" as the forecast gets. They finished 2nd. Final RP: −9 each. Meanwhile the team forecast at 3.31 finished 3rd, beating their expectation, and banked +11 and +7.
This is the core reading habit for TST RP: not "what did I place" but "what did I place, given this lobby".
A fortress match under the microscope
Now fortress, 2026-06-10, a full 12-player match, 16 rounds. The winning team is marked W. Perf is the performance grade (−1 to +1) against the player's position cohort; Opp is what the system expected from them given the strength gap to the enemy team (positive means "you were favored, we expect more"); Align is the rank-pressure multiplier.
| Player | Role | Result | Perf | Opp | Align | Role RP |
|---|---|---|---|---|---|---|
| dani | Wing | W | +0.75 | −0.48 | 0.65 | +33 |
| pizza | Center | W | +0.62 | +0.44 | 0.90 | +25 |
| Ampz | Sweep | W | +0.51 | +1.00 | 0.91 | +14 |
| Xobsile* | Wing | W | −0.30 | −1.00 | 0.94 | 0 |
| cae* | Defense | W | +0.14 | 0.00 | 0.74 | −8 |
| Sanity | Sweep | W | −0.31 | +0.01 | 1.35 | −22 |
| Kronkleberry | Center | L | +0.44 | +0.56 | 1.00 | +17 |
| doov* | Wing | L | +0.22 | −0.47 | 0.65 | 0 |
| eeZ | Wing | L | +0.02 | −0.27 | 1.03 | −4 |
| Nanu | Sweep | L | +0.05 | +0.68 | 1.35 | −12 |
| Izzimahizzi | Defense | L | −0.41 | −0.16 | 1.28 | −31 |
| Rook | Sweep | L | −0.73 | −0.51 | 1.07 | −53 |
The Result column and the RP column are close to independent, which is the design working. The notable rows:
- Sanity, winner, −22. A Diamond sweep who posted a below-field statline (−0.31) while his team won around him. The 1.35 alignment made it sting more: his hidden score currently sits below Diamond's anchor, so losses are amplified until rank and skill re-agree. This is what "passenger" looks like in the data.
- Kronkleberry, loser, +17. The best center statline on either team (+0.44), on the losing side, against opponents the system rated stronger than him. Performance ladder, working as intended.
- Nanu, loser, −12 on a neutral statline. His raw perf was +0.05, basically par. But Nanu is a Master, and the opponent adjustment expected +0.68 from him against this enemy lineup. Par is a miss when you're the strongest player in the lobby. This is the anti-farm mechanism in a single row.
- dani, +33. Best statline in the match (+0.75) and the system expected little given her opponents (−0.48). Her alignment (0.65) actually trimmed the gain, because her hidden score sits below her Platinum rank's anchor. Without that trim this would have been a +50 match.
- The asterisk rows (Xobsile, cae, doov) are in their hidden placement window: their moves apply at double the shown value while their rank is still being established, and the scoreboard shows "Placement N/10" instead of a rank.
Every one of these rows is legible from the signals in the table. None of them is legible from the final score.
The machinery, precisely
For readers who want the actual formulas. Constants below are the live values in the current code.
Fortress
Per rated match, per position played (a match with fewer than 4 rounds in a role is not rated at all):
perf = Σ (stat weight × z-score of your stat vs the position cohort) → calibrated to [−1, +1]
hidden = movement of your long-run form score this match → [−1, +1]
raw = 0.75 × perf + 0.25 × hidden + 0.00 × win
adj = raw − 0.12 × clamp(strength gap vs enemy team / 15, ±1)
role RP = 61 × adj × participation × confidence × alignment
overall RP = 0.35 × the same, on its own alignment
Notes on each piece:
- The cohort. Your statline (per-role stat weights: a center is graded on zone entries and center score, a defender on holds, and so on) is z-scored against everyone who played that position, calibrated per season so the typical match lands well inside the ±1 range.
- The form score is a slow exponential average of your stat quality with a 180-day half-life, scaled so 50 is average and every 10 points is one standard deviation. A quarter of your grade is simply whether this match moved that number up or down.
- The win term is 0. Written into the constants with a comment explaining why, and instructing nobody to ever turn it back on.
- The opponent adjustment compares your form score to the enemy team's average and shaves up to 0.12 off your signal when you are the stronger side (or adds it when you are outmatched). It exists to make weak lobbies pay less: with the adjustment in place, measured across the fully recalculated history, a strong player's win against the weakest opposition pays only about 1.28× a win against peers. (Honesty requires the next sentence: strong players still profit from weak lobbies overall, because they win them more often. The adjustment flattens the pay per win, not the winrate.)
- Participation scales with rounds played, from 0.10 up to 1.00 at 15 rounds.
- Confidence boosts new players: ×1.40 for your first 5 season games, ×1.25 through 10, ×1.10 through 25.
- Alignment is ×(1 ± gap/20), clamped to [0.65, 1.35], where the gap is your form score minus your current tier's anchor (Bronze 40 up to Master 72). Underranked players climb faster; overranked players fall faster.
- Small real signals still move at least ±6 RP, so honest performances never vanish into a zero. The role ladder clamps at −90/+104 per match; the overall ladder at −36/+44.
TST
Per rated match in a standard four-team lobby:
expected = your team's expected placement from pairwise TrueSkill win
probabilities (each player's μ capped at lobby average + 5)
base = (expected − actual placement) × 15
RP = base × perf polish × participation × confidence × alignment
+ clamp(0.20 × (MMR target RP − current RP), ±20) ← convergence
final = clamp(RP, −35, +50)
- The μ cap is the anti-smurf/anti-farm valve: when computing expectations, no player counts as more than 5 points of μ above the lobby average, so a stomper's team is always "expected" to win, making wins cheap and losses expensive for them.
- Perf polish is a small ±15% adjustment from your points z-score, so individual play still matters a little within the team result.
- Alignment is ×(1 ± gap/4) clamped to [0.5, 1.4], gap measured between your μ and your visible rank's anchor (the median μ of players at that rank this season). The asymmetric clamp is deliberate: the low end doubles as farm dampening.
- Convergence pulls toward a target RP read off a per-season curve that maps the MMR distribution onto a target rank distribution (one that keeps Master populated). The pull is proportional to the gap and capped at ±20 per game, so it is self-limiting: at the target it is zero.
- The shields: your first 5 season games are placements (losses halved, no demotion, and on a brand-new account you stay Unranked and then get placed at your MMR target); losses are zeroed entirely through 10 season games unless the smurf flag (μ ≥ 30 within 5 career games) is set; a short-handed team's losses are halved.
Same-team RP gaps stay small under these rules: the median gap between teammates is 5 RP, and only 4.1% of pairs differ by more than 20.
Careers on the ladder
Formulas describe one match. Careers show what the system converges to. All series below come from replaying the new formulas over the full match history.
apple and Jam: skill vs volume
apple is the #1 TST player: 182 season games, average placement 1.33 against an average expected placement of 2.11, first place in 77.5% of his games. Jam is the season's great grinder: 538 games, average placement 1.87 vs 2.12 expected. Better than the forecast, consistently, but by a much thinner margin.
Two shapes worth studying. apple reached his level within ~25 games and has spent 150 games oscillating around it; when he drifts too high, first places start paying zero or negative (the convergence current) and he settles back. Jam's curve is the volume story: a genuine climb into Master around game 130, then four hundred games of plateau between roughly 1,475 and 1,580. When your placements only slightly beat expectations, RP stops accumulating; volume alone cannot buy a rank the underlying skill rating does not support. Notice how often Jam's line touches exactly 1,475: that is where a demotion out of Master lands you (Diamond I, 75 RP), and he keeps climbing back over it.
viper: what a strong fresh account looks like
viper's account played its first fortress match on 2026-01-11. Forty-three wing games later it held a Wing Legend slot at 1,631 RP.
The chart is a tour of the new-account machinery. Seeded at Silver II (400 RP), doubled placement swings rocket him to the placement ceiling of 999 by game 8, where he sits pinned (the system will not place anyone above Platinum III, no matter how loud the first ten games are). The moment placements end, the ceiling lifts and the climb resumes at normal speed, still boosted by the new-player confidence multiplier and an alignment factor that knows his hidden score is far above his visible rank. Half a season later, a Legend slot.
Ampz: the sawtooth of a #1
Ampz has been fortress's best sweep for years. His career on that one ladder:
Master has no RP ceiling, so a #1 with volume simply accumulates, 4,600 RP at the 2023 peak. Then every January the season reset takes 30% and caps re-entry at 1,200 (Diamond III), and the climb starts again. The sawtooth is the intended shape: the reset takes back accumulated RP without touching the underlying form score, and the re-placement softening plus a high alignment factor (his form score sits far above every anchor) makes the rebuild fast each year.
Decay covers the other direction: a top player who stops playing. Diamond and Master ranks decay after a grace period (60 days in fortress, 30 in TST), losing 10 or 30 points a week respectively down to a floor of Diamond III. The drop is reversible: a returning player gets a five-match ×1.25 boost while they re-establish their level.
The rules you will actually bump into
A compact reference for the lifecycle mechanics, both modes:
| Fortress | TST | |
|---|---|---|
| New account | Seeded Silver II, 10 hidden placement games ("Placement N/10"), swings ×2, placed between Bronze III and Platinum III | Unranked for 5 games, then placed at MMR-implied rank |
| Early protection | Losses zeroed through 10 season games (unless smurf-flagged) | Same, plus placement losses halved |
| Season reset | Keep 70% of RP, capped at Diamond III (1,200) | Same, and TrueSkill uncertainty is widened so the new season re-reads you |
| Decay | Diamond+, after 60 days, 10 RP/week | Diamond+, after 30 days, 30 RP/week |
| Legend | Top 5 Masters by RP on each ladder (overall and each role) | Top 5 Masters by RP, minimum 10 season games |
| Smurf flag | Hidden score ≥ 60 within 5 career games: loss shields off | μ ≥ 30 within 5 career games: loss shields off |
One asymmetry between the modes is worth naming. TST's ladder currently fills its top: 13 active Masters this season, five of them Legends, because convergence deliberately targets a distribution that populates Master. Fortress's overall ladder is thinner up top (its active peak is Diamond, with role-ladder Masters like viper and Ampz holding the Legend slots), because fortress RP is a season-long performance account: you fill it by playing well repeatedly, not by arriving.
When a number surprises you
The two systems reward different reflexes. In fortress, ask how you played your position before you ask who won; the answer is almost always in your statline against the field, or in rank pressure pulling you toward your hidden score. In TST, look at the lobby before you judge the number: who was forecast to win, and where does your MMR sit relative to your rank? A delta that looks unfair in isolation is usually a forecast you have not seen.