| Season | Team | League | GP | G | A | TP | PIM | Playoffs | GP | G | A | TP | PIM | |
| 2009-2010 | Mississauga Rebels U16 AAA | GTHL U16 | 47 | 46 | 44 | 90 | 48 | | | ||||||
| Mississauga Rebels U16 AAA | OHL Cup | 7 | 7 | 6 | 13 | 2 | | | |||||||
| 2010-2011 | Ottawa 67's | OHL | 65 | 20 | 27 | 47 | 32 | | | Playoffs | 4 | 2 | 2 | 4 | 0 |
| Canada Ontario U17 | WHC-17 | 5 | 3 | 2 | 5 | 2 | | | |||||||
| 2011-2012 | Ottawa 67's | OHL | 62 | 33 | 45 | 78 | 38 | | | Playoffs | 18 | 8 | 7 | 15 | 12 |
| Canada U18 | Hlinka Gretzky Cup | 5 | 2 | 1 | 3 | 12 | | | |||||||
| 2012-2013 | Ottawa 67's | OHL | 58 | 31 | 47 | 78 | 24 | | | ||||||
| Canada U20 | CAN-RUS Challenge | 4 | 2 | 2 | 4 | 2 | | | |||||||
| OHL All-Stars | Jr Super Series | 1 | 0 | 1 | 1 | 0 | | | |||||||
| 2013-2014 | Calgary Flames | NHL | 75 | 22 | 12 | 34 | 8 | | | ||||||
| Canada | WC | 8 | 0 | 2 | 2 | 2 | | | |||||||
| 2014-2015 | Calgary Flames | NHL | 81 | 31 | 31 | 62 | 12 | | | Playoffs | 11 | 3 | 3 | 6 | 2 |
| 2015-2016 | Calgary Flames | NHL | 81 | 27 | 36 | 63 | 18 | | | ||||||
| 2016-2017 | Calgary Flames | NHL | 82 | 27 | 31 | 58 | 20 | | | Playoffs | 4 | 4 | 1 | 5 | 0 |
| 2017-2018 | Calgary Flames | NHL | 74 | 31 | 33 | 64 | 24 | | | ||||||
| 2018-2019 | Calgary Flames | NHL | 78 | 34 | 48 | 82 | 12 | | | Playoffs | 5 | 1 | 1 | 2 | 0 |
| 2019-2020 | Calgary Flames | NHL | 70 | 22 | 26 | 48 | 25 | | | Playoffs | 10 | 2 | 6 | 8 | 2 |
| 2020-2021 | Calgary Flames | NHL | 50 | 10 | 18 | 28 | 10 | | | ||||||
| 2021-2022 | Calgary Flames | NHL | 65 | 8 | 15 | 23 | 24 | | | ||||||
| 2022-2023 | Montréal Canadiens | NHL | 25 | 6 | 11 | 17 | 16 | | | ||||||
| 2023-2024 | Montréal Canadiens | NHL | 49 | 13 | 22 | 35 | 10 | | | ||||||
| Winnipeg Jets | NHL | 34 | 13 | 11 | 24 | 2 | | | Playoffs | 5 | 0 | 1 | 1 | 0 | |
| 2024-2025 | Columbus Blue Jackets | NHL | 54 | 19 | 38 | 57 | 20 | | | ||||||
| 2025-2026 | Columbus Blue Jackets | NHL | 36 | 5 | 12 | 17 | 8 | | |