Does the First Dragon Help Scaling Compositions Win?
Every League of Legends player has heard some version of this argument:
"We're a scaling comp, just don't feed and we win late game."
But what actually accelerates that scaling?
Is the first dragon one of those levers?
My hypothesis was simple:
Does securing the first dragon before 10 minutes improve the win rate of scaling compositions more than it improves early-game compositions—and does this effect vary by ELO?
This project was built as part of a Big Data school project, where I had complete freedom to choose the topic. Since Riot provides an exceptionally rich API with timestamped events, League of Legends became the perfect dataset.
The Pipeline
The entire stack runs locally using Docker Compose.
- Apache Airflow 2.8
- LocalStack (S3 emulation)
- Pandas
- PyArrow
- Elasticsearch 8.11
- Kibana 8.11
Data sources:
- Riot Games API v5
- Data Dragon CDN
- Leaguepedia API
The DAG executes 9 tasks:
[ingest_riot_kr, ingest_riot_euw,
ingest_data_dragon, ingest_leaguepedia]
↓
[format_matches,
format_champions,
format_pro_matches]
↓
combine_dragon_kpi
↓
index_elasticsearch
The data lake follows a three-layer architecture:
data/raw/lol/matches/{elo}/date={date}/
↓
data/formatted/lol/matches/date={date}/
↓
data/usage/lol/dragon_kpi/date={date}/
Defining "Scaling"
Simply saying that a composition is "scaling" is subjective.
Instead, I computed a scaling score between 0 and 1 using champion growth statistics from Data Dragon.
hp_growth = min(hpperlevel / 120, 1.0)
ad_growth = min(attackdamageperlevel / 5, 1.0)
as_growth = min(attackspeedperlevel / 4, 1.0)
stat_score = (
hp_growth * 0.4
+ ad_growth * 0.35
+ as_growth * 0.25
)
if tags ∩ {Mage, Marksman, Support}:
tag_bonus += 0.30
if tags ∩ {Fighter, Tank, Assassin}:
tag_bonus -= 0.15
scaling_score = clamp(stat_score + tag_bonus, 0.0, 1.0)
Manual overrides were added for champions whose late-game identity isn't fully captured by raw stats (Kassadin, Veigar, Vayne, Jinx, Kog'Maw...).
Three-Tier Classification
Instead of using a binary scaling/non-scaling label, I used percentile bucketing.
| Tier | Threshold |
|---|---|
| low_scaling | score < P25 |
| mid_scaling | P25 ≤ score < P75 |
| high_scaling | score ≥ P75 |
This produced a balanced distribution across the dataset.
KDA Style Score
I also wanted to characterize individual play style.
tank_ratio = totalDamageTaken / (totalDamageDealtToChampions + 1)
obj_ratio = damageDealtToObjectives / (totalDamageDealtToChampions + 1)
death_rate = deaths / (timePlayed / 60 + 1)
kda_style_score = (
(1 - min(tank_ratio, 1)) * 0.35 +
(1 - min(obj_ratio, 1)) * 0.35 +
(1 - min(death_rate, 1)) * 0.30
)
- Score near 1 → KDA player
- Score near 0 → Win-oriented player
Dataset
Final dataset:
- 1,124 matches
- Challenger
- Gold
- EUW
Indexed into Elasticsearch and visualized through Kibana.
Dashboard
First Dragon = Higher Win Rate
The clearest result:
| First Dragon | Win Rate |
|---|---|
| Yes | ~55% |
| No | ~43% |
That's roughly a 12 percentage point improvement, regardless of composition.
So the first dragon is much more than a simple tempo objective.
The Main Finding
When crossing composition type with first dragon ownership, the results become even more interesting.
| Composition | With First Dragon | Without | Gain |
|---|---|---|---|
| High Scaling | ~60% | ~40% | +20 pts |
| Mid Scaling | ~57% | ~40% | +17 pts |
| Low Scaling | ~55% | ~43% | +12 pts |
High-scaling compositions benefit significantly more from obtaining the first dragon.
The dragon appears to provide enough tempo and resources to safely reach their late-game power spike.
Visualization
Challenger vs Gold
One particularly interesting result concerns early gold differences.
Challenger
High-scaling compositions have approximately:
-430 gold at 15 minutes
They consistently lose the early game before eventually scaling.
Gold
High-scaling compositions are actually around:
+110 gold at 15 minutes
Meaning lower ELO players punish scaling compositions much less efficiently.
Therefore:
- Gold players can often farm safely
- Challenger players force advantages much earlier
This makes the first dragon even more valuable at higher levels.
Dragon Type
Not every dragon provides the same impact.
Observed win rates:
- 🟢 Earth Dragon ≈ 60%
- 🟢 Air Dragon ≈ 60%
- 🟡 Hextech Dragon ≈ 52%
However, regardless of dragon type, the advantage is consistently larger for scaling compositions.
Game Duration
Median duration:
| Rank | Duration |
|---|---|
| Challenger | ~28 min |
| Gold | ~31 min |
Better players convert early leads into victories faster, reducing the available scaling window.
Again, this reinforces the value of securing the first dragon.
Limitations
Sample size
Some subgroups contain only 30–40 matches.
More games would improve statistical confidence.
No KR vs EUW comparison
The original goal was to compare Korean and European servers.
Unfortunately, Riot's free development API key does not provide KR access.
Static scaling scores
Data Dragon growth stats don't perfectly capture the current meta.
Manual overrides reduce this issue but don't eliminate it.
What Players Can Learn
If you play scaling champions such as:
- Kassadin
- Veigar
- Kayle
- Late-game ADCs
then:
- Contest the first dragon aggressively.
- The timing matters more than the dragon type.
- The higher the ELO, the more valuable this early objective becomes.
Tech Stack
- Python 3.8
- Apache Airflow 2.8
- Pandas
- PyArrow
- Elasticsearch 8.11
- Kibana 8.11
- LocalStack 2.3
- Docker Compose
Everything runs through:
docker-compose up -d
The DAG runs daily, ingests fresh Riot data, computes KPIs, and automatically indexes Elasticsearch.
Future Work
The next step would be collecting several months of matches using a production Riot API key.
With a larger dataset, it would become possible to analyze:
- Patch-to-patch dragon impact
- KR vs EUW differences
- Meta evolution over time
- Champion-specific scaling interactions
If anyone has access to a production Riot API key and wants to run this pipeline at scale, I'd love to collaborate.
Thanks for reading!


Top comments (4)
Shyvana en jungle on en pense quoi ?
thx for your time, mmmmmmmmh realy great higt scall champ and powerful for drak
J'ai toutes les clés pour stomp les games maintenant 🙌
on ce retrouve en chal