Data Insights

The Desert War MMR Formula — What 30,000 Observations Say About Strength

Updated 2026-10-09 lastwarhub.com

Built from Desert War data sent in by collector users and re-analysed seven times; latest pass 9 October 2026 (29,696 strength observations, 1,613 rounds with per-member rosters, 11 September – 10 October). Alliance-level numbers live on the Desert MMR ranking.

Revised 29 September. Earlier versions of this post said strength is “rebuilt from your roster every round” and that “losing doesn’t cost you anything”. Once three weeks of per-member roster data came in, both turned out to be wrong. Strength is a rating that carries over week to week, and with the roster held constant wins and losses move it on their own. Section 3 has the correction.

Re-checked 9 October. Per-member rosters now cover five weeks, 1.6× the earlier sample. The shape of the formula (4th-power sum, carried-over rating, win/loss adjustment) reproduced, and the result effect came out sharper and a little larger: about +8% after a win, −6% after a loss. All numbers below use the new sample.

Every alliance I know has had this argument in officer chat: “Why is this week’s opponent so stacked?” — followed by someone’s theory. “We won last week, so our MMR went up.” “Throw one match and next week gets easy.”

So we measured it. In August the collector only logged alliance totals. From September it started logging each starter’s and substitute’s hero power as well, and things that were impossible to separate from totals finally came apart. That’s why, for the first time, this post can write down something close to a formula.

The short version

① Alliances on the same server in the same week:
   strength ∝ Σ (hero power of each of the 20 starters + 10 substitutes)⁴

② Weekly update:
   strength this week ≈ strength last week
                      × (this week's roster Σh⁴ ÷ last week's Σh⁴)^≈0.65
                      × (≈1.08 if you won last week / ≈0.94 if you lost)

③ Absolute level: a per-server, per-alliance accumulated constant
   that can't be recovered from what's observable

① tells you who is stronger, ② tells you how it changes next week. ③ is the part the data can’t solve — section 4 explains why.

1. Strength is what the game matches on

The matchup screen shows a strength value for each side. Compare the two alliances that actually got paired and the median difference is 1.2% (825 pairs, fifth pass). Put that next to other stats and it’s obvious which one the game is lining up:

Median gap between two matched alliances strength (MMR) 1.13% Alliance total power 4.75% Average power per member 13.96% Registered squad power 15.09%
Median gap between two alliances that were actually paired (662 pairs). Only strength is tight — that's the value the matchmaker targets.

Registered squad power differs by 15% between paired alliances; strength differs by 1%. When it feels like you drew someone way stronger on paper, you probably did — on power. On strength, you’re even.

Opponents only come from a contiguous block of server numbers. Since 28 August servers 3–676 have formed one block, and those edges (420, 676, 804…) are migration group boundaries. The edges move every 8–10 weeks for reasons we haven’t pinned down, so the ranking page recomputes blocks weekly.

2. Strength follows the sum of each registered member’s hero power to the 4th

We compared only alliances seen on the same server in the same week (700 server-weeks, 1,537 observations), so that per-server scaling can’t leak in, and tried several candidate roster measures:

How well each roster measure explains strength within a server-week (R²) Σ hero power 0.67 (slope 2.21) Σ hero power² 0.83 (1.79) Σ hero power³ 0.87 (1.39) Σ hero power⁴ 0.85 (1.07) Σ hero power⁵ 0.81 (0.84) Σ squad power² 0.62 (1.44)
Explained variance within each server-week, with the log-log slope in brackets. The slope closest to 1 is the 4th-power sum (1.07) — strength is roughly proportional to it.

How to read that: if strength is directly proportional to some measure X, the log-log slope should be 1. Plain summed hero power gives 2.21 — strength moves far more steeply than the total. Squaring and cubing bring the slope down, and at the 4th-power sum it lands at 1.07, with R² near the top at 0.85. The cube scores a hair higher on R², but its slope of 1.39 means strength isn’t proportional to it.

Two things follow:

  • Squad power is almost useless. Once hero power is in, squad power adds −0.08 — effectively nothing. That’s why the “registered power” on the matchup screen never lined up with pairings.
  • A 4th power means the strongest members dominate. A member with 20% more hero power contributes 2.1× as much strength; 50% more, 5×. Adding a few weak members barely moves the number.

Substitutes count too, at the same weight. We first assumed only the 20 starters mattered, but adding the 10 substitutes at equal weight improved every test: R² within a server-week rose from 0.85 to 0.88, and for week-to-week changes in the same alliance from 0.31 to 0.47. Trying substitute weights of 0, 0.5, 1 and 1.5, the best fit sat around 1 — the same as a starter. In 96 weeks where the starters stayed put and only substitutes changed, strength still followed the substitute change. The chart above uses starters only; with substitutes included the best exponent sits between 4 and 4.5.

3. Strength carries over, and wins and losses move it (correction)

We used to say strength is “rebuilt from the roster every round”. Fitting consecutive weeks for the same alliance (770 pairs) as “this week = k × last week + roster effect” gives k = 1.00 (0.995 ± 0.005). It isn’t recomputed from scratch; last week’s value is carried forward and multiplied by the change. Roster changes pass through at roughly the 0.65th power of the Σh⁴ ratio.

And results count. The earlier version concluded that losers drop only because they field weaker rosters the following week. Without per-member rosters we couldn’t separate the two effects. This time we kept only weeks where the roster barely changed (same headcount, summed hero power within 3%, 90 pairs):

Change in strength the following week with a near-identical roster (median) Week after a win (47) +8.5% Week after a loss (43) −6.3%
Only weeks with the same headcount and summed hero power changing by less than 3%. With the roster effect removed, the result alone opens a gap of about 14 points.

Controlling for the roster across the full sample with battle records (213 pairs), the win effect holds at +14 points (standard error 2 points — effectively no chance this is noise). Winning big or narrowly made no difference. Whether the opponent was stronger or weaker made no significant difference, so at least for now there’s no sign of Elo-style “beat a stronger team, gain more” — it looks closer to a flat bump up for a win and down for a loss.

That’s how the old “losing is free” conclusion happened: losing alliances really did shrink their rosters the next week (registered power −5.3%), and with totals only, the two effects were tangled together. Per-member rosters pulled them apart, and both are real.

4. Why strength doesn’t compare across servers

Formula ① only holds within a server. Across servers, near-identical rosters can sit dozens of times apart. Normalising by each server’s top-200 average hero power only gets R² to 0.44, with errors still above 3×.

Section 3 makes this unsurprising. Strength is a multiplicative running rating, so today’s value carries months of that alliance’s and server’s win/loss history. Today’s roster can’t tell you that history. Comparing raw strength across servers — especially servers of different ages — is meaningless, and that scale gap is probably part of why pools are grouped into server blocks at all.

5. Hypotheses we threw out

Keeping these on the record, including the ones this revision corrects.

  • A regression like “strength = squad power^1.74 ÷ server hero total^0.92”. Looked great on the third pass; with double the data it explained 0.36 with a typical 3.4× error. Built on squad power, so wrong from the start (section 2).
  • “Sum of squared squad power per member.” Worst of all candidates on matched pairs (29% gap). The shape — a per-member power sum — was right; the ingredient (squad power) and exponent (2) were wrong. The real thing is hero power to the 4th.
  • “Strength is rebuilt from the roster every round.” Our old conclusion. It carries over (section 3).
  • “Losing doesn’t cost you anything.” Our old conclusion. With the roster held fixed, a loss costs about 6% (section 3).
  • “Strength changes mid-round because the roster changed.” In 121 mid-round changes with the same headcount, roster changes explained almost nothing (R² 0.03). It looks like the weekly update simply lands a little after the round opens.

6. Predicting next week’s strength

  1. Note your strength from last week’s matchup screen.
  2. Raise the hero power of this week’s 20 starters and 10 substitutes to the 4th and add them all up (working in units of 100M keeps the numbers small). Divide by the same sum for last week’s roster.
  3. Raise that ratio to the 0.65th power.
  4. Multiply by 1.08 if you won last week, 0.94 if you lost.

Just assuming “same as last week” gives a median error of about 12%. Adding the roster ratio gets it to about 9%; adding the result brings it to about 7%. What’s left is mostly everyone growing a little every week — and since opponents grow too, it hardly affects pairings.

What this means in practice

Your top players carry the number. With a 4th-power sum, losing a couple of core players drops strength sharply, while swapping bottom slots barely registers. The flip side: filling out all 20 starter slots with weaker members costs you almost nothing in MMR. But parking a strong player on the bench doesn’t hide them from MMR — substitutes count at the same weight.

Win streaks make opponents about 8% tougher each week. The rating climbs with every win, so a streak eventually brings an even match. A losing streak slides about 6% a week until you meet opponents you can beat.

Tanking doesn’t add up. A deliberate loss does drop next week’s strength by about 6%. But you give up this week’s win rewards for it, and the only bigger lever — shrinking the roster (section 2) — means weakening yourself. It almost never pays.

Only compare alliances within the same pool. Raw strength carries server history, so comparing across pools is misleading. That’s why the Desert MMR ranking only shows alliances from the same block.

Limits

Everything here is observed regularity, not rules published by the developer. Per-member rosters cover five weeks from 11 September, and the win/loss effect comes from 213 pairs with battle records, so numbers like +8% / −6% may still shift. We don’t yet know when or why pool edges move, or whether the rating decays over time. We’ll update this post as more rosters and results come in.


Unofficial fan-site content · not affiliated with or sponsored by the publisher · observation-based analysis that may change with game updates.

Made by lastwarhub.com