Comment il calculeHow it calculates
De la lecture du match à la probabilité affichée : les étapes, les facteurs, les modèles et l'apprentissage.From reading the match to the displayed probability: the steps, the factors, the models and the learning.
Vue d'ensembleOverview
Chaque match suit le même chemin, de gauche à droite :Every match follows the same path, from start to finish:
- Suivre le jeu. Rocket League envoie à ton PC ce qui se passe dans le match.Follow the game. Rocket League sends your PC what happens in the match.
- Lire les joueurs. Le programme récupère leurs stats publiques sur tracker.gg.Read the players. The program fetches their public stats on tracker.gg.
- Calculer l'avant-match. Un modèle statistique transforme ces stats en probabilité.Calculate the pre-match. A statistical model turns these stats into a probability.
- Suivre le match. La probabilité évolue avec le score et le temps restant.Follow the match. The probability evolves with the score and the time left.
- Apprendre. Le résultat est noté et le modèle se réentraîne avec tes parties.Learn. The result is recorded and the model retrains with your matches.
1. Suivre le jeu1. Follow the game
Rocket League propose une Stats API officielle. Quand elle est activée, le jeu envoie en continu, à ton PC seulement, les événements du match : les joueurs, le score, le chrono, les buts, la prolongation et la fin de partie. Rien n'est envoyé en dehors d'un match. Le programme l'écoute sur une connexion locale, qui ne quitte jamais ta machine.Rocket League offers an official Stats API. When it is enabled, the game continuously sends, to your PC only, the events of the match: the players, the score, the clock, the goals, overtime and the end of the match. Nothing is sent outside a match. The program listens to it over a local connection, which never leaves your machine.
Le jeu coupe cette connexion de temps en temps et renvoie alors des événements de début de match pour la même partie. Le programme reconnaît une partie à son identifiant et ne la prend jamais pour un nouveau match.The game drops this connection from time to time and then sends match-start events again for the same match. The program recognises a match by its identifier and never mistakes it for a new match.
2. Lire les stats des joueurs2. Read the players' stats
Au coup d'envoi, le programme demande à tracker.gg les stats publiques de chaque joueur : MMR, rang, peak, forme récente, buts, arrêts et précision des tirs. Pour cela, il pilote un navigateur Chromium invisible, parce que le site refuse les requêtes qui ne viennent pas d'un vrai navigateur. Les résultats sont gardés 10 minutes pour ne pas redemander les mêmes joueurs à chaque partie.At kickoff, the program asks tracker.gg for each player's public stats: MMR, rank, peak, recent form, goals, saves and shot accuracy. To do so, it drives an invisible Chromium browser, because the site rejects requests that do not come from a real browser. Results are kept for 10 minutes so the same players are not asked for again at every match.
3. Calculer l'avant-match3. Calculate the pre-match
Pour chaque mode (1v1, 2v2, 3v3), un modèle de régression logistique bayésienne transforme les stats des joueurs en probabilité de victoire. Il part d'une hypothèse de départ simple : plus l'écart de MMR est favorable, plus la victoire est probable. Il corrige ensuite cette hypothèse avec tes parties, seulement quand elles le justifient.For each mode (1v1, 2v2, 3v3), a Bayesian logistic regression model turns the players' stats into a probability of winning. It starts from a simple assumption: the more favourable the MMR gap, the more likely the win. It then corrects that assumption with your matches, only when they justify it.
Le modèle donne aussi un intervalle autour de la probabilité : plus il est large, moins le modèle est sûr de lui. Et il détaille chaque facteur qui a fait pencher le résultat, c'est la liste « Pourquoi ». Voici les facteurs qu'il peut utiliser :The model also gives a range around the probability: the wider it is, the less sure the model is. And it details every factor that tipped the result, which is the “Why” list. Here are the factors it can use:
| FacteurFactor | Ce qu'il mesureWhat it measures |
|---|---|
| Écart de MMRMMR gap | La différence de MMR entre les deux équipes. C'est de loin le facteur principal.The MMR difference between the two teams. By far the main factor. |
| Distance au peakDistance to peak | L'écart entre le MMR actuel des joueurs et leur meilleur MMR de tous les temps.The gap between the players' current MMR and their all-time best MMR. |
| Games jouées cette saisonGames played this season | L'expérience récente des joueurs.The players' recent experience. |
| Buts, arrêts et précision des tirsGoals, saves and shot accuracy | Les moyennes par partie des joueurs.The players' per-match averages. |
| Forme récenteRecent form | Le taux de victoire sur les dernières parties.The win rate over the latest matches. |
| Tendance du MMRMMR trend | Si le MMR du joueur monte ou baisse dans ce mode.Whether the player's MMR is rising or falling in this mode. |
| FatigueFatigue | Le nombre de parties enchaînées ces trois dernières heures.The number of matches played back to back in the last three hours. |
| Meilleur joueur de chaque équipeBest player of each team | L'écart entre les deux meilleurs joueurs.The gap between the two best players. |
| Écart de niveau entre coéquipiersSkill gap between teammates | À quel point le niveau varie au sein d'une même équipe.How much the level varies within a team. |
| Ton biais persoYour personal bias | Ta tendance habituelle à faire mieux ou moins bien que ce que le MMR laisse prévoir.Your usual tendency to do better or worse than the MMR would suggest. |
| Heure de jeuTime of day | L'heure à laquelle la partie est jouée.The time of day the match is played. |
Quels facteurs sont vraiment utilisésWhich factors are really used
Ajouter des facteurs n'améliore pas toujours le modèle, et peut même le rendre moins bon. Le programme ne les utilise donc que s'ils prouvent leur utilité. À chaque entraînement, il compare trois variantes :Adding factors does not always improve the model, and can even make it worse. So the program only uses them if they prove useful. At every training, it compares three variants:
- La variante de départ : l'écart de MMR seul.The starting variant: the MMR gap alone.
- MMR et biais perso : l'écart de MMR, plus ta tendance personnelle.MMR and personal bias: the MMR gap, plus your personal tendency.
- La variante complète : tous les facteurs.The full variant: all the factors.
La comparaison se fait dans l'ordre chronologique : chaque variante est testée sur des parties qui viennent après celles sur lesquelles elle s'est entraînée, donc sur des parties qu'elle n'a jamais vues. La variante la plus simple l'emporte, sauf si une autre fait nettement mieux. Il faut plusieurs dizaines de parties classées dans un mode pour que cela arrive : avant cela, le modèle reste sur l'écart de MMR.The comparison is made in chronological order: every variant is tested on matches that come after those it trained on, so on matches it has never seen. The simplest variant wins, unless another does clearly better. It takes several dozen ranked matches in a mode for that to happen: before then, the model stays on the MMR gap.
4. Suivre le match4. Follow the match
Pendant la partie, la probabilité ne dépend plus des stats des joueurs mais du score et du temps restant. Le programme estime combien de buts chaque équipe peut encore marquer d'ici la fin, à partir du rythme de buts habituel du mode, puis calcule la probabilité que ton équipe termine devant (modèle de Poisson). Il est réglé pour que, à 0 - 0 au coup d'envoi, il retrouve exactement la probabilité d'avant-match. En prolongation, le prochain but décide de tout.During the match, the probability no longer depends on the players' stats but on the score and the time left. The program estimates how many goals each team can still score by the end, from the mode's usual goal rate, then works out the probability that your team finishes ahead (a Poisson model). It is tuned so that, at 0 - 0 at kickoff, it gives back exactly the pre-match probability. In overtime, the next goal decides everything.
Le réglage « Proba en direct » (prudente, normale, nerveuse) modifie ce rythme de buts, donc la façon dont une avance ou un retard pèse sur la probabilité.The “Live probability” setting (cautious, normal, volatile) changes this goal rate, and therefore how a lead or a deficit weighs on the probability.
Le programme peut aussi affiner la probabilité en direct avec les statistiques du match en cours. Cette version affinée est apprise sur tes propres parties et n'est retenue que si elle fait mieux que le calcul de base sur des parties qu'elle n'a pas vues.The program can also refine the live probability with the stats of the match in progress. This refined version is learned from your own matches and is only kept if it does better than the basic calculation on matches it has not seen.
Enfin, la probabilité réagit aux occasions de but. À chaque touche de balle, le programme regarde où elle a été frappée, à quelle vitesse et par quelle équipe, comment l'action s'enchaîne (passes, pression dans le camp adverse), où chaque joueur peut se trouver d'après sa dernière touche, s'il joue plutôt au sol ou en l'air, si l'adversaire subit depuis plusieurs secondes (dégagements ratés, double commits, arrêts à répétition), le niveau de la partie, et s'il vient d'y avoir un tir, un arrêt ou une démolition. Il en déduit la chance que chaque équipe marque dans les trois secondes, puis dans les vingt secondes : sur une belle occasion, la probabilité monte, puis elle retombe si rien ne se passe ; quand une équipe met la pression, sa probabilité monte et celle d'en face baisse tant que ça dure. Ce calcul est appris sur tes propres parties et n'est utilisé que s'il prévoit vraiment les buts et ne rend pas la probabilité de victoire moins juste.Finally, the probability reacts to scoring chances. On every ball touch, the program looks at where the ball was hit, how fast and by which team, how the play is building (passes, pressure in the opponents' half), where each player can be given their last touch, whether they play more on the ground or in the air, whether the opponents have been under pressure for several seconds (failed clearances, double commits, repeated saves), the level of the match, and whether there has just been a shot, a save or a demolition. From this it works out each team's chance of scoring in the next three seconds, then in the next twenty: on a good chance, the probability goes up, then drops back if nothing happens; when a team puts the pressure on, its probability goes up and the other team's goes down for as long as it lasts. This is learned from your own matches and is only used if it really predicts goals and does not make the win probability less accurate.
5. Apprendre5. Learn
Après chaque partie classée, le résultat est noté et le modèle de ce mode se réentraîne tout seul. L'historique garde les stats brutes de tous les joueurs d'avant le match, et pas seulement le résultat : si les facteurs évoluent dans une version future, tout peut être recalculé sur tes parties passées sans rien perdre.After every ranked match, the result is recorded and that mode's model retrains on its own. The history keeps the raw stats of all the players from before the match, not just the result: if the factors evolve in a future version, everything can be recalculated on your past matches without losing anything.
Les parties casual ne servent jamais à l'entraînement. Tout cela se passe sur ton PC.Casual matches are never used for training. All of this happens on your PC.