Tout le monde a un avis. J'ai pris les 10 044 games pro de 2025, dans 45 ligues et tournois, et j'ai essayé de trancher avec un modèle. Chaque fois qu'il donnait une réponse, je cherchais pourquoi elle était fausse, puis je publiais un patch. À la fin, un juge que je ne pouvais pas influencer a noté le travail : les 9 266 games de 2026.
Inspiré de la méthode de la vidéo « the most average NBA player » (code) et parti du notebook LoL Ratings 2.0. Données : Oracle's Elixir, jusqu'au 28 septembre 2026.
Je voulais un sujet qu'on ne trouve pas déjà tout fait sur internet. J'ai listé des idées, puis j'ai lancé une sonde rapide sur les plus prometteuses avant de m'engager.
La note joueur l'emporte parce qu'elle permet un test honnête. Entre deux saisons, les équipes changent de joueurs. Un bon modèle « joueur » doit donc prédire la saison suivante mieux qu'un modèle « équipe ». C'est une question vérifiable.
La stat que tout le monde regarde : (kills + assists) / morts. Minimum 15 games en 2025.
Le meilleur joueur du monde serait donc Rekkles… en NLC, la ligue régionale britannique et nordique, avec 80 % de victoires.
Ton notebook : des stats par rôle, pondérées à la main, normalisées en z-score, puis additionnées. Je l'ai appliqué tel quel à toutes les ligues au lieu de la seule LEC.
Poids voulus ⇒ poids réellement appliqués (part de la variance intra-rôle), sur les 1 700 joueurs à 15 games ou plus.
Correction du bug : chaque joueur est comparé aux joueurs de son rôle. Les stats manquantes valent la moyenne.
Le top 50 mondial compte 8 de LJL, 4 de NEXO, 4 de NL… et 2 joueur(s) des six ligues majeures.
À ce stade, j'ai changé d'approche. Toutes les versions précédentes regardent les stats d'un joueur pour deviner son impact, alors que ces stats sont contaminées par l'équipe, le champion et la ligue. Il faut mesurer l'impact directement.
L'idée vient du basket (le « RAPM ») : on oublie les stats individuelles. Chaque game devient une équation.
écart d'or final = côté bleu + (5 notes bleues) − (5 notes rouges) + bruit
Avec des milliers d'équations et quelques milliers d'inconnues, on résout pour trouver la note de chaque joueur. Un joueur est bien noté si son équipe fait mieux quand il est là, peu importe ses stats.
Chaque note devient « niveau de la ligue d'origine + écart individuel ». Les ligues sont reliées par les tournois internationaux (First Stand, MSI, EWC, Worlds, EMEA Masters, Asia Masters…) et par les joueurs qui changent de ligue.
Avec la seule saison 2025, le modèle mettait la LCK Challengers au niveau de la LEC (+9 points, avec une incertitude de ±93) : trop peu de joueurs relient les deux ligues pour trancher. Les transferts de l'intersaison ont servi de test. Les joueurs partis de la LCK CL vers une autre ligue ont fait -46 points par joueur par rapport à leur note 2025 (±44), ceux partis de la LEC +302 (±50). La LEC était donc sous-estimée. Une fois 2026 intégrée, la LEC passe nettement devant (+541 contre +304).
Elles comptent, comme tous les tournois : leurs 817 games (2025-2026) sont le seul endroit où les ERL s'affrontent directement. Pour les grosses ERL, reliées à la LEC par de nombreux transferts, elles changent peu de chose (LFL -290 points sous la LEC avec, -274 sans). Pour les petites, elles font la différence : sans les EM, la Tchéquie-Slovaquie (HM) passerait de -1 042 à -898 et l'Italie (LIT) de -1 140 à -986, avec une incertitude plus large d'environ 15 %.
Le RAPM seul est très bruité. Je lui donne un point de départ : une note « stats » par rôle, sans poids à la main. La machine apprend quelles stats ressemblent à l'impact mesuré en 0.4. Surtout pas celles qui prédisent la victoire : ce serait réintroduire l'équipe par la porte de derrière.
Avec le fichier 2025 complet (Worlds et intersaison compris) et la saison 2026, le modèle a de nouveau placé la LFL devant la LEC. Cette fois, ce n'était pas un réglage, c'était un bug.
Question d'un lecteur : pourquoi Exofeng, rookie ADC très attendu, est-il si bas ? En LFL 2026, Skillcamp gagne 68 % de ses games avec lui et 35 % avec l'autre ADC de l'équipe, et il a le meilleur KDA des ADC de la ligue.
Deuxième remarque de lecteur : noter un joueur sur deux saisons mélange des contextes qui n'ont rien à voir. Il change de ligue ou d'équipe, ou tombe pendant un split sur une méta qui ne lui convient pas.
Deux exemples. Caliste (Karmine Corp) : note de saison 796, 2e ADC de LEC. Sur la saison régulière du Summer (20 games, 90 % de victoires), sa note de compétition est de 809 (+13), le même écart que ses coéquipiers ; en playoffs du Summer, 788 (-8).
Exofeng, sur la seule saison 2026 : 85 points, 10e ADC de LFL sur 12. Ses 20 premières games de l'année, avant Skillcamp (Prime League, CCWS), ont été gagnées à 25 %. Sans elles, le même modèle le met à 275. C'est exactement le cas d'une saison qui mélange deux contextes. Le filtre de compétition ne le corrige presque pas (saison régulière de LFL : 90, +5), parce qu'en moyenne, chez tous les joueurs, l'écart d'une compétition à l'autre est surtout du bruit. Pour un cas comme le sien, le chiffre à retenir est l'incertitude : ±203 points.
Plutôt que d'ajouter des boutons, j'ai vérifié le raisonnement lui-même, avec des tests que le modèle ne pouvait pas influencer.
Quand un test ne montre rien, la bonne réponse est de ne rien toucher. Le vrai angle mort reste les rosters inséparables : seules plus de données (2023-2024, mercato 2027) le réduiront.
Avec les fichiers 2023 et 2024 (11 106 et 10 204 games), j'ai refait les épreuves sur une saison que le modèle n'avait jamais vue pendant sa construction. Aucun réglage n'a été touché.
Les résultats de 2026 n'étaient pas un coup de chance : même avance sur l'Elo, une intersaison qui va dans le même sens, le même scouting, sur une saison que le modèle n'avait jamais vue.
La vidéo n'avait aucun moyen de savoir si une définition était meilleure qu'une autre. Ici, si. Deux épreuves.
Notes 2025 gelées, calibrées sur janvier 2026, jugées sur les 1 010 games de février 2026. Entre-temps, les effectifs ont été mélangés.
L'Elo d'équipe s'effondre à l'intersaison (53 % de bonnes prédictions) : le nom de l'équipe ne dit plus qui joue. Un modèle qui suit les joueurs garde son information (63,3 %).
Promus en LEC en 2026 avec Rekkles. Sur leurs 11 games : le KDA prévoyait 90 % de victoires, la v1.0 55 %. Réalité : 45 %.
Chaque mois, le modèle est ré-entraîné sur tout ce qui s'est joué avant le 1er, puis prédit les games du mois. Je lui oppose un Elo mis à jour après chaque game, ce qui l'avantage. 8 566 games de février à septembre.
La v1.2 (ré-entraînée chaque mois) fait mieux que l'Elo d'équipe 7 mois sur 8. La combiner avec les deux Elo n'apporte rien (AUC 0,722 contre 0,723) : l'Elo ne sait rien que le modèle ne sache déjà. L'oubli progressif n'aide pas non plus (0,721).
Deux vérifications contre l'auto-persuasion. Un placebo : si je mélange au hasard les résultats de 2025, le modèle retombe à une AUC de 0,48 sur janvier 2026. Il ne triche donc pas. Et la stabilité : en coupant 2025 en deux moitiés au hasard, les notes des deux moitiés sont corrélées à 0,87. Le KDA fait 0,77, mais il est stable parce que la force d'une équipe est stable. Stable ne veut pas dire juste.
Bien classer ne suffit pas : quand le modèle annonce 70 %, l'équipe doit gagner 7 fois sur 10.
L'écart moyen entre annoncé et réel est de 1,7 %. En log-loss (plus bas = mieux), la v1.2 fait 0,612, contre 0,638 pour l'Elo d'équipe, 0,631 pour l'Elo des joueurs et 0,691 pour « toujours le taux de victoire du côté bleu ». Sur les séries, en partant de la probabilité d'avant la game 1 : 72 % des Bo3 bien prédits (69 % pour l'Elo d'équipe) et 68 % des Bo5 (62 %).
Comme dans la vidéo, je ne choisis pas une version. J'en tire 400 au hasard, toutes défendables : force de la régularisation, cible (victoire, or, mélange), poids par rôle ou globaux, correction du champion, stats de lane, chaque stat retirée avec une probabilité de 15 %, oubli progressif, minimum de games, rattachement du joueur à une ligue (la plus jouée ou un mélange). Chaque version est notée sur août-septembre 2026 (AUC de 0,678 à 0,710). Pour les notes affichées, 300 de ces versions sont ensuite ré-entraînées sur la seule saison choisie.
Trois niveaux, jamais mélangés dans un même classement, parce que leurs joueurs ne s'affrontent presque jamais : les ligues majeures (LCK, LPL, LEC, LCS, CBLOL, LCP) ; le 2e niveau (LCK Challengers, ERL comme la LFL ou la Prime League, NACL, Circuito Desafiante, ligues du Pacifique…) ; le 3e niveau (LCK Academy Series, Nexus League, Hitpoint Challengers). Choisis un niveau, puis affine par région, ligue ou poste.
Notes d'une seule saison : le modèle ne voit que les games de la saison choisie (le niveau des ligues part de la saison d'avant, puis les games de la saison le corrigent). En 2023 et 2024, avant la LTA et la LCP, « ligues majeures » désigne les dix ligues de premier niveau de l'époque (LCK, LPL, LEC, LCS, CBLOL, PCS, VCS, LJL, LLA, LCO) ; la LDL, 2e division chinoise, n'existe que dans ces deux saisons des fichiers. Choisis une compétition ou un split pour voir la note du joueur sur cette compétition : sa note de saison plus un écart mesuré sur l'écart d'or de ces games, très régularisé (patch 1.3 : l'écart propre à un split est petit, et le même pour les cinq joueurs d'un roster stable). Un joueur qui a fait des allers-retours entre deux ligues pendant la saison (au moins 10 games dans chacune, par exemple LCK CL et LCK) apparaît dans les deux tableaux, avec la même note ; son équipe est celle de la ligue affichée. Clique sur un joueur pour sa fiche : évolution mois par mois, parcours, toutes ses compétitions, et un bouton pour le comparer à d'autres joueurs (jusqu'à quatre, avec la probabilité que l'un soit vraiment meilleur que l'autre). « vs rôle » = golds d'écart final par game par rapport au joueur moyen du même poste dans sa ligue. « N°1 multivers » = part de 300 versions du modèle où il est n°1 de son poste, dans son niveau.
Effectif = pour chaque poste, le joueur le plus présent sur les 20 dernières games de l'équipe dans la saison choisie. Force = note moyenne de ces cinq joueurs. « Contre l'équipe moyenne » = probabilité de battre une équipe moyenne de la même ligue, côté neutre. Le bilan réel de la saison est à côté pour comparer.
Version de référence : Kiin (Gen.G), Canyon (Gen.G), Chovy (Gen.G), Ruler (Gen.G), Duro (Gen.G). Le multivers, lui, désigne Kiin (86 %), Canyon (97 %), Chovy (97 %), Ruler (92 %), Duro (93 %).
Kiin, Canyon, Chovy, Ruler et Duro sont n°1 dans presque toutes les versions. Les cinq n°1 jouent tous chez Gen.G, et ce n'est pas un hasard. Gen.G a aligné exactement les mêmes cinq joueurs dans 128 de ses 133 games : le modèle voit que c'est la meilleure équipe de 2026 (de peu devant Bilibili Gaming), mais rien ne lui permet de dire lequel des cinq la porte. Il partage donc le mérite, et chacun se retrouve en tête de son poste. Changer les réglages n'y change rien, d'où le multivers unanime.
L'incertitude statistique le confirme : un n°1 de la version de référence ne l'est que dans 16 % à 22 % des tirages. Un multivers protège contre les choix arbitraires, pas contre le manque de données.
J'ai pris les 1 181 joueurs hors ligues majeures en 2025 et regardé qui jouait en ligue majeure en 2026 (LCK, LPL, LEC, LCS, CBLOL, LCP).
Et aujourd'hui, le joueur le plus sous-coté hors ligue majeure :
Rich, top de Kiwoom DRX Challengers (LCKC) : n°1 des joueurs hors ligue majeure dans 100 % des versions du modèle, top 10 dans 100 %.
Avec la réserve qui s'impose : Rich a joué avec 9 coéquipiers différents cette saison. Plus ce nombre est petit, plus sa note peut appartenir en partie à son équipe. Même angle mort que Gen.G, en plus petit.
Worlds 2026 se joue de mi-octobre au 14 novembre, aux États-Unis. Le modèle de prédiction (v1.2, tout l'historique jusqu'au 28 septembre 2026) est gelé dans results/worlds2026/frozen_model.json, et le commit qui l'ajoute en fait la date. Après la finale, un script le notera sur les games réelles, avec les compositions réellement alignées, contre un Elo d'équipe gelé le même jour. Rien ne sera ré-entraîné entre les deux.
Verdict : après la finale.
Force = note moyenne des cinq titulaires (joueur le plus présent à chaque poste sur les 20 dernières games de ligue), en points. Probabilités côté neutre, games supposées indépendantes pour les Bo3 et Bo5. Toutes les équipes des ligues majeures sont proposées : la liste des qualifiés n'était pas complète le jour du gel.
Le counterpick en top vaut environ 33 golds à 15 minutes, soit un ou deux sbires. En jungle et en mid, une quinzaine de golds. En bot et en support, rien de mesurable.
L'équipe qui perd une game fait 2,3 points de moins que prévu à la game suivante. On dirait du tilt. Mais le placebo trahit l'effet : à la rencontre suivante des mêmes équipes, des semaines plus tard, l'écart est encore plus grand (-3,9). Ce n'est pas du tilt, c'est l'Elo qui sous-estime l'écart entre les deux équipes.