How Hidden Meta works
Every calculation the tool makes, in plain language, with real numbers. Nothing here is a black box.
What the tool actually answers
You are in the Arena shop with two augments or items in front of you. One gives survivability, the other gives damage, and the numbers are in different units so they cannot be compared directly. Hidden Meta converts both into the same unit and tells you which one is ahead in the fight you are actually in.
The comparison always depends on how long the fight lasts. A survivability option is worth its full value the moment you buy it. A damage option earns a bit more every rotation. So the two are equal at exactly one fight length, and whichever side of that point you are on decides the answer.
Two labels appear throughout this page. Real game rule means the formula is Riot's, verified against the League wiki.Our estimate means we picked the number by judgment, and it can be wrong.
Rotations, and why everything is measured in them
A rotation is one full cycle of your abilities plus the autos you land during it — between two and a half and three and a half seconds of combat, depending on your champion. It is the unit for every result the tool shows, because "how many rotations do I get" is the question that decides the comparison.
How long your rotation takes depends on how you deal damage. An auto attacker like Jinx cycles faster than a combo mage like Ahri, so the same round holds more of her rotations than his. The tool reads that from your champion, which is why the ceiling below is not the same number for everyone.
Arena rounds have a real time limit. The Ring of Fire starts closing about 30 seconds into combat and forces an ending somewhere around 60 to 90 seconds. So there is a hard ceiling on how long any fight can run.
Show the math
seconds per rotation = 2.5 (all autos) .. 3.5 (all abilities) 90 seconds maximum round auto attacker 90 / 2.5 = 36 rotations balanced 90 / 3.0 = 30 rotations ability champion 90 / 3.5 = 26 rotations
Against a tanky enough enemy the fight length stops moving once it hits that ceiling. That is the cap working, not a broken slider.
Our estimate. The two and a half to three and a half second range is reasoned from how champions deal damage, not timed against real games. The 90 second round deliberately takes the generous end of the range, since it is an absolute maximum rather than a typical round.
Where a champion's damage numbers come from
Every champion carries three ratings from 0 to 4: how much their damage benefits from AD, from AP, and from HP. Ahri is AP 4 and AD 0.5. Dr. Mundo is HP 4. Each rating becomes a ratio, meaning how much damage one point of that stat adds to one rotation.
HP gets a far smaller range than AD and AP, because HP is measured in thousands while the other two are in tens and hundreds. On the same scale a tank's health pool would out-damage a full lethality carry by an order of magnitude.
Show the math
ratio = floor + (rating / 4) x (ceiling - floor) AD and AP: floor 0.25 ceiling 3.5 HP: floor 0.01 ceiling 0.12
Worked example, Aatrox (AD 3, AP 0.5, HP 2.5):
AD ratio = 0.25 + (3 / 4) x 3.25 = 2.69 AP ratio = 0.25 + (0.5 / 4) x 3.25 = 0.66 HP ratio = 0.01 + (2.5 / 4) x 0.11 = 0.079 At level 18 he has 145 AD and 2588 HP, so before mitigation his rotation carries 145 x 2.69 = 390 physical damage and 2588 x 0.079 = 205 HP-based damage.
The three are independent. A mage who picks up AD gets almost nothing from it no matter how strong their AP scaling is, which is the whole reason there are three ratings instead of one.
Our estimate. The 0 to 4 ratings are hand-maintained per champion, and both floor and ceiling pairs are calibrated by us.
Damage per rotation
Your whole stat line becomes one number: how much damage a single rotation actually lands after the enemy's armor and magic resist take their cut.
Show the math
raw physical = total AD x AD ratio x attack speed and cast rate
raw magic = total AP x AP ratio x cast rate
raw HP = total HP x HP ratio
damage = raw physical x armor multiplier
+ raw magic x MR multiplier
+ raw HP x a blend of bothRatios apply to your total stat, not just what the option adds. That is deliberate: attack speed has to scale the autos your base AD already produces. The baseline part cancels out when comparing two options anyway, since both carry it.
HP-based damage is split 50/50 between armor and magic resist for almost everyone, because most champions with HP scaling deal it through mixed sources. Five champions scale off HP hard enough to be worth modelling exactly:
| Champion | Damage type | Source |
|---|---|---|
| Cho'Gath | Magic | Vorpal Spikes |
| Dr. Mundo | Magic | Kit scales off his own max health |
| Sion | Magic | Soul Furnace |
| Zac | Magic | Unstable Matter |
| K'Sante | Physical | Ntofo Strikes and Path Maker |
It matters most against lopsided resistances. Dr. Mundo against 300 armor and 60 MR deals 303 damage per rotation on his real magic type, versus 227 on the blend. K'Sante in the same fight drops from 160 to 100.
Show a worked example
Aatrox at level 18 against a Mixed comp:
enemy 205 armor, 120 MR raw physical = 145 x 2.69 = 390 armor mult = 100/(100+205) = 0.328 raw magic = 0 = 0 MR mult = 100/(100+120) = 0.455 raw HP = 2588 x 0.079 = 205 damage = 390 x 0.328 + 0 + 205 x 0.39 = about 208 per rotation
Attack Speed and Ability Haste
A rotation is a fixed span of time, so bonus attack speed means more autos inside it and Ability Haste means more ability casts inside it. Each one only speeds up its own half of your damage.
Which half is which comes from a per-champion ability share rating. Riven is essentially all ability casts, Jinx is essentially all autos, Twitch is an even split. Without it, attack speed would speed up a mage's spells and Ability Haste would speed up an auto-attacker's basic attacks.
Show the math
attack speed: more autos = 1 + bonus/100 ability haste: more casts = 1 + (0.75 x AH)/100
Vladimir, all abilities, gaining 30 Ability Haste goes from 933 to 1117 damage per rotation, up 19.7 percent. Jinx on the same 30 Ability Haste moves 528 to 537, up 1.6 percent. That is correct: almost none of her damage comes from casts.
Entering attack speed. Your client shows bonus attack speed as a percent. In Current Stats, enter your current total bonus. In Option A and B, enter only what that option adds on top.
Real game rule for the cooldown maths: 100 Ability Haste genuinely means casting twice as often, exactly as 100 percent attack speed means attacking twice as often.Our estimate for the 0.75 dampening and for every ability share rating.
Crit and Life Steal
Crit multiplies auto attacks and nothing else. It does not touch your abilities and it does not touch AP, so 50 percent crit is worth a great deal to Jinx and nothing at all to Ahri. The tool uses your average crit damage rather than rolling dice, because over the fifteen to thirty autos a fight contains the luck evens out.
Show the math
crit multiplier = 1 + (crit chance / 100) x (0.75 + bonus crit damage / 100) A crit deals 175% of a normal hit, so the bonus it adds is 75%. Infinity Edge's +40% crit damage is entered as 40. 100 AD, all autos, 0 crit -> 100 damage 100 AD, all autos, 100 crit -> 175 damage 100 AD, all abilities, 100 crit -> 100 damage, unchanged
Life steal heals you off your auto attack damage, and the tool prices that healing as extra damage absorbed. Three things follow, and all three match the game: it heals forless against a tanky enemy, because it heals off damage that has already been through their armor; each point is worthmore on a durable build, because restoring 100 HP behind 100 armor buys you 200 damage of absorption; and it does nothing for a champion who never autos.
Then it gets discounted, for two reasons. Some healing is always wasted — you start a round at full health, and Grievous Wounds is cheap and everywhere in Arena. And healing needstime between incoming hits to matter at all. Against a poke comp it works perfectly: you take chip damage, you auto, you top back up. Against an all-in burst comp you are dead inside one rotation and the healing never happens.
So the Enemy Threat slider hits life steal twice: once by shortening the fight, which costs every stat equally, and again on top of that. Damage you already dealt still counted even if you die right after — healing that never landed is just gone.
Show the math
healed per rotation = auto attack damage landed x life steal / 100 value of healing = healed x (your effective HP / your HP) x effectiveness effectiveness by Enemy Threat: Low (poke) 75% Medium 54% High (all-in burst) 34% 20% life steal, 50 auto damage per rotation -> 10 HP healed on 2000 HP, no resistances, medium threat -> worth 5.4 damage on 2000 HP, 100 armor + 100 MR, medium -> worth 10.9 damage
One thing is deliberately not in that discount: a bonus for fighting tanks. Life steal really is better in long fights against durable enemies, but that already happens on its own — against a Squishy comp you heal about 530 HP over the fight, against Tanky about 1026, because the extra rotations more than make up for the smaller heal each time. Adding a bonus would count it twice.
Real game rule for the mechanics.Our estimate for the size of the discount. The direction is right — worse against burst, better in long fights — but how much healing is genuinely wasted is a judgement call, and this is still the least certain number in the tool.
Penetration
Penetration lowers the enemy's resistances before mitigation is applied. It never touches your own effective HP. Order of operations matters: percentage penetration applies first, then flat penetration subtracts from what is left.
Three real rules the tool follows, which are easy to get wrong by hand:
- Penetration cannot push a resistance below zero. A target with 20 armor facing 35 lethality is treated as 0 armor, not minus 15.
- Penetration does nothing if the resistance is already zero or lower. There is nothing left to remove.
- Percentage penetration from two sources multiplies, it does not add. Two 30 percent sources leave 49 percent of the resistance standing, which is 51 percent total penetration, not 60.
Whatever resistance survives that then becomes a damage multiplier. Negative resistance increases damage taken, but approaches double and never reaches it, no matter how negative it goes.
Show the math
effective armor = max(0, armor x (1 - armor pen %) - lethality) effective MR = max(0, MR x (1 - magic pen %) - flat magic pen) resistance 0 or above: 100 / (100 + R) 100 armor -> x0.50 resistance below 0: 2 - 100 / (100 - R) -100 armor -> x1.50
200 enemy armor, you have 35 percent armor pen, the option adds 30 percent more, plus 25 lethality:
combined pen = 100 x (1 - 0.65 x 0.70) = 54.5% (not 65%) effective armor = max(0, 200 x 0.455 - 25) = 66 multiplier = 100 / 166 = 0.602 you land 60% of raw damage
Real game rule. All of it, verified against the wiki.
Effective HP
HP, armor and magic resist become one number: how much raw damage you can absorb before dying. This is the survivability half of every comparison.
Armor and magic resist are not worth the same amount in every fight. Against two AP enemies your MR is doing almost all the work and your armor is nearly idle. The Enemy Damage Type slider sets that mix, and it can flip an armor-versus-MR comparison outright.
Show the math
EHP vs physical = HP x (1 + armor / 100)
EHP vs magic = HP x (1 + MR / 100)
blended = HP / [ p / (1 + armor/100) + (1-p) / (1 + MR/100) ]
where p = share of enemy damage that is physical
Aatrox at 18 - 2588 HP, 119.6 armor, 66.9 MR, even mix
vs physical = 5683
vs magic = 4319
blended = 2588 / (0.5/2.196 + 0.5/1.669) = 4903That blended figure is not the average of the two above it, and the difference is real. You die when the mitigated damage adds up to your HP, and solving that gives the formula shown. Averaging instead would credit you for the resistance you have plenty of soaking up damage it never actually absorbs — on a build with 100 armor and no MR, the average claims 3600 where the truth is 3200.
Real game rule. The formula falls straight out of how damage mitigation works; nothing here is a guess. Your own armor and MR are used — enemy penetration never reduces your effective HP, it is handled on the damage side instead.
Enemy Context: how long the fight lasts
This is the most important calibration in the tool, because every verdict is compared against it. Rather than guessing, two real champions at level 18 are given assumed late-round items, run through the same effective HP formula above, and divided by a strong carry's damage output.
Show the anchor numbers
rotations to kill = blended EHP / a strong carry's damage per rotation
| Enemy Durability | Rotations | Real time | Armor | MR |
|---|---|---|---|---|
| Squishy | 6.9 | 21s | 100 | 50 |
| Mixed | 17.2 | 52s | 205 | 120 |
| Tanky | 27.5 | 82s | 310 | 190 |
| Ceiling | 32.4 | capped | 333 | 267 |
Enemy Armor and MR are an average per opponent, not a team total, and you can edit them directly if you know the real values. Squishy, Mixed and Tanky are clickable landmarks on a continuous slider, not three fixed modes.
The Danger To You slider then adjusts that fight length for how rough the fight is on you personally — how hard they hit, and how early they come for you. Left is safe, right is dangerous, and the middle changes nothing.
This used to be two sliders, Enemy Threat and Survival Window. They only ever fed the same number, and they ran in opposite directions: dragging Enemy Threat right made your fight worse, dragging Survival Window right made it better. Two controls side by side where right meant opposite things. They are one control now, and the two halves are still available separately under Advanced if you want them.
Show the multipliers
Danger Enemy Threat Survival Window Combined Safe 0.0 1.15 1.20 1.38 Even 0.5 1.00 1.00 1.00 Danger 1.0 0.75 0.65 0.49 Mixed comp, even danger = 17.2 x 1.00 = 17.2 rotations Squishy comp, most dangerous = 6.9 x 0.49 = 3.4 rotations Tanky comp, safest = 27.5 x 1.38 = 37.9, capped
Our estimate. The reference champions, their assumed items, and both multiplier tables are all judgment calls. The danger scale is deliberately asymmetric: high danger hurts more than low danger helps.
How the verdict is decided
Each option's value over a fight is a one-time survivability boost, available immediately, plus a damage boost that accumulates every rotation. Draw both as straight lines against rotation count and they cross somewhere. That crossover is the breakeven point.
Show the math
crossover = (EHP of B - EHP of A) / (damage of A - damage of B)
Usually one option is the early leader, with more effective HP, winning short fights. The other is the late leader, with more damage, winning long ones. Your available rotations are then compared against that crossover:
| Distance from the crossover | Verdict |
|---|---|
| Within 25 percent | Toss-up |
| 25 to 40 percent | Slight Edge |
| 40 to 60 percent | Favored |
| Beyond 60 percent | Overwhelmingly Favored |
That table is only half the answer. It measures how decisivelyone option leads, and says nothing about how much that lead is worth. So the verdict is also held to the size of the actual gap, and you get whichever of the two readings is lower.
| Advantage shown | Highest verdict allowed |
|---|---|
| Under 1 percent | Toss-up |
| 1 to 3 percent | Slight Edge |
| 3 to 8 percent | Favored |
| 8 percent or more | Overwhelmingly Favored |
Without that second check the tool could call something Overwhelmingly Favored while the number printed right underneath said +0% — an option can lead for the entire fight and still lead by almost nothing. When the size of the gap is what held the verdict back, the explanation says so.
One situation skips the crossover bands: if one option leads at every point in the fight, it wins without a crossover to reason about. It still has to clear the table above to earn a confident label.
Worked example. Option A gives 600 HP, Option B gives 80 AD, on Aatrox against a Tanky comp. A wins on both survivability and damage, because Aatrox's HP scaling of 2.5 means that 600 HP is also worth about 47 damage per rotation. The crossover is never reached.
Our estimate. All three band widths and all three advantage thresholds.
What this depends on
Under every verdict are two lines that qualify it. They exist because a single confident answer hides how uncertain some of the inputs behind it are — fight length most of all.
The first line is the break-even: the fight length at which the answer changes hands. "Option A wins the short version of this fight; Option B takes over past 18 rotations" is true whether or not the estimated fight length is right, which a bare "Option B wins" is not. When one option leads at every length a round can hold, it says that instead — and that is the stronger result, because it means the least certain number in the model cannot change your pick.
The second line names which control actually decides it. Each of the three Enemy context sliders is swept across its whole range and the comparison recomputed at each step. A slider that changes the winner always outranks one that only changes the margin, however big that margin moves — the first is a decision, the second is trivia.
Show two worked examples
60 armor vs 60 MR break-even none - one option leads at every fight length decided by Enemy damage type (the only slider that flips it) 350 HP vs 55 AD break-even 18 rotations, and this fight is set for 17 decided by Danger to you damage type moves the margin, never the winner That 18-vs-17 gap is exactly why this one reads as a toss-up.
Real math, nothing estimated. The sweep re-runs the same model the verdict came from. The only judgment is that a swing under one percentage point is not worth mentioning.
The scaling note under a verdict
Sometimes a short extra sentence appears under the result. It shows up when a champion's scaling profile is the real reason one option beats its raw numbers, so a smaller-looking stat gain is actually the better pick.
For example, on Ahri a 30 AP option beats a 60 AD one outright, even though 60 is the bigger number, because she barely scales off AD at all.
Show a worked example
Option A 30 x 3.50 (AP ratio) = 105.0 -> an AP option
Option B 60 x 0.66 (AD ratio) = 39.6 -> an AD option
damage per rotation: A = 117.3 B = 82.5
note: "Ahri's AP Scaling makes this option's damage
more valuable than it looks."Each option's gains are weighted by that stat's own damage ratio before being compared, so all three stats are judged in the same unit. Comparing raw stat numbers instead would read a 600 HP and 40 AD option as an HP option every time, even when the 40 AD is the far bigger contribution.
The Advanced overrides
If you know your real rotation damage, from the practice dummy in the shop phase or from experience, you can replace the tool's estimate. There are two fields rather than one because attack speed scales only the AD portion, and a single combined number cannot tell the two apart.
The AD override is divided by your current attack speed multiplier before being stored, so when the tool applies that attack speed again downstream the two cancel exactly:
Show the math
220 AD, +50% attack speed, you measured 600 AD-portion damage stored = 600 / 220 / 1.5 = 1.818 tool gives = 220 x 1.818 x 1.5 = 600 counted once, as measured option adds +20% AS: 220 x 1.818 x 1.7 = 680 scales correctly
Leave either field blank to keep the default. Both reset when you change champion or level. HP-based damage always stays on the default; these overrides do not cover it.
What the tool does not model
These are deliberate limits, not bugs. Worth knowing before you trust a close result:
- Item and augment passives. Importing an item brings in its stats only. An item whose value is mostly its passive will be undersold here.
- Shielding and cooldown timing windows. Neither is represented. Life steal is, but the amount of healing that gets wasted is estimated rather than simulated.
- Abilities that can crit. A few can — Yasuo's Q, Tryndamere's E, Caitlyn's headshot. The tool treats every ability as unable to crit, so it undersells crit for those champions rather than overselling it.
- Your own build changing the fight length. Buying health does not earn you extra rotations here, and buying damage does not end the fight sooner. The Danger To You slider stands in for both.
- Build extremes. Ability share reflects how a champion is usually built. A full AP Twitch is far more ability-reliant than his rating suggests.
- Measured rotation timing. Rotation length follows how a champion deals damage, but the two and a half to three and a half second range behind it is reasoned rather than timed against real games.
When a result comes back as a Toss-up, that is the tool telling you the two options are genuinely close enough that the things it does not model will decide it. Pick on matchup or playstyle.