Engine Overview
Esports betting is the fastest-growing segment of the sports betting industry, and League of Legends is its flagship title. The LoL competitive scene features hundreds of professional matches per week across dozens of leagues worldwide, creating a rich dataset for quantitative modeling. However, esports presents unique challenges that traditional sports models cannot handle: frequent game patches that alter champion balance, roster swaps that change team composition mid-season, and regional meta differences that make cross-league comparisons unreliable.
The Championship v2.1 engine is purpose-built for these challenges. It uses a multi-layer Glicko-2 rating system that separates team skill from meta adaptation, applies regression when teams have been inactive, and blends model probabilities with market odds to produce calibrated predictions. The result is a model that captures the rapid pace of change in competitive LoL while maintaining the statistical rigor of a quantitative sports model.
How the LoL Simulation Works
1. 5-Layer Glicko-2 Rating System
Glicko-2 is an advanced rating system that extends the classic Elo approach by tracking not just a team's strength (rating), but also the uncertainty in that rating (rating deviation, or RD) and the consistency of performance (volatility). The Championship engine applies Glicko-2 across five separate layers:
- Overall team rating — The primary Glicko-2 score reflecting general team strength
- Regional rating — Separate rating within each league (LCK, LPL, LEC, LCS) that captures region-specific performance context
- Best-of-format rating — Separate ratings for Bo1, Bo3, and Bo5 formats, since team performance varies significantly by series length
- Side rating — Blue side vs. red side performance, reflecting draft advantage and strategic preferences
- Recency-weighted rating — A rolling 30-day window that captures current form vs. season-long average
These five layers are combined into a composite rating using empirically-optimized weights. The composite captures both a team's fundamental skill and their adaptation to specific competitive contexts. A team might have a strong overall rating but a weak Bo5 rating, indicating they excel in regular-season Bo1/Bo3 matches but struggle in playoff series.
2. Market Blend
Esports betting markets are less efficient than traditional sports markets, which means there are more edges available — but the model also has more room for error. The engine blends model probabilities with market-implied probabilities using an empirically-derived alpha weight. This blend serves as a form of regularization: when the model strongly disagrees with the market, the blend pulls the probability toward the market, reducing the risk of acting on a flawed model signal.
The blend weight is calibrated on historical data. In leagues with more liquid markets (LCK, LPL), the market receives higher weight because these markets are more efficient. In leagues with thinner markets (smaller regional leagues, play-ins), the model receives higher weight because the market is less informed.
3. Staleness Regression
Esports teams frequently have gaps between competitive matches: international breaks, mid-season pauses, roster announcements that disrupt practice. When a team has not played a competitive match in 14+ days, the engine applies staleness regression that increases the Glicko-2 rating deviation (uncertainty). This means the model becomes less confident in the team's current strength, which reduces bet sizes and prevents overcommitting to stale data.
The regression is calibrated by observed performance degradation. Historical data shows that teams returning from breaks of 2+ weeks perform approximately 3-5% worse than their pre-break rating suggests, likely due to meta drift and practice disruption. The staleness regression captures this empirical finding.
4. Patch-Aware Meta Analysis
Riot Games updates League of Legends approximately every two weeks with balance patches that change champion strengths, item statistics, and map objectives. These patches can dramatically shift the competitive meta. A team that dominates on a tank-focused meta may struggle when a patch shifts the game toward early-game aggression.
The engine tracks the current patch and applies meta-awareness adjustments. When a new patch drops, the model reduces confidence in all predictions for the first few days (until enough competitive matches have been played on the new patch to recalibrate). Teams known for champion pool depth and fast adaptation receive smaller confidence penalties than teams with narrow playstyles.
5. League Coverage
LCK (Korea)
Highest level of competition globally. Deep champion pools, strong macro play, best Bo3/Bo5 preparation.
LPL (China)
Most aggressive playstyle, highest kill counts, largest talent pool. 17-team league with two splits per year.
LEC (Europe)
Creative drafting, strong mid-jungle synergy, growing depth of talent.
LCS (North America)
Import-heavy rosters, improving infrastructure, most accessible market for English-language bettors.
International Events
MSI, Worlds, and other cross-region tournaments. Cross-league matchups are modeled using region-adjusted ratings.
Tier 2 Leagues
LLA, CBLOL, PCS, VCS, and other regional leagues covered with lower confidence thresholds.
Data Sources
- Official match data — Game results, game duration, kill/death/assist statistics from Riot and third-party APIs
- Patch notes — Champion and item changes tracked for meta-shift detection
- Odds providers — Real-time moneyline and map betting odds for market blend calibration
- Roster tracking — Player swaps, loan agreements, and emergency substitutions from official announcements
LoL Performance
Why Glicko-2 Beats Elo for Esports
Classic Elo ratings assume that a team's uncertainty is constant. A team that has played 100 games and a team that has played 5 games both receive the same weight when updating ratings after a match. This is a serious flaw in esports where roster changes, meta shifts, and competitive breaks create genuine uncertainty about a team's current strength.
Glicko-2 solves this by tracking uncertainty explicitly. A team that has not played in three weeks has a higher RD, meaning their rating is less certain. When they play again, the outcome updates their rating more aggressively (because there is more to learn). A team that plays every day has a low RD, and individual match outcomes cause smaller rating changes (because the system is already confident in their level).
The volatility parameter adds another dimension: it captures whether a team's results are consistent or erratic. A team that alternates between dominant wins and surprising losses will have high volatility, leading to wider confidence intervals in predictions. This is particularly useful for identifying teams that are risky bets despite strong average ratings.
Explore Other Models
NBA Model
Possession MC V5.0.2 — possession-by-possession simulation with Beta shooting distributions.
CBB Model
Savant Ultra v5.0.1 — 5-on-5 player simulation with EvanMiya BPR ratings.
NHL Model
V19.1 Pinnacle — MoneyPuck xG with real danger zones and per-zone goalie modeling.
NFL Model
Elite V1.1 Pinnacle — EPA metrics with CDF edge calculation and drive sequencing.
Soccer Model
V16.3 PBP — FBref xG, isotonic calibration, formation analysis, and BTTS modeling.
MLB Model
Elite Matchup V4.2 — count-state simulation with catcher framing and park factors.