The best seasons in the archive
Forty player-seasons, rated on what happened in them rather than on reputation. Thirteen players in the whole archive reach 95.
A season here is one player, one competition, one year — not a career. The rating is how far that season stood from the middle of everyone who played the same format, computed from ball-by-ball records. Nothing is weighted by fame and nothing is copied from another list.
A qualification applies: at least six matches, and either 150 deliveries faced or 300 bowled. Without it the table fills with two-match cameos, which is a different and much less interesting list.
The forty best seasons on record
| Player | Season | Competition | Role | M | Runs | SR | Wkts | Econ | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | MM Ali | 2019 | T20 Blast | AR | 7 | 365 | 171 | 11 | 6.69 |
| 2 | Khushdil Shah | 2024/25 | Bangladesh Premier League | AR | 10 | 298 | 175 | 17 | 6.04 |
| 3 | SR Watson | 2012/13 | Twenty20 internationals | AR | 6 | 249 | 150 | 11 | 7.33 |
| 4 | RA Jadeja | 2016/17 | Test cricket | PACE | 13 | 556 | 69 | 71 | 2.26 |
| 5 | Shadab Khan | 2021/22 | Pakistan Super League | AR | 9 | 268 | 162 | 19 | 6.47 |
| 6 | KR Mayers | 2023/24 | Bangladesh Premier League | AR | 6 | 243 | 158 | 9 | 5.91 |
| 7 | BFW de Leede | 2022 | Twenty20 internationals | AR | 7 | 289 | 123 | 10 | — |
| 8 | Sikandar Raza | 2024/25 | Twenty20 internationals | AR | 11 | 316 | 161 | 13 | 4.81 |
| 9 | Shahid Afridi | 2009 | Twenty20 internationals | AR | 9 | 226 | 140 | 15 | 5.11 |
| 10 | MG Johnson | 2008/09 | Test cricket | PACE | 12 | 527 | 65 | 60 | 2.86 |
| 11 | GP Swann | 2009/10 | Test cricket | PACE | 6 | 209 | 100 | 37 | 3.01 |
| 12 | SP Narine | 2024 | Indian T20 League | AR | 14 | 488 | 181 | 17 | 6.69 |
| 13 | DJ Willey | 2015 | T20 Blast | AR | 10 | 288 | 175 | 15 | 7.08 |
| 14 | MW Short | 2026 | Major League Cricket | AR | 12 | 513 | 146 | 17 | 7.43 |
| 15 | Shakib Al Hasan | 2012/13 | Bangladesh Premier League | AR | 10 | 314 | 168 | 13 | 6.36 |
| 16 | Sikandar Raza | 2023/24 | Twenty20 internationals | AR | 15 | 595 | 148 | 20 | 6.41 |
| 17 | S Ravichandran | 2024 | Twenty20 internationals | AR | 13 | 390 | 152 | 14 | 2.69 |
| 18 | Shakib Al Hasan | 2010/11 | One-day internationals | AR | 14 | 511 | 85 | 28 | 4.85 |
| 19 | A Flintoff | 2004 | One-day internationals | AR | 8 | 406 | 115 | 11 | 3.98 |
| 20 | Shakib Al Hasan | 2016/17 | Test cricket | AR | 7 | 656 | 68 | 29 | 3.14 |
| 21 | Harbhajan Singh | 2010/11 | Test cricket | PACE | 8 | 414 | 69 | 36 | 2.89 |
| 22 | SCJ Broad | 2011 | Test cricket | PACE | 7 | 239 | 94 | 33 | 2.72 |
| 23 | JL Denly | 2018 | T20 Blast | AR | 13 | 409 | 145 | 20 | 7.76 |
| 24 | DR Sams | 2023 | T20 Blast | AR | 17 | 419 | 173 | 25 | 8.40 |
| 25 | Shakib Al Hasan | 2021/22 | Bangladesh Premier League | AR | 11 | 284 | 144 | 16 | 5.36 |
| 26 | Virandeep Singh | 2023 | Twenty20 internationals | AR | 9 | 294 | 132 | 10 | 3.79 |
| 27 | Aqib Ilyas | 2024 | Twenty20 internationals | AR | 18 | 479 | 117 | 28 | 6.10 |
| 28 | MG Erasmus | 2024 | Twenty20 internationals | AR | 13 | 371 | 131 | 18 | 6.28 |
| 29 | Shakib Al Hasan | 2022/23 | One-day internationals | AR | 9 | 331 | 90 | 16 | 4.84 |
| 30 | BJ McMullen | 2023 | One-day internationals | AR | 7 | 364 | 89 | 13 | 4.85 |
| 31 | SR Watson | 2009/10 | One-day internationals | AR | 23 | 1009 | 91 | 32 | 5.03 |
| 32 | DL Vettori | 2009/10 | One-day internationals | AR | 14 | 363 | 101 | 24 | 3.78 |
| 33 | Shakib Al Hasan | 2011/12 | One-day internationals | AR | 10 | 374 | 88 | 16 | 4.07 |
| 34 | A Flintoff | 2003/04 | One-day internationals | AR | 6 | 223 | 116 | 8 | 3.38 |
| 35 | JM Davison | 2002/03 | One-day internationals | AR | 6 | 226 | 119 | 10 | 4.45 |
| 36 | CJ Anderson | 2013/14 | One-day internationals | AR | 11 | 394 | 163 | 19 | 6.12 |
| 37 | R Ashwin | 2020/21 | Test cricket | PACE | 7 | 267 | 47 | 44 | 2.53 |
| 38 | Harbhajan Singh | 2008/09 | Test cricket | PACE | 8 | 288 | 65 | 39 | 2.51 |
| 39 | DL Vettori | 2009/10 | Test cricket | AR | 6 | 470 | 70 | 22 | 2.73 |
| 40 | R Ashwin | 2011/12 | Test cricket | PACE | 6 | 284 | 73 | 31 | 3.16 |
Why all-rounders own the top of it
The list is dominated by players who did both, and that is a property of the measurement rather than a bug in it. A rating is impact per match. A batter contributes with the bat, a bowler with the ball, and an all-rounder having a good year contributes twice in the same ninety-odd matches — so his impact per match is genuinely higher.
It is worth knowing when reading the number: 95 for an all-rounder and 95 for an opening batter are the same distance from the middle, but they were reached by different routes. In the game this matters, because an eleven of all-rounders wins fewer matches than its average rating suggests — it has nobody who does either thing outstandingly.
Twenty20
| Player | Season | Competition | Role | M | Runs | SR | Wkts | Econ | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | MM Ali | 2019 | T20 Blast | AR | 7 | 365 | 171 | 11 | 6.69 |
| 2 | Khushdil Shah | 2024/25 | Bangladesh Premier League | AR | 10 | 298 | 175 | 17 | 6.04 |
| 3 | SR Watson | 2012/13 | Twenty20 internationals | AR | 6 | 249 | 150 | 11 | 7.33 |
| 4 | Shadab Khan | 2021/22 | Pakistan Super League | AR | 9 | 268 | 162 | 19 | 6.47 |
| 5 | KR Mayers | 2023/24 | Bangladesh Premier League | AR | 6 | 243 | 158 | 9 | 5.91 |
| 6 | BFW de Leede | 2022 | Twenty20 internationals | AR | 7 | 289 | 123 | 10 | — |
| 7 | Sikandar Raza | 2024/25 | Twenty20 internationals | AR | 11 | 316 | 161 | 13 | 4.81 |
| 8 | Shahid Afridi | 2009 | Twenty20 internationals | AR | 9 | 226 | 140 | 15 | 5.11 |
| 9 | SP Narine | 2024 | Indian T20 League | AR | 14 | 488 | 181 | 17 | 6.69 |
| 10 | DJ Willey | 2015 | T20 Blast | AR | 10 | 288 | 175 | 15 | 7.08 |
| 11 | MW Short | 2026 | Major League Cricket | AR | 12 | 513 | 146 | 17 | 7.43 |
| 12 | Shakib Al Hasan | 2012/13 | Bangladesh Premier League | AR | 10 | 314 | 168 | 13 | 6.36 |
| 13 | Sikandar Raza | 2023/24 | Twenty20 internationals | AR | 15 | 595 | 148 | 20 | 6.41 |
| 14 | S Ravichandran | 2024 | Twenty20 internationals | AR | 13 | 390 | 152 | 14 | 2.69 |
| 15 | JL Denly | 2018 | T20 Blast | AR | 13 | 409 | 145 | 20 | 7.76 |
| 16 | DR Sams | 2023 | T20 Blast | AR | 17 | 419 | 173 | 25 | 8.40 |
| 17 | Shakib Al Hasan | 2021/22 | Bangladesh Premier League | AR | 11 | 284 | 144 | 16 | 5.36 |
| 18 | Virandeep Singh | 2023 | Twenty20 internationals | AR | 9 | 294 | 132 | 10 | 3.79 |
| 19 | Aqib Ilyas | 2024 | Twenty20 internationals | AR | 18 | 479 | 117 | 28 | 6.10 |
| 20 | MG Erasmus | 2024 | Twenty20 internationals | AR | 13 | 371 | 131 | 18 | 6.28 |
| 21 | SR Watson | 2007/08 | Indian T20 League | AR | 15 | 472 | 152 | 17 | 7.07 |
| 22 | JP Faulkner | 2015 | T20 Blast | AR | 13 | 302 | 141 | 25 | 6.26 |
| 23 | DS Airee | 2021/22 | Twenty20 internationals | AR | 13 | 556 | 139 | 14 | 5.44 |
| 24 | KS Leverock | 2022/23 | Twenty20 internationals | AR | 6 | 312 | 167 | 8 | — |
| 25 | Abhishek Sharma | 2024/25 | Twenty20 internationals | BAT | 12 | 411 | 200 | 4 | — |
One-day cricket
| Player | Season | Competition | Role | M | Runs | SR | Wkts | Econ | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Shakib Al Hasan | 2010/11 | One-day internationals | AR | 14 | 511 | 85 | 28 | 4.85 |
| 2 | A Flintoff | 2004 | One-day internationals | AR | 8 | 406 | 115 | 11 | 3.98 |
| 3 | Shakib Al Hasan | 2022/23 | One-day internationals | AR | 9 | 331 | 90 | 16 | 4.84 |
| 4 | BJ McMullen | 2023 | One-day internationals | AR | 7 | 364 | 89 | 13 | 4.85 |
| 5 | SR Watson | 2009/10 | One-day internationals | AR | 23 | 1009 | 91 | 32 | 5.03 |
| 6 | DL Vettori | 2009/10 | One-day internationals | AR | 14 | 363 | 101 | 24 | 3.78 |
| 7 | Shakib Al Hasan | 2011/12 | One-day internationals | AR | 10 | 374 | 88 | 16 | 4.07 |
| 8 | A Flintoff | 2003/04 | One-day internationals | AR | 6 | 223 | 116 | 8 | 3.38 |
| 9 | JM Davison | 2002/03 | One-day internationals | AR | 6 | 226 | 119 | 10 | 4.45 |
| 10 | CJ Anderson | 2013/14 | One-day internationals | AR | 11 | 394 | 163 | 19 | 6.12 |
| 11 | Hasan Ali | 2017/18 | One-day internationals | PACE | 9 | 71 | — | 20 | 4.88 |
| 12 | Aqib Ilyas | 2019/20 | One-day internationals | AR | 6 | 400 | 82 | 10 | 3.94 |
| 13 | PWH de Silva | 2023 | One-day internationals | PACE | 7 | 91 | 128 | 22 | 5.13 |
| 14 | MG Johnson | 2011 | One-day internationals | PACE | 8 | 69 | — | 18 | 4.52 |
| 15 | DJ Bravo | 2013/14 | One-day internationals | AR | 11 | 432 | 94 | 18 | 5.44 |
| 16 | JN Gillespie | 2004 | One-day internationals | PACE | 7 | 33 | — | 15 | 3.54 |
| 17 | JO Holder | 2017/18 | One-day internationals | AR | 8 | 238 | 93 | 17 | 4.86 |
| 18 | BFW de Leede | 2023 | One-day internationals | AR | 7 | 285 | 101 | 15 | 5.66 |
| 19 | Shahid Afridi | 2007/08 | One-day internationals | AR | 18 | 341 | 150 | 25 | 4.72 |
| 20 | Shahid Afridi | 2010/11 | One-day internationals | AR | 19 | 346 | 126 | 31 | 4.39 |
| 21 | GP Swann | 2011 | One-day internationals | PACE | 9 | 71 | — | 16 | 3.99 |
| 22 | Shahid Afridi | 2011/12 | One-day internationals | AR | 16 | 345 | 115 | 24 | 4.77 |
| 23 | SB Styris | 2003/04 | One-day internationals | AR | 7 | 299 | 93 | 11 | 4.79 |
| 24 | B Lee | 2004/05 | One-day internationals | PACE | 9 | 91 | 85 | 19 | 4.56 |
| 25 | Shahid Afridi | 2004/05 | One-day internationals | AR | 13 | 398 | 192 | 15 | 4.77 |
Test cricket
| Player | Season | Competition | Role | M | Runs | SR | Wkts | Econ | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | RA Jadeja | 2016/17 | Test cricket | PACE | 13 | 556 | 69 | 71 | 2.26 |
| 2 | MG Johnson | 2008/09 | Test cricket | PACE | 12 | 527 | 65 | 60 | 2.86 |
| 3 | GP Swann | 2009/10 | Test cricket | PACE | 6 | 209 | 100 | 37 | 3.01 |
| 4 | Shakib Al Hasan | 2016/17 | Test cricket | AR | 7 | 656 | 68 | 29 | 3.14 |
| 5 | Harbhajan Singh | 2010/11 | Test cricket | PACE | 8 | 414 | 69 | 36 | 2.89 |
| 6 | SCJ Broad | 2011 | Test cricket | PACE | 7 | 239 | 94 | 33 | 2.72 |
| 7 | R Ashwin | 2020/21 | Test cricket | PACE | 7 | 267 | 47 | 44 | 2.53 |
| 8 | Harbhajan Singh | 2008/09 | Test cricket | PACE | 8 | 288 | 65 | 39 | 2.51 |
| 9 | DL Vettori | 2009/10 | Test cricket | AR | 6 | 470 | 70 | 22 | 2.73 |
| 10 | R Ashwin | 2011/12 | Test cricket | PACE | 6 | 284 | 73 | 31 | 3.16 |
| 11 | MG Johnson | 2013/14 | Test cricket | PACE | 8 | 231 | 57 | 59 | 2.85 |
| 12 | HMRKB Herath | 2016 | Test cricket | PACE | 6 | 228 | 54 | 35 | 2.62 |
| 13 | CR Woakes | 2016 | Test cricket | PACE | 6 | 282 | 44 | 34 | 2.90 |
| 14 | VD Philander | 2017/18 | Test cricket | PACE | 8 | 259 | 49 | 33 | 2.22 |
| 15 | R Ashwin | 2022/23 | Test cricket | PACE | 6 | 198 | 51 | 32 | 2.74 |
| 16 | P Kumar | 2011 | Test cricket | PACE | 6 | 149 | 94 | 27 | 2.60 |
| 17 | R Ashwin | 2012/13 | Test cricket | PACE | 8 | 263 | 53 | 43 | 2.76 |
| 18 | SK Warne | 2004/05 | Test cricket | PACE | 6 | 131 | 76 | 30 | 2.67 |
| 19 | SCJ Broad | 2014 | Test cricket | PACE | 7 | 183 | 107 | 26 | 2.52 |
| 20 | MM Ali | 2017 | Test cricket | PACE | 7 | 361 | 73 | 30 | 3.33 |
| 21 | HMRKB Herath | 2016/17 | Test cricket | PACE | 7 | 167 | 49 | 41 | 2.79 |
| 22 | PJ Cummins | 2017/18 | Test cricket | PACE | 9 | 255 | 43 | 45 | 2.94 |
| 23 | PJ Cummins | 2023/24 | Test cricket | PACE | 7 | 195 | 64 | 30 | 2.85 |
| 24 | NM Lyon | 2023/24 | Test cricket | PACE | 7 | 147 | 69 | 34 | 3.02 |
| 25 | HMRKB Herath | 2011/12 | Test cricket | PACE | 8 | 194 | 51 | 39 | 2.38 |
The best batting seasons
Filtered to seasons of 400 runs or more, and to players whose primary contribution is batting.
| Player | Season | Competition | Role | M | Runs | SR | Wkts | Econ | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | SP Narine | 2024 | Indian T20 League | AR | 14 | 488 | 181 | 17 | 6.69 |
| 2 | MW Short | 2026 | Major League Cricket | AR | 12 | 513 | 146 | 17 | 7.43 |
| 3 | Sikandar Raza | 2023/24 | Twenty20 internationals | AR | 15 | 595 | 148 | 20 | 6.41 |
| 4 | Shakib Al Hasan | 2010/11 | One-day internationals | AR | 14 | 511 | 85 | 28 | 4.85 |
| 5 | A Flintoff | 2004 | One-day internationals | AR | 8 | 406 | 115 | 11 | 3.98 |
| 6 | Shakib Al Hasan | 2016/17 | Test cricket | AR | 7 | 656 | 68 | 29 | 3.14 |
| 7 | JL Denly | 2018 | T20 Blast | AR | 13 | 409 | 145 | 20 | 7.76 |
| 8 | DR Sams | 2023 | T20 Blast | AR | 17 | 419 | 173 | 25 | 8.40 |
| 9 | Aqib Ilyas | 2024 | Twenty20 internationals | AR | 18 | 479 | 117 | 28 | 6.10 |
| 10 | SR Watson | 2009/10 | One-day internationals | AR | 23 | 1009 | 91 | 32 | 5.03 |
| 11 | DL Vettori | 2009/10 | Test cricket | AR | 6 | 470 | 70 | 22 | 2.73 |
| 12 | SR Watson | 2007/08 | Indian T20 League | AR | 15 | 472 | 152 | 17 | 7.07 |
| 13 | DS Airee | 2021/22 | Twenty20 internationals | AR | 13 | 556 | 139 | 14 | 5.44 |
| 14 | Abhishek Sharma | 2024/25 | Twenty20 internationals | BAT | 12 | 411 | 200 | 4 | — |
| 15 | Virandeep Singh | 2025 | Twenty20 internationals | AR | 14 | 462 | 144 | 21 | 5.90 |
| 16 | Aqib Ilyas | 2019/20 | One-day internationals | AR | 6 | 400 | 82 | 10 | 3.94 |
| 17 | DJ Bravo | 2013/14 | One-day internationals | AR | 11 | 432 | 94 | 18 | 5.44 |
| 18 | WG Jacks | 2023 | T20 Blast | BAT | 16 | 558 | 157 | 10 | — |
| 19 | LS Livingstone | 2026 | T20 Blast | AR | 10 | 456 | 165 | 12 | 7.75 |
| 20 | AK Markram | 2021 | Twenty20 internationals | BAT | 13 | 408 | 150 | 5 | — |
| 21 | Taranjeet Singh | 2022 | Twenty20 internationals | AR | 11 | 428 | 166 | 17 | 6.50 |
| 22 | AB de Villiers | 2014/15 | One-day internationals | WK | 19 | 1161 | 131 | 7 | 6.00 |
| 23 | RR Pant | 2018 | Indian T20 League | WK | 14 | 684 | 174 | — | — |
| 24 | KL Rahul | 2018 | Indian T20 League | WK | 14 | 659 | 158 | — | — |
| 25 | AB de Villiers | 2018 | Indian T20 League | BAT | 12 | 480 | 175 | — | — |
The best bowling seasons
Filtered to seasons of fifteen wickets or more.
| Player | Season | Competition | Role | M | Runs | SR | Wkts | Econ | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Khushdil Shah | 2024/25 | Bangladesh Premier League | AR | 10 | 298 | 175 | 17 | 6.04 |
| 2 | RA Jadeja | 2016/17 | Test cricket | PACE | 13 | 556 | 69 | 71 | 2.26 |
| 3 | Shadab Khan | 2021/22 | Pakistan Super League | AR | 9 | 268 | 162 | 19 | 6.47 |
| 4 | Shahid Afridi | 2009 | Twenty20 internationals | AR | 9 | 226 | 140 | 15 | 5.11 |
| 5 | MG Johnson | 2008/09 | Test cricket | PACE | 12 | 527 | 65 | 60 | 2.86 |
| 6 | GP Swann | 2009/10 | Test cricket | PACE | 6 | 209 | 100 | 37 | 3.01 |
| 7 | SP Narine | 2024 | Indian T20 League | AR | 14 | 488 | 181 | 17 | 6.69 |
| 8 | DJ Willey | 2015 | T20 Blast | AR | 10 | 288 | 175 | 15 | 7.08 |
| 9 | MW Short | 2026 | Major League Cricket | AR | 12 | 513 | 146 | 17 | 7.43 |
| 10 | Sikandar Raza | 2023/24 | Twenty20 internationals | AR | 15 | 595 | 148 | 20 | 6.41 |
| 11 | Shakib Al Hasan | 2010/11 | One-day internationals | AR | 14 | 511 | 85 | 28 | 4.85 |
| 12 | Shakib Al Hasan | 2016/17 | Test cricket | AR | 7 | 656 | 68 | 29 | 3.14 |
| 13 | Harbhajan Singh | 2010/11 | Test cricket | PACE | 8 | 414 | 69 | 36 | 2.89 |
| 14 | SCJ Broad | 2011 | Test cricket | PACE | 7 | 239 | 94 | 33 | 2.72 |
| 15 | JL Denly | 2018 | T20 Blast | AR | 13 | 409 | 145 | 20 | 7.76 |
| 16 | DR Sams | 2023 | T20 Blast | AR | 17 | 419 | 173 | 25 | 8.40 |
| 17 | Shakib Al Hasan | 2021/22 | Bangladesh Premier League | AR | 11 | 284 | 144 | 16 | 5.36 |
| 18 | Aqib Ilyas | 2024 | Twenty20 internationals | AR | 18 | 479 | 117 | 28 | 6.10 |
| 19 | MG Erasmus | 2024 | Twenty20 internationals | AR | 13 | 371 | 131 | 18 | 6.28 |
| 20 | Shakib Al Hasan | 2022/23 | One-day internationals | AR | 9 | 331 | 90 | 16 | 4.84 |
| 21 | SR Watson | 2009/10 | One-day internationals | AR | 23 | 1009 | 91 | 32 | 5.03 |
| 22 | DL Vettori | 2009/10 | One-day internationals | AR | 14 | 363 | 101 | 24 | 3.78 |
| 23 | Shakib Al Hasan | 2011/12 | One-day internationals | AR | 10 | 374 | 88 | 16 | 4.07 |
| 24 | CJ Anderson | 2013/14 | One-day internationals | AR | 11 | 394 | 163 | 19 | 6.12 |
| 25 | R Ashwin | 2020/21 | Test cricket | PACE | 7 | 267 | 47 | 44 | 2.53 |
Every figure in these tables is computed from the same archive the game deals cards from. If a rating here looks wrong to you, it is wrong in the game too, and the method is written up in full.
More on how this is built
- How SPIN XI rates a cricketer — Every rating in SPIN XI is computed from ball-by-ball records of matches that were actually played. This is the method, including the three times it was wrong.
- How the match engine works — SPIN XI plays every delivery between the man bowling and the man facing. The score is what comes out, and so is the result. This is how.
- The archive: where every number comes from — SPIN XI is built from 15,270 ball-by-ball match records published by Cricsheet. This is what is in the archive, how it is assembled, and what is deliberately not in it.
- Which Twenty20 league is hardest to play in? — Not an opinion. A measurement of what the same players did in different leagues, from ball-by-ball records of every match.
- How to draft a side that actually wins — What ten thousand simulated seasons say about building an eleven in SPIN XI: where the rating misleads you, and what to take when the squad is thin.
- About SPIN XI — A free cricket drafting game built on the public ball-by-ball record. What it is, who made it, and what it is not.