Cross-Game Season Analytics
237 confirmed records (seasons, expansions, updates) across 13 gamesWe normalize seasons, leagues, and cycles across major action RPGs into a shared unit, then compute median cadence, drift, and overlap directly. Every figure is derived from confirmed season data; games with too small a sample are shown as “insufficient sample” rather than a fake median. We publish the sample size and the reproduction query alongside each number, so anyone can arrive at the same value.
Cross-Game Normalized Dataset
Each game's seasons, leagues, ladders, cycles, and expansions converted to a shared schema for side-by-side comparison.
| Game | Unit | Latest entry | Start (UTC) | End (UTC) | Length |
|---|---|---|---|---|---|
| Diablo II: Resurrected | Ladder | Ladder Season 14 | 5/23/26 | Ongoing | Ongoing |
| Diablo III | Season | Season 39: Shades of the Nephalem | 6/27/26 | Ongoing | Ongoing |
| Diablo Immortal | Season | Delayed Pain | 6/4/26 | 7/2/26 | 28d |
| Diablo IV | Season | Season of Death Awakening | 6/30/26 | Ongoing | Ongoing |
| Dwarven Realms | Season | Season 6: Elemental Reckoning | 6/26/26 | Ongoing | Ongoing |
| Grim Dawn | Expansion | Fangs of Asterkarn | 7/23/26 | Ongoing | Ongoing |
| Hero Siege | Season | Ebontharn | 8/21/26 | Ongoing | Ongoing |
| Last Epoch | Cycle | Season 4: Shattered Omens | 3/26/26 | Ongoing | Ongoing |
| No Rest for the Wicked | Update | Together | 1/22/26 | Ongoing | Ongoing |
| Path of Exile | League | Curse of the Allflame | 7/24/26 | Ongoing | Ongoing |
| Path of Exile 2 | League | Forbidden Rites | 9/4/26 | Ongoing | Ongoing |
| Torchlight: Infinite | Season | Afterlight | 7/17/26 | Ongoing | Ongoing |
| Undecember | Season | The Forge | 5/14/26 | Ongoing | Ongoing |
“(est.)” marks an LLM-inferred end date (is_inferred). Cadence is measured start-to-start, so expansions and updates that occupy a regular slot still count as cadence boundaries; only games with no season cycle at all (Grim Dawn, No Rest for the Wicked) are excluded outright.
- Rows with an official publisher notice
- 229 / 237 (97%)
- End dates that are inferred
- 168 / 220 (76%)
Read the numbers as they are. The estimate flag (is_inferred) lands on end dates almost without exception — studios rarely announce when a season closes. It is set on 167 of our 235 confirmed rows, and only one of those has no end date at all (an in-progress Hero Siege season). Start dates come from official notices in nearly every case, and this site's headline metric, cadence, is computed from start dates alone, so it does not rest on the estimate rate above. That is precisely why we measure start-to-next-start instead of season length.
Median Cadence & Cadence Drift
We report the median rather than the mean, because one or two long droughts — a studio going quiet for six months — drag an average far more than they shift a median. We also measure cadence as the gap between one season start and the next rather than as season length: 76% of our end dates are inferred, so measuring by length would present estimates as fact. This view pairs that median with how cadence changes over time (drift).
Median cycle length by game (start-to-start)
- Last EpochCycle178dn=4
- Hero SiegeSeason119.5dn=26
- Path of Exile 2League119dn=5
- UndecemberSeason115.5dn=6
- Diablo IIISeason112dn=38
- Diablo II: ResurrectedLadder105dn=13
- Path of ExileLeague98dn=40
- Torchlight: InfiniteSeason91dn=14
- Diablo IVSeason84dn=13
- Dwarven RealmsSeason70dn=10
- Diablo ImmortalSeason28dn=50
Median of game medians: 105dMedian of the medians of 11 games with sufficient samples
Cadence drift
We compare the median gap between sequential season starts in the first half vs. the second half to tell whether cadence is lengthening or shortening.
- Diablo Immortal26–84dHalves similar
- Diablo II: Resurrected78–161dLater half shorter
- Diablo III56–203dHalves similar
- Diablo IV47–112dLater half shorter
- Dwarven Realms44–117dLater half longer
- Hero Siege38–353dLater half shorter
- Last Epoch126–282dLater half shorter
- Path of Exile84–322dLater half longer
- Path of Exile 298–168dHalves similar
- Torchlight: Infinite49–189dLater half longer
- Undecember63–252dLater half longer
Each sparkline is amplitude-normalized per series — vertical position is relative within that game only. Compare across games using the actual interval range (days) on the right.
| Game | Unit | Sample | Median | Mean | Min | Max | Cadence trend |
|---|---|---|---|---|---|---|---|
| Last Epoch | Cycle | 4 | 178d | 191 | 126 | 282 | Later half shorter |
| Hero Siege | Season | 26 | 119.5d | 140.7 | 38 | 353 | Later half shorter |
| Path of Exile 2 | League | 5 | 119d | 127.4 | 98 | 168 | Halves similar |
| Undecember | Season | 6 | 115.5d | 129.5 | 63 | 252 | Later half longer |
| Diablo III | Season | 38 | 112d | 113.7 | 56 | 203 | Halves similar |
| Diablo II: Resurrected | Ladder | 13 | 105d | 114.2 | 78 | 161 | Later half shorter |
| Path of Exile | League | 40 | 98d | 116.4 | 84 | 322 | Later half longer |
| Torchlight: Infinite | Season | 14 | 91d | 91.5 | 49 | 189 | Later half longer |
| Diablo IV | Season | 13 | 84d | 82.8 | 47 | 112 | Later half shorter |
| Dwarven Realms | Season | 10 | 70d | 72.8 | 44 | 117 | Later half longer |
| Diablo Immortal | Season | 50 | 28d | 29.3 | 26 | 84 | Halves similar |
The "cycle trend" column splits each game's intervals into an earlier and a later half and compares the two medians. Looking at only the most recent few intervals can point the other way — Diablo III's halves are similar, for instance, while its last four intervals run shorter than what came before. Neither reading is wrong; they answer different questions. The recent-window comparison is covered in the cycle-trend guide.
Announcement Lead Time
How many days before a season starts does the publisher actually tell you the date? Each row below is taken from the publisher's own announcement post, using the posting date shown on that page.
| Game | League | Date announced | Actual start | Lead time | Primary source |
|---|---|---|---|---|---|
| Path of Exile | Curse of the Allflame | 2026-07-06 | 2026-07-24 | 18 days | GGG announcement — Releases on July 24 PDT |
| Path of Exile 2 | Return of the Ancients | 2026-05-08 | 2026-05-29 | 21 days | GGG announcement — Announcing Return of the Ancients |
Scope: the latest league of each Grinding Gear Games title — complete for that scope. We only include an entry when the official announcement page itself shows a posting date, which is why other publishers are absent for now rather than estimated. Note that the announcement date is when the start date was made public, not when the league was first teased — secondary coverage often conflates the two.
End-of-Season Character Handling
When a season ends, what happens to characters and items? Here's each game's official policy with primary sources.
| Game | End handling | Permanent merge | Currency / items | Source |
|---|---|---|---|---|
| Path of Exile | Moves to Standard league | Yes | Full | Official |
| Path of Exile 2 | Moves to Standard (EA) | Yes | Full | Official |
| Diablo II: Resurrected | Moves to non-ladder | Yes | Full | Official |
| Diablo III | Converts to non-seasonal | Yes | Full | Official |
| Diablo IV | Moves to Eternal Realm | Yes | Full | Official |
| Last Epoch | Moves to Legacy | Yes | Full | Official |
| Undecember | Converts to Standard mode | Yes | Not confirmed | Official |
| Diablo Immortal | N/A (characters persist) | None | None | Official |
| Hero Siege | Converts to non-season (unconfirmed) | Not confirmed | Not confirmed | Not confirmed by a primary source |
| Dwarven Realms | Opt-in migration (unconfirmed) | Not confirmed | Not confirmed | Not confirmed by a primary source |
| Grim Dawn | N/A (permanent) | None | None | Official |
| Torchlight: Infinite | Permanent server (unconfirmed) | Not confirmed | Not confirmed | Not confirmed by a primary source |
| No Rest for the Wicked | N/A (no seasons) | None | None | Official |
"Not confirmed" does not mean we did not look. Community and secondary sources describe these policies consistently, but we could not verify them against a document published by the studio — so we leave the cell blank rather than assert it. What is known, and why we could not confirm it, is written in the per-game detail below.
Per-game detail
Path of Exile▾
When a Challenge League ends, all characters and their items/stash migrate to their parent permanent league (Standard, or Hardcore for HC) with no wipe. Only league-specific consumables are deleted, and most league uniques enter the core drop pool.
Path of Exile 2▾
In Early Access, when a content league ends, all characters, items, and stashes migrate to the permanent Standard (or Hardcore) Early Access league with no wipe — the same parent-league model as PoE1.
Diablo II: Resurrected▾
When a Ladder season ends, all Ladder characters transfer to their respective non-ladder group. Shared-stash items become "Withdraw Only" and must be retrieved before the season-after-next begins, or they are lost forever.
Diablo III▾
When a season ends, seasonal heroes convert to non-Seasonal Normal/Hardcore heroes and all progress, gold, and items roll over. Seasonal-stash items are mailed and claimable for 30 days after your first post-season login.
Diablo IV▾
When a season ends, your seasonal character, its progress, and all collected items (including the Seasonal stash) transfer to the Eternal Realm, though season-specific features no longer function.
Last Epoch▾
When a new Cycle begins, previous-Cycle characters move to Legacy (the permanent mode); their stashes — items, gold, crafting materials, and faction progress — move with them.
Undecember▾
When a Season ends, Season Mode characters convert to Standard Mode characters. The exact scope of what is retained vs. reset on conversion is not confirmed in quotable first-party text, so the transfer scope is left blank.
Diablo Immortal▾
An Immortal "Season" is a four-week Battle Pass cycle; there is no separate seasonal server. Characters, Paragon, and gear carry straight through — only Battle Pass progress resets. The evidence is the contrast: Blizzard's Immortal season posts cover only Battle Pass start/end times and rewards, whereas the same publisher's Diablo III and IV season posts always spell out character handling ("converts to non-seasonal", "moves to the Eternal Realm" — see those rows' sources). Immortal's posts contain no such language because there is nothing to convert. Being a Blizzard ARPG that never asks you to reroll is the sharpest structural contrast in this table.
Hero Siege▾
Steam discussions consistently cite a developer statement that season characters convert to non-season characters at the start of a new season, with heroes, items, and wormhole progress left untouched. We could not pin this to a post authored by the developer account (Steam news pages render their body via script), so we leave it unconfirmed and the matrix cells blank.
Dwarven Realms▾
Steam discussions repeatedly describe seasonal characters being removed at season end unless the player uses the migrate option on the character-select screen to move them to permanent mode. The distinguishing point is that migration is opt-in rather than automatic. We could not confirm this against a developer-authored notice, so we do not assert it.
Grim Dawn▾
Grim Dawn is an expansion-based ARPG with no seasons or ladders; characters are permanent. Only Hardcore-mode death removes a character. (The community "Grim League" is unofficial and excluded.)
Torchlight: Infinite▾
Community and secondary sources consistently describe season characters moving to a permanent server, with paid purchases (pactspirits, cosmetics, stash pages) retained. XD's official season pages render their body via script, so we could not capture a quotable first-party passage. We therefore leave this unconfirmed rather than assert it, and the matrix cells stay blank.
No Rest for the Wicked▾
No Rest for the Wicked runs no seasons or ladders — it is an Early Access title shipping successive major updates. With no seasonal realm, "what happens at season end" simply does not apply. Our own dataset holds zero seasons and four updates for this game, and it is excluded from cadence statistics at the game level for the same reason. (Realm resets have been reported around major Early Access updates, but we could not confirm that against a first-party source, so we do not state it as policy.)
Prediction Log
Every forecast we publish is recorded here on the day we make it, then checked against what actually happened. We do not reconstruct past predictions — a ledger you can only start going forward is the only kind that means anything.
2 resolved, 8 awaiting. Median absolute error 58.5 days; 0% landed inside the predicted window.
| Game | Recorded | Predicted start (UTC) | Predicted window (UTC) | Actual start (UTC) | Error |
|---|---|---|---|---|---|
| Dwarven Realms | 2026-08-08 | 2026-08-17 | 2026-07-18 – 2026-09-08 | — | Awaiting season |
Noted after recording: Later on the day this was recorded, we found a loading error in this game's data — the crawler had duplicated three seasons at dates exactly one year early, which distorted the intervals. The prediction above was computed from that faulty data. The forecast after the correction appears on the home page and differs from this entry. We are not editing the record: a ledger only means something if bad predictions count against it too. | |||||
| Diablo II: Resurrected | 2026-08-08 | 2026-09-05 | 2026-08-22 – 2026-10-10 | — | Awaiting season |
| Undecember | 2026-08-08 | 2026-09-07 | 2026-09-03 – 2026-09-10 | — | Awaiting season |
| Last Epoch | 2026-08-08 | 2026-09-20 | 2026-08-09 – 2026-11-14 | — | Awaiting season |
| Diablo IV | 2026-08-08 | 2026-09-22 | 2026-09-02 – 2026-10-06 | — | Awaiting season |
| Path of Exile 2 | 2026-08-08 | 2026-10-09 | 2026-09-22 – 2026-10-28 | 9/4/26 | -35d |
| Torchlight: Infinite | 2026-08-08 | 2026-10-16 | 2026-09-21 – 2026-10-23 | — | Awaiting season |
| Diablo III | 2026-08-08 | 2026-10-17 | 2026-10-03 – 2026-10-31 | — | Awaiting season |
| Path of Exile | 2026-08-08 | 2026-10-30 | 2026-10-23 – 2026-11-27 | — | Awaiting season |
| Hero Siege | 2026-08-08 | 2026-11-11 | 2026-10-20 – 2027-01-20 | 8/21/26 | -82d |
Dates in this table are UTC calendar dates as recorded. The forecasts on the home page and game pages render in your display timezone, so the same prediction can appear a day earlier here. We do not recompute the recorded values to match: once we start editing entries for any reason, the ledger stops being a trust device — so we state the basis instead.
Only seasons that start after the recording date count toward a result — pulling in an earlier season would be recording what we already knew, not predicting it. The recording date is evidenced by this file's commit history, so editing an entry after the fact would contradict the commit that introduced it.