| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2006-2007 | 16 | Dundee United | sct SCO | 1. Premier League | 2 | 0 | 17 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2007-2008 | 17 | Dundee United | sct SCO | 1. Premier League | 2 | 0 | 56 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2009-2010 | 19 | Raith Rovers | sct SCO | 2. First Division | 23 | 18 | 1,602 | 17.8 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | |
| 2010-2011 | 20 | Dundee United | sct SCO | 1. Premier League | 30 | 21 | 1,839 | 20.4 | 9 | 0 | 9 | 9 | 0 | 0 | 0 | 0 | 0.44 | 0.00 | 0.44 | 0.44 | 0.44 | Matches |
| 2011-2012 | 21 | Dundee United | sct SCO | 1. Premier League | 37 | 33 | 2,794 | 31.0 | 9 | 5 | 14 | 9 | 0 | 0 | 2 | 1 | 0.29 | 0.16 | 0.45 | 0.29 | 0.45 | Matches |
| 2012-2013 | 22 | Dundee United | sct SCO | 1. Premier League | 32 | 30 | 2,637 | 29.3 | 13 | 5 | 18 | 11 | 2 | 2 | 3 | 1 | 0.44 | 0.17 | 0.61 | 0.38 | 0.55 | Matches |
| 2013-2014 | 23 | Derby County | eng ENG | 2. Championship | 39 | 23 | 2,085 | 23.2 | 9 | 1 | 10 | 8 | 1 | 3 | 1 | 0 | 0.39 | 0.04 | 0.43 | 0.35 | 0.39 | |
| 2014-2015 | 24 | Derby County | eng ENG | 2. Championship | 39 | 27 | 2,480 | 27.6 | 6 | 8 | 14 | 6 | 0 | 0 | 3 | 0 | 0.22 | 0.29 | 0.51 | 0.22 | 0.51 | Matches |
| 2014-2015 | 24 | Derby County | eng ENG | FA Cup | 2 | 0 | 48 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 24 | Derby County | eng ENG | League Cup | 5 | 4 | 360 | 4.0 | 2 | 1 | 3 | 2 | 0 | 0 | 0 | 0 | 0.50 | 0.25 | 0.75 | 0.50 | 0.75 | Matches |
| 2015-2016 | 25 | Derby County | eng ENG | 2. Championship | 45 | 35 | 3,088 | 34.3 | 9 | 8 | 17 | 9 | 0 | 0 | 3 | 0 | 0.26 | 0.23 | 0.50 | 0.26 | 0.50 | Matches |
| 2015-2016 | 25 | Derby County | eng ENG | FA Cup | 2 | 0 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 25 | Derby County | eng ENG | League Cup | 1 | 1 | 90 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | 2. Championship | 36 | 29 | 2,431 | 27.0 | 2 | 4 | 6 | 2 | 0 | 0 | 2 | 0 | 0.07 | 0.15 | 0.22 | 0.07 | 0.22 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | FA Cup | 2 | 1 | 130 | 1.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | 2. Championship | 23 | 13 | 1,297 | 14.4 | 4 | 2 | 6 | 4 | 0 | 0 | 3 | 0 | 0.28 | 0.14 | 0.42 | 0.28 | 0.42 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.00 | 0.00 | 1.00 | 1.00 | 1.00 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | FA Cup | 1 | 1 | 77 | 0.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018 | 27 | Sporting KC | us USA | 1. MLS | 30 | 24 | 2,178 | 24.2 | 10 | 7 | 17 | 9 | 1 | 1 | 3 | 0 | 0.41 | 0.29 | 0.70 | 0.37 | 0.66 | Matches |
| 2019 | 28 | Sporting KC | us USA | 1. MLS | 28 | 24 | 2,113 | 23.5 | 9 | 6 | 15 | 9 | 0 | 0 | 1 | 0 | 0.38 | 0.26 | 0.64 | 0.38 | 0.64 | Matches |
| 2020 | 29 | Sporting KC | us USA | 1. MLS | 21 | 17 | 1,524 | 16.9 | 6 | 2 | 8 | 6 | 0 | 0 | 3 | 0 | 0.35 | 0.12 | 0.47 | 0.35 | 0.47 | Matches |
| 2021 | 30 | Sporting KC | us USA | 1. MLS | 30 | 26 | 2,221 | 24.7 | 15 | 7 | 22 | 12 | 3 | 3 | 1 | 0 | 0.61 | 0.28 | 0.89 | 0.49 | 0.77 | Matches |
| 2022 | 31 | Sporting KC | us USA | 1. MLS | 33 | 31 | 2,698 | 30.0 | 8 | 1 | 9 | 5 | 3 | 4 | 4 | 0 | 0.27 | 0.03 | 0.30 | 0.17 | 0.20 | Matches |
| 2022 | 31 | Sporting KC | us USA | U.S. Open Cup | 4 | 3 | 318 | 3.5 | 2 | 0 | 2 | 1 | 1 | 1 | 1 | 0 | 0.57 | 0.00 | 0.57 | 0.28 | 0.28 | Matches |
| 2023 | 32 | Sporting KC | Leagues Cup | 3 | 3 | 218 | 2.4 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.41 | 0.00 | 0.41 | 0.41 | 0.41 | Matches | |
| 2023 | 32 | Sporting KC | us USA | 1. MLS | 25 | 21 | 1,687 | 18.7 | 8 | 3 | 11 | 7 | 1 | 1 | 1 | 1 | 0.43 | 0.16 | 0.59 | 0.37 | 0.53 | Matches |
| 2024 | 33 | Sporting KC | Leagues Cup | 2 | 2 | 145 | 1.6 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.62 | 0.62 | 0.00 | 0.62 | Matches | |
| 2024 | 33 | Sporting KC | us USA | 1. MLS | 29 | 18 | 1,731 | 19.2 | 4 | 3 | 7 | 4 | 0 | 1 | 5 | 0 | 0.21 | 0.16 | 0.36 | 0.21 | 0.36 | Matches |
| 2024 | 33 | Sporting KC | us USA | U.S. Open Cup | 5 | 3 | 395 | 4.4 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.23 | 0.23 | 0.46 | 0.23 | 0.46 | Matches |
| 2025 | 34 | Real Salt Lake | Leagues Cup | 1 | 0 | 35 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2025 | 34 | Real Salt Lake | us USA | 1. MLS | 12 | 4 | 348 | 3.9 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.52 | 0.00 | 0.52 | 0.52 | 0.52 | Matches |
| 2025-2026 | 35 | Dundee United | sct SCO | 1. Premiership | 7 | 1 | 155 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 19 Seasons | 5 Clubs | 8 Leagues | 553 | 415 | 37,037 | 411.5 | 134 | 67 | 201 | 122 | 12 | 16 | 42 | 3 | 0.33 | 0.16 | 0.49 | 0.30 | 0.46 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Sporting KC (7 Seasons) | 3 Leagues | 210 | 172 | 15,228 | 169.2 | 64 | 31 | 95 | 55 | 9 | 11 | 21 | 1 | 0.38 | 0.18 | 0.56 | 0.33 | 0.51 | ||||
| Dundee United (6 Seasons) | 1 League | 110 | 85 | 7,498 | 83.3 | 31 | 10 | 41 | 29 | 2 | 2 | 5 | 2 | 0.37 | 0.12 | 0.49 | 0.35 | 0.47 | ||||
| Derby County (5 Seasons) | 3 Leagues | 197 | 136 | 12,326 | 137.0 | 33 | 25 | 58 | 32 | 1 | 3 | 12 | 0 | 0.24 | 0.18 | 0.42 | 0.23 | 0.42 | ||||
| Raith Rovers (1 Season) | 1 League | 23 | 18 | 1,602 | 17.8 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | ||||
| Real Salt Lake (1 Season) | 2 Leagues | 13 | 4 | 383 | 4.3 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.47 | 0.00 | 0.47 | 0.47 | 0.47 | ||||
| MLS (8 Seasons) | 208 | 165 | 14,500 | 161.1 | 62 | 29 | 91 | 54 | 8 | 10 | 19 | 1 | 0.38 | 0.18 | 0.56 | 0.34 | 0.52 | |||||
| Premiership (6 Seasons) | 110 | 85 | 7,498 | 83.3 | 31 | 10 | 41 | 29 | 2 | 2 | 5 | 2 | 0.37 | 0.12 | 0.49 | 0.35 | 0.47 | |||||
| Championship (5 Seasons) | 182 | 127 | 11,381 | 126.5 | 30 | 23 | 53 | 29 | 1 | 3 | 12 | 0 | 0.24 | 0.18 | 0.42 | 0.23 | 0.41 | |||||
| League Cup (4 Seasons) | 8 | 7 | 630 | 7.0 | 3 | 2 | 5 | 3 | 0 | 0 | 0 | 0 | 0.43 | 0.29 | 0.71 | 0.43 | 0.71 | |||||
| FA Cup (4 Seasons) | 7 | 2 | 315 | 3.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Leagues Cup (3 Seasons) | 6 | 5 | 398 | 4.4 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0.23 | 0.23 | 0.45 | 0.23 | 0.45 | |||||
| U.S. Open Cup (2 Seasons) | 9 | 6 | 713 | 7.9 | 3 | 1 | 4 | 2 | 1 | 1 | 3 | 0 | 0.38 | 0.13 | 0.50 | 0.25 | 0.38 | |||||
| First Division (1 Season) | 23 | 18 | 1,602 | 17.8 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | |||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2006-2007 | 16 | Dundee United | 1 League | 2 | 0 | 17 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2007-2008 | 17 | Dundee United | 1 League | 2 | 0 | 56 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2009-2010 | 19 | Raith Rovers | 1 League | 23 | 18 | 1,602 | 17.8 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | |
| 2010-2011 | 20 | Dundee United | 1 League | 30 | 21 | 1,839 | 20.4 | 9 | 0 | 9 | 9 | 0 | 0 | 0 | 0 | 0.44 | 0.00 | 0.44 | 0.44 | 0.44 | |
| 2011-2012 | 21 | Dundee United | 1 League | 37 | 33 | 2,794 | 31.0 | 9 | 5 | 14 | 9 | 0 | 0 | 2 | 1 | 0.29 | 0.16 | 0.45 | 0.29 | 0.45 | |
| 2012-2013 | 22 | Dundee United | 1 League | 32 | 30 | 2,637 | 29.3 | 13 | 5 | 18 | 11 | 2 | 2 | 3 | 1 | 0.44 | 0.17 | 0.61 | 0.38 | 0.55 | |
| 2013-2014 | 23 | Derby County | 1 League | 39 | 23 | 2,085 | 23.2 | 9 | 1 | 10 | 8 | 1 | 3 | 1 | 0 | 0.39 | 0.04 | 0.43 | 0.35 | 0.39 | |
| 2014-2015 | 24 | Derby County | 3 Leagues | 46 | 31 | 2,888 | 32.1 | 8 | 9 | 17 | 8 | 0 | 0 | 3 | 0 | 0.25 | 0.28 | 0.53 | 0.25 | 0.53 | |
| 2015-2016 | 25 | Derby County | 3 Leagues | 48 | 36 | 3,238 | 36.0 | 9 | 9 | 18 | 9 | 0 | 0 | 3 | 0 | 0.25 | 0.25 | 0.50 | 0.25 | 0.50 | |
| 2016-2017 | 26 | Derby County | 3 Leagues | 39 | 31 | 2,651 | 29.5 | 2 | 4 | 6 | 2 | 0 | 0 | 2 | 0 | 0.07 | 0.14 | 0.20 | 0.07 | 0.20 | |
| 2017-2018 | 27 | Derby County | 3 Leagues | 25 | 15 | 1,464 | 16.3 | 5 | 2 | 7 | 5 | 0 | 0 | 3 | 0 | 0.31 | 0.12 | 0.43 | 0.31 | 0.43 | |
| 2018 | 27 | Sporting KC | 1 League | 30 | 24 | 2,178 | 24.2 | 10 | 7 | 17 | 9 | 1 | 1 | 3 | 0 | 0.41 | 0.29 | 0.70 | 0.37 | 0.66 | |
| 2019 | 28 | Sporting KC | 1 League | 28 | 24 | 2,113 | 23.5 | 9 | 6 | 15 | 9 | 0 | 0 | 1 | 0 | 0.38 | 0.26 | 0.64 | 0.38 | 0.64 | |
| 2020 | 29 | Sporting KC | 1 League | 21 | 17 | 1,524 | 16.9 | 6 | 2 | 8 | 6 | 0 | 0 | 3 | 0 | 0.35 | 0.12 | 0.47 | 0.35 | 0.47 | |
| 2021 | 30 | Sporting KC | 1 League | 30 | 26 | 2,221 | 24.7 | 15 | 7 | 22 | 12 | 3 | 3 | 1 | 0 | 0.61 | 0.28 | 0.89 | 0.49 | 0.77 | |
| 2022 | 31 | Sporting KC | 2 Leagues | 37 | 34 | 3,016 | 33.5 | 10 | 1 | 11 | 6 | 4 | 5 | 5 | 0 | 0.30 | 0.03 | 0.33 | 0.18 | 0.21 | |
| 2023 | 32 | Sporting KC | 2 Leagues | 28 | 24 | 1,905 | 21.2 | 9 | 3 | 12 | 8 | 1 | 1 | 1 | 1 | 0.43 | 0.14 | 0.57 | 0.38 | 0.52 | |
| 2024 | 33 | Sporting KC | 3 Leagues | 36 | 23 | 2,271 | 25.2 | 5 | 5 | 10 | 5 | 0 | 1 | 7 | 0 | 0.20 | 0.20 | 0.40 | 0.20 | 0.40 | |
| 2025 | 34 | Real Salt Lake | 2 Leagues | 13 | 4 | 383 | 4.3 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.47 | 0.00 | 0.47 | 0.47 | 0.47 | |
| 2025-2026 | 35 | Dundee United | 1 League | 7 | 1 | 155 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 19 Seasons | 5 Clubs | 8 Leagues | 553 | 415 | 37,037 | 411.5 | 134 | 67 | 201 | 122 | 12 | 16 | 42 | 3 | 0.33 | 0.16 | 0.49 | 0.30 | 0.46 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Sporting KC (7 Seasons) | 3 Leagues | 210 | 172 | 15,228 | 169.2 | 64 | 31 | 95 | 55 | 9 | 11 | 21 | 1 | 0.38 | 0.18 | 0.56 | 0.33 | 0.51 | |||
| Dundee United (6 Seasons) | 1 League | 110 | 85 | 7,498 | 83.3 | 31 | 10 | 41 | 29 | 2 | 2 | 5 | 2 | 0.37 | 0.12 | 0.49 | 0.35 | 0.47 | |||
| Derby County (5 Seasons) | 3 Leagues | 197 | 136 | 12,326 | 137.0 | 33 | 25 | 58 | 32 | 1 | 3 | 12 | 0 | 0.24 | 0.18 | 0.42 | 0.23 | 0.42 | |||
| Raith Rovers (1 Season) | 1 League | 23 | 18 | 1,602 | 17.8 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | |||
| Real Salt Lake (1 Season) | 2 Leagues | 13 | 4 | 383 | 4.3 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.47 | 0.00 | 0.47 | 0.47 | 0.47 | |||
| MLS (8 Seasons) | 208 | 165 | 14,500 | 161.1 | 62 | 29 | 91 | 54 | 8 | 10 | 19 | 1 | 0.38 | 0.18 | 0.56 | 0.34 | 0.52 | ||||
| Premiership (6 Seasons) | 110 | 85 | 7,498 | 83.3 | 31 | 10 | 41 | 29 | 2 | 2 | 5 | 2 | 0.37 | 0.12 | 0.49 | 0.35 | 0.47 | ||||
| Championship (5 Seasons) | 182 | 127 | 11,381 | 126.5 | 30 | 23 | 53 | 29 | 1 | 3 | 12 | 0 | 0.24 | 0.18 | 0.42 | 0.23 | 0.41 | ||||
| League Cup (4 Seasons) | 8 | 7 | 630 | 7.0 | 3 | 2 | 5 | 3 | 0 | 0 | 0 | 0 | 0.43 | 0.29 | 0.71 | 0.43 | 0.71 | ||||
| FA Cup (4 Seasons) | 7 | 2 | 315 | 3.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Leagues Cup (3 Seasons) | 6 | 5 | 398 | 4.4 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0.23 | 0.23 | 0.45 | 0.23 | 0.45 | ||||
| U.S. Open Cup (2 Seasons) | 9 | 6 | 713 | 7.9 | 3 | 1 | 4 | 2 | 1 | 1 | 3 | 0 | 0.38 | 0.13 | 0.50 | 0.25 | 0.38 | ||||
| First Division (1 Season) | 23 | 18 | 1,602 | 17.8 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | ||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2006-2007 | 16 | Dundee United | sct SCO | 1. Premier League | 9th | 2 | 0 | 17 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2007-2008 | 17 | Dundee United | sct SCO | 1. Premier League | 5th | 2 | 0 | 56 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2009-2010 | 19 | Raith Rovers | sct SCO | 2. First Division | 7th | 23 | 18 | 1,602 | 17.8 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | |
| 2010-2011 | 20 | Dundee United | sct SCO | 1. Premier League | 4th | 30 | 21 | 1,839 | 20.4 | 9 | 0 | 9 | 9 | 0 | 0 | 0 | 0 | 0.44 | 0.00 | 0.44 | 0.44 | 0.44 | Matches |
| 2011-2012 | 21 | Dundee United | sct SCO | 1. Premier League | 4th | 37 | 33 | 2,794 | 31.0 | 9 | 5 | 14 | 9 | 0 | 0 | 2 | 1 | 0.29 | 0.16 | 0.45 | 0.29 | 0.45 | Matches |
| 2012-2013 | 22 | Dundee United | sct SCO | 1. Premier League | 6th | 32 | 30 | 2,637 | 29.3 | 13 | 5 | 18 | 11 | 2 | 2 | 3 | 1 | 0.44 | 0.17 | 0.61 | 0.38 | 0.55 | Matches |
| 2013-2014 | 23 | Derby County | eng ENG | 2. Championship | 3rd | 39 | 23 | 2,085 | 23.2 | 9 | 1 | 10 | 8 | 1 | 3 | 1 | 0 | 0.39 | 0.04 | 0.43 | 0.35 | 0.39 | |
| 2014-2015 | 24 | Derby County | eng ENG | 2. Championship | 8th | 39 | 27 | 2,480 | 27.6 | 6 | 8 | 14 | 6 | 0 | 0 | 3 | 0 | 0.22 | 0.29 | 0.51 | 0.22 | 0.51 | Matches |
| 2015-2016 | 25 | Derby County | eng ENG | 2. Championship | 5th | 45 | 35 | 3,088 | 34.3 | 9 | 8 | 17 | 9 | 0 | 0 | 3 | 0 | 0.26 | 0.23 | 0.50 | 0.26 | 0.50 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | 2. Championship | 9th | 36 | 29 | 2,431 | 27.0 | 2 | 4 | 6 | 2 | 0 | 0 | 2 | 0 | 0.07 | 0.15 | 0.22 | 0.07 | 0.22 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | 2. Championship | 6th | 23 | 13 | 1,297 | 14.4 | 4 | 2 | 6 | 4 | 0 | 0 | 3 | 0 | 0.28 | 0.14 | 0.42 | 0.28 | 0.42 | Matches |
| 2018 | 27 | Sporting KC | us USA | 1. MLS | 3rd | 30 | 24 | 2,178 | 24.2 | 10 | 7 | 17 | 9 | 1 | 1 | 3 | 0 | 0.41 | 0.29 | 0.70 | 0.37 | 0.66 | Matches |
| 2019 | 28 | Sporting KC | us USA | 1. MLS | 21st | 28 | 24 | 2,113 | 23.5 | 9 | 6 | 15 | 9 | 0 | 0 | 1 | 0 | 0.38 | 0.26 | 0.64 | 0.38 | 0.64 | Matches |
| 2020 | 29 | Sporting KC | us USA | 1. MLS | 5th | 21 | 17 | 1,524 | 16.9 | 6 | 2 | 8 | 6 | 0 | 0 | 3 | 0 | 0.35 | 0.12 | 0.47 | 0.35 | 0.47 | Matches |
| 2021 | 30 | Sporting KC | us USA | 1. MLS | 4th | 30 | 26 | 2,221 | 24.7 | 15 | 7 | 22 | 12 | 3 | 3 | 1 | 0 | 0.61 | 0.28 | 0.89 | 0.49 | 0.77 | Matches |
| 2022 | 31 | Sporting KC | us USA | 1. MLS | 23rd | 33 | 31 | 2,698 | 30.0 | 8 | 1 | 9 | 5 | 3 | 4 | 4 | 0 | 0.27 | 0.03 | 0.30 | 0.17 | 0.20 | Matches |
| 2023 | 32 | Sporting KC | us USA | 1. MLS | 15th | 25 | 21 | 1,687 | 18.7 | 8 | 3 | 11 | 7 | 1 | 1 | 1 | 1 | 0.43 | 0.16 | 0.59 | 0.37 | 0.53 | Matches |
| 2024 | 33 | Sporting KC | us USA | 1. MLS | 27th | 29 | 18 | 1,731 | 19.2 | 4 | 3 | 7 | 4 | 0 | 1 | 5 | 0 | 0.21 | 0.16 | 0.36 | 0.21 | 0.36 | Matches |
| 2025 | 34 | Real Salt Lake | us USA | 1. MLS | 20th | 12 | 4 | 348 | 3.9 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.52 | 0.00 | 0.52 | 0.52 | 0.52 | Matches |
| 2025-2026 | 35 | Dundee United | sct SCO | 1. Premiership | 7th | 7 | 1 | 155 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 19 Seasons | 5 Clubs | 4 Leagues | 523 | 395 | 34,981 | 388.7 | 127 | 63 | 190 | 116 | 11 | 15 | 39 | 3 | 0.33 | 0.16 | 0.49 | 0.30 | 0.46 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Sporting KC (7 Seasons) | 1 League | 196 | 161 | 14,152 | 157.2 | 60 | 29 | 89 | 52 | 8 | 10 | 18 | 1 | 0.38 | 0.18 | 0.57 | 0.33 | 0.52 | |||||
| Dundee United (6 Seasons) | 1 League | 110 | 85 | 7,498 | 83.3 | 31 | 10 | 41 | 29 | 2 | 2 | 5 | 2 | 0.37 | 0.12 | 0.49 | 0.35 | 0.47 | |||||
| Derby County (5 Seasons) | 1 League | 182 | 127 | 11,381 | 126.5 | 30 | 23 | 53 | 29 | 1 | 3 | 12 | 0 | 0.24 | 0.18 | 0.42 | 0.23 | 0.41 | |||||
| Raith Rovers (1 Season) | 1 League | 23 | 18 | 1,602 | 17.8 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | |||||
| Real Salt Lake (1 Season) | 1 League | 12 | 4 | 348 | 3.9 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.52 | 0.00 | 0.52 | 0.52 | 0.52 | |||||
| MLS (8 Seasons) | 208 | 165 | 14,500 | 161.1 | 62 | 29 | 91 | 54 | 8 | 10 | 19 | 1 | 0.38 | 0.18 | 0.56 | 0.34 | 0.52 | ||||||
| Premiership (6 Seasons) | 110 | 85 | 7,498 | 83.3 | 31 | 10 | 41 | 29 | 2 | 2 | 5 | 2 | 0.37 | 0.12 | 0.49 | 0.35 | 0.47 | ||||||
| Championship (5 Seasons) | 182 | 127 | 11,381 | 126.5 | 30 | 23 | 53 | 29 | 1 | 3 | 12 | 0 | 0.24 | 0.18 | 0.42 | 0.23 | 0.41 | ||||||
| First Division (1 Season) | 23 | 18 | 1,602 | 17.8 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | ||||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2014-2015 | 24 | Derby County | eng ENG | FA Cup | 9th | 2 | 0 | 48 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 24 | Derby County | eng ENG | League Cup | 5th | 5 | 4 | 360 | 4.0 | 2 | 1 | 3 | 2 | 0 | 0 | 0 | 0 | 0.50 | 0.25 | 0.75 | 0.50 | 0.75 | Matches |
| 2015-2016 | 25 | Derby County | eng ENG | FA Cup | 17th | 2 | 0 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 25 | Derby County | eng ENG | League Cup | 57th | 1 | 1 | 90 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | EFL Cup | 17th | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | FA Cup | 17th | 2 | 1 | 130 | 1.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | EFL Cup | 33rd | 1 | 1 | 90 | 1.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.00 | 0.00 | 1.00 | 1.00 | 1.00 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | FA Cup | 33rd | 1 | 1 | 77 | 0.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022 | 31 | Sporting KC | us USA | U.S. Open Cup | 2nd | 4 | 3 | 318 | 3.5 | 2 | 0 | 2 | 1 | 1 | 1 | 1 | 0 | 0.57 | 0.00 | 0.57 | 0.28 | 0.28 | Matches |
| 2024 | 33 | Sporting KC | us USA | U.S. Open Cup | 2nd | 5 | 3 | 395 | 4.4 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.23 | 0.23 | 0.46 | 0.23 | 0.46 | Matches |
| 6 Seasons | 2 Clubs | 3 Leagues | 24 | 15 | 1,658 | 18.4 | 6 | 3 | 9 | 5 | 1 | 1 | 3 | 0 | 0.33 | 0.16 | 0.49 | 0.27 | 0.43 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Derby County (4 Seasons) | 2 Leagues | 15 | 9 | 945 | 10.5 | 3 | 2 | 5 | 3 | 0 | 0 | 0 | 0 | 0.29 | 0.19 | 0.48 | 0.29 | 0.48 | |||||
| Sporting KC (2 Seasons) | 1 League | 9 | 6 | 713 | 7.9 | 3 | 1 | 4 | 2 | 1 | 1 | 3 | 0 | 0.38 | 0.13 | 0.50 | 0.25 | 0.38 | |||||
| League Cup (4 Seasons) | 8 | 7 | 630 | 7.0 | 3 | 2 | 5 | 3 | 0 | 0 | 0 | 0 | 0.43 | 0.29 | 0.71 | 0.43 | 0.71 | ||||||
| FA Cup (4 Seasons) | 7 | 2 | 315 | 3.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| U.S. Open Cup (2 Seasons) | 9 | 6 | 713 | 7.9 | 3 | 1 | 4 | 2 | 1 | 1 | 3 | 0 | 0.38 | 0.13 | 0.50 | 0.25 | 0.38 | ||||||
| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2023 | 32 | Sporting KC | Leagues Cup | R32 | 3 | 3 | 218 | 2.4 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.41 | 0.00 | 0.41 | 0.41 | 0.41 | Matches |
| 2024 | 33 | Sporting KC | Leagues Cup | R32 | 2 | 2 | 145 | 1.6 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.62 | 0.62 | 0.00 | 0.62 | Matches |
| 2025 | 34 | Real Salt Lake | Leagues Cup | Lg | 1 | 0 | 35 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 3 Seasons | 2 Clubs | 1 League | 6 | 5 | 398 | 4.4 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0.23 | 0.23 | 0.45 | 0.23 | 0.45 | |||
| Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Sporting KC (2 Seasons) | 1 League | 5 | 5 | 363 | 4.0 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.50 | 0.25 | 0.50 | ||||
| Real Salt Lake (1 Season) | 1 League | 1 | 0 | 35 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2014 | 23 | sct Scotland | Friendlies (M) | 1 | 0 | 10 | 0.1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 9.00 | 9.00 | 0.00 | 9.00 | Matches | |
| 2015 | 24 | sct Scotland | Friendlies (M) | 2 | 0 | 26 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2016 | 25 | sct Scotland | UEFA Euro Qualifying | 1 | 0 | 27 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2018 | 27 | sct Scotland | Friendlies (M) | 2 | 1 | 113 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2018-2019 | 28 | sct Scotland | UEFA Nations League | 31st | 3 | 2 | 154 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021 | 30 | sct Scotland | UEFA Euro Qualifying | 5 | 3 | 221 | 2.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.41 | 0.00 | 0.41 | 0.41 | 0.41 | Matches | |
| 5 Seasons | 1 Club | 3 Leagues | 14 | 6 | 551 | 6.1 | 1 | 1 | 2 | 1 | 0 | 0 | 1 | 0 | 0.16 | 0.16 | 0.33 | 0.16 | 0.33 | |||
| Friendlies (M) (3 Seasons) | 5 | 1 | 149 | 1.7 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.60 | 0.60 | 0.00 | 0.60 | |||||
| UEFA Euro Qualifying (2 Seasons) | 6 | 3 | 248 | 2.8 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.36 | 0.00 | 0.36 | 0.36 | 0.36 | |||||
| UEFA Nations League (1 Season) | 3 | 2 | 154 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2006-2007 | 16 | Dundee United | sct SCO | 1. Premier League | 0.2 | 0 | 0 | 0 | ||||||||
| 2007-2008 | 17 | Dundee United | sct SCO | 1. Premier League | 0.6 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2009-2010 | 19 | Raith Rovers | sct SCO | 2. First Division | 17.8 | 4 | 14 | 0.79 | 0.29 | 0 | 0 | |||||
| 2010-2011 | 20 | Dundee United | sct SCO | 1. Premier League | 20.4 | 9 | 13 | 0.64 | 0.69 | 0 | 0 | Matches | ||||
| 2011-2012 | 21 | Dundee United | sct SCO | 1. Premier League | 31.0 | 9 | 23 | 0.74 | 0.39 | 0 | 0 | Matches | ||||
| 2012-2013 | 22 | Dundee United | sct SCO | 1. Premier League | 29.3 | 13 | 23 | 0.78 | 0.48 | 2 | 2 | Matches | ||||
| 2013-2014 | 23 | Derby County | eng ENG | 2. Championship | 23.2 | 9 | 24 | 1.04 | 0.33 | 1 | 3 | |||||
| 2014-2015 | 24 | Derby County | eng ENG | 2. Championship | 27.6 | 6 | 19 | 0.69 | 0.32 | 0 | 0 | Matches | ||||
| 2014-2015 | 24 | Derby County | eng ENG | FA Cup | 0.5 | 0 | 0 | 0 | Matches | |||||||
| 2014-2015 | 24 | Derby County | eng ENG | League Cup | 4.0 | 2 | 0 | 0 | Matches | |||||||
| 2015-2016 | 25 | Derby County | eng ENG | 2. Championship | 34.3 | 9 | 23 | 0.67 | 0.39 | 0 | 0 | Matches | ||||
| 2015-2016 | 25 | Derby County | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 25 | Derby County | eng ENG | League Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2016-2017 | 26 | Derby County | eng ENG | 2. Championship | 27.0 | 2 | 0 | 17 | 0.00 | 0.63 | 0.12 | 0 | 0 | Matches | ||
| 2016-2017 | 26 | Derby County | eng ENG | EFL Cup | 1.0 | 0 | 2 | 1 | 50.0 | 2.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | FA Cup | 1.4 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 27 | Derby County | eng ENG | 2. Championship | 14.4 | 4 | 34 | 14 | 41.2 | 2.36 | 0.97 | 0.12 | 0.29 | 0 | 0 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | EFL Cup | 1.0 | 1 | 3 | 3 | 100.0 | 3.00 | 3.00 | 0.33 | 0.33 | 0 | 0 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | FA Cup | 0.9 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018 | 27 | Sporting KC | us USA | 1. MLS | 24.2 | 10 | 71 | 31 | 43.7 | 2.93 | 1.28 | 0.13 | 0.29 | 1 | 1 | Matches |
| 2019 | 28 | Sporting KC | us USA | 1. MLS | 23.5 | 9 | 56 | 22 | 39.3 | 2.39 | 0.94 | 0.16 | 0.41 | 0 | 0 | Matches |
| 2020 | 29 | Sporting KC | us USA | 1. MLS | 16.9 | 6 | 51 | 18 | 35.3 | 3.01 | 1.06 | 0.12 | 0.33 | 0 | 0 | Matches |
| 2021 | 30 | Sporting KC | us USA | 1. MLS | 24.7 | 15 | 69 | 33 | 47.8 | 2.80 | 1.34 | 0.17 | 0.36 | 3 | 3 | Matches |
| 2022 | 31 | Sporting KC | us USA | 1. MLS | 30.0 | 8 | 66 | 21 | 31.8 | 2.20 | 0.70 | 0.08 | 0.24 | 3 | 4 | Matches |
| 2022 | 31 | Sporting KC | us USA | U.S. Open Cup | 3.5 | 2 | 16 | 9 | 56.3 | 4.53 | 2.55 | 0.06 | 0.11 | 1 | 1 | Matches |
| 2023 | 32 | Sporting KC | Leagues Cup | 2.4 | 1 | 0 | 0 | Matches | ||||||||
| 2023 | 32 | Sporting KC | us USA | 1. MLS | 18.7 | 8 | 40 | 17 | 42.5 | 2.13 | 0.91 | 0.18 | 0.41 | 1 | 1 | Matches |
| 2024 | 33 | Sporting KC | Leagues Cup | 1.6 | 0 | 0 | 0 | Matches | ||||||||
| 2024 | 33 | Sporting KC | us USA | 1. MLS | 19.2 | 4 | 47 | 16 | 34.0 | 2.44 | 0.83 | 0.09 | 0.25 | 0 | 1 | Matches |
| 2024 | 33 | Sporting KC | us USA | U.S. Open Cup | 4.4 | 1 | 11 | 7 | 63.6 | 2.51 | 1.59 | 0.09 | 0.14 | 0 | 0 | Matches |
| 2025 | 34 | Real Salt Lake | Leagues Cup | 0.4 | 0 | 0 | 0 | Matches | ||||||||
| 2025 | 34 | Real Salt Lake | us USA | 1. MLS | 3.9 | 2 | 11 | 5 | 45.5 | 2.84 | 1.29 | 0.18 | 0.40 | 0 | 0 | Matches |
| 2025-2026 | 35 | Dundee United | sct SCO | 1. Premiership | 1.7 | 0 | 7 | 1 | 14.3 | 4.06 | 0.58 | 0.00 | 0.00 | 0 | 0 | Matches |
| 19 Seasons | 5 Clubs | 8 Leagues | 411.5 | 134 | 484 | 354 | 44.4 | 2.25 | 0.89 | 0.13 | 0.34 | 12 | 16 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Sporting KC (7 Seasons) | 3 Leagues | 169.2 | 64 | 427 | 174 | 40.7 | 2.59 | 1.05 | 0.13 | 0.31 | 9 | 11 | ||||
| Dundee United (6 Seasons) | 1 League | 83.3 | 31 | 7 | 60 | 14.3 | 4.06 | 0.72 | 0.00 | 0.48 | 2 | 2 | ||||
| Derby County (5 Seasons) | 3 Leagues | 137.0 | 33 | 39 | 101 | 89.7 | 0.88 | 0.78 | 0.18 | 0.30 | 1 | 3 | ||||
| Raith Rovers (1 Season) | 1 League | 17.8 | 4 | 14 | 0.79 | 0.29 | 0 | 0 | ||||||||
| Real Salt Lake (1 Season) | 2 Leagues | 4.3 | 2 | 11 | 5 | 45.5 | 2.84 | 1.29 | 0.18 | 0.40 | 0 | 0 | ||||
| MLS (8 Seasons) | 161.1 | 62 | 411 | 163 | 39.7 | 2.55 | 1.01 | 0.13 | 0.33 | 8 | 10 | |||||
| Premiership (6 Seasons) | 83.3 | 31 | 7 | 60 | 14.3 | 4.06 | 0.72 | 0.00 | 0.48 | 2 | 2 | |||||
| Championship (5 Seasons) | 126.5 | 30 | 34 | 97 | 91.2 | 0.82 | 0.77 | 0.18 | 0.30 | 1 | 3 | |||||
| League Cup (4 Seasons) | 7.0 | 3 | 5 | 4 | 80.0 | 2.50 | 2.00 | 0.20 | 0.25 | 0 | 0 | |||||
| FA Cup (4 Seasons) | 3.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Leagues Cup (3 Seasons) | 4.4 | 1 | 0 | 0 | ||||||||||||
| U.S. Open Cup (2 Seasons) | 7.9 | 3 | 27 | 16 | 59.3 | 3.41 | 2.02 | 0.07 | 0.13 | 1 | 1 | |||||
| First Division (1 Season) | 17.8 | 4 | 14 | 0.79 | 0.29 | 0 | 0 | |||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2006-2007 | 16 | Dundee United | 1 League | 0.2 | 0 | 0 | 0 | ||||||||
| 2007-2008 | 17 | Dundee United | 1 League | 0.6 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2009-2010 | 19 | Raith Rovers | 1 League | 17.8 | 4 | 14 | 0.79 | 0.29 | 0 | 0 | |||||
| 2010-2011 | 20 | Dundee United | 1 League | 20.4 | 9 | 13 | 0.64 | 0.69 | 0 | 0 | |||||
| 2011-2012 | 21 | Dundee United | 1 League | 31.0 | 9 | 23 | 0.74 | 0.39 | 0 | 0 | |||||
| 2012-2013 | 22 | Dundee United | 1 League | 29.3 | 13 | 23 | 0.78 | 0.48 | 2 | 2 | |||||
| 2013-2014 | 23 | Derby County | 1 League | 23.2 | 9 | 24 | 1.04 | 0.33 | 1 | 3 | |||||
| 2014-2015 | 24 | Derby County | 3 Leagues | 32.1 | 8 | 19 | 0.69 | 0.32 | 0 | 0 | |||||
| 2015-2016 | 25 | Derby County | 3 Leagues | 36.0 | 9 | 23 | 0.67 | 0.39 | 0 | 0 | |||||
| 2016-2017 | 26 | Derby County | 3 Leagues | 29.5 | 2 | 2 | 18 | 900.0 | 0.07 | 0.64 | 1.00 | 0.11 | 0 | 0 | |
| 2017-2018 | 27 | Derby County | 3 Leagues | 16.3 | 5 | 37 | 17 | 45.9 | 2.27 | 1.05 | 0.14 | 0.29 | 0 | 0 | |
| 2018 | 27 | Sporting KC | 1 League | 24.2 | 10 | 71 | 31 | 43.7 | 2.93 | 1.28 | 0.13 | 0.29 | 1 | 1 | |
| 2019 | 28 | Sporting KC | 1 League | 23.5 | 9 | 56 | 22 | 39.3 | 2.39 | 0.94 | 0.16 | 0.41 | 0 | 0 | |
| 2020 | 29 | Sporting KC | 1 League | 16.9 | 6 | 51 | 18 | 35.3 | 3.01 | 1.06 | 0.12 | 0.33 | 0 | 0 | |
| 2021 | 30 | Sporting KC | 1 League | 24.7 | 15 | 69 | 33 | 47.8 | 2.80 | 1.34 | 0.17 | 0.36 | 3 | 3 | |
| 2022 | 31 | Sporting KC | 2 Leagues | 33.5 | 10 | 82 | 30 | 36.6 | 2.45 | 0.90 | 0.07 | 0.20 | 4 | 5 | |
| 2023 | 32 | Sporting KC | 2 Leagues | 21.2 | 9 | 40 | 17 | 42.5 | 2.13 | 0.91 | 0.18 | 0.41 | 1 | 1 | |
| 2024 | 33 | Sporting KC | 3 Leagues | 25.2 | 5 | 58 | 23 | 39.7 | 2.46 | 0.97 | 0.09 | 0.22 | 0 | 1 | |
| 2025 | 34 | Real Salt Lake | 2 Leagues | 4.3 | 2 | 11 | 5 | 45.5 | 2.84 | 1.29 | 0.18 | 0.40 | 0 | 0 | |
| 2025-2026 | 35 | Dundee United | 1 League | 1.7 | 0 | 7 | 1 | 14.3 | 4.06 | 0.58 | 0.00 | 0.00 | 0 | 0 | |
| 19 Seasons | 5 Clubs | 8 Leagues | 411.5 | 134 | 484 | 354 | 44.4 | 2.25 | 0.89 | 0.13 | 0.34 | 12 | 16 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Sporting KC (7 Seasons) | 3 Leagues | 169.2 | 64 | 427 | 174 | 40.7 | 2.59 | 1.05 | 0.13 | 0.31 | 9 | 11 | |||
| Dundee United (6 Seasons) | 1 League | 83.3 | 31 | 7 | 60 | 14.3 | 4.06 | 0.72 | 0.00 | 0.48 | 2 | 2 | |||
| Derby County (5 Seasons) | 3 Leagues | 137.0 | 33 | 39 | 101 | 89.7 | 0.88 | 0.78 | 0.18 | 0.30 | 1 | 3 | |||
| Raith Rovers (1 Season) | 1 League | 17.8 | 4 | 14 | 0.79 | 0.29 | 0 | 0 | |||||||
| Real Salt Lake (1 Season) | 2 Leagues | 4.3 | 2 | 11 | 5 | 45.5 | 2.84 | 1.29 | 0.18 | 0.40 | 0 | 0 | |||
| MLS (8 Seasons) | 161.1 | 62 | 411 | 163 | 39.7 | 2.55 | 1.01 | 0.13 | 0.33 | 8 | 10 | ||||
| Premiership (6 Seasons) | 83.3 | 31 | 7 | 60 | 14.3 | 4.06 | 0.72 | 0.00 | 0.48 | 2 | 2 | ||||
| Championship (5 Seasons) | 126.5 | 30 | 34 | 97 | 91.2 | 0.82 | 0.77 | 0.18 | 0.30 | 1 | 3 | ||||
| League Cup (4 Seasons) | 7.0 | 3 | 5 | 4 | 80.0 | 2.50 | 2.00 | 0.20 | 0.25 | 0 | 0 | ||||
| FA Cup (4 Seasons) | 3.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| Leagues Cup (3 Seasons) | 4.4 | 1 | 0 | 0 | |||||||||||
| U.S. Open Cup (2 Seasons) | 7.9 | 3 | 27 | 16 | 59.3 | 3.41 | 2.02 | 0.07 | 0.13 | 1 | 1 | ||||
| First Division (1 Season) | 17.8 | 4 | 14 | 0.79 | 0.29 | 0 | 0 | ||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2006-2007 | 16 | Dundee United | sct SCO | 1. Premier League | 9th | 0.2 | 0 | 0 | 0 | ||||||||
| 2007-2008 | 17 | Dundee United | sct SCO | 1. Premier League | 5th | 0.6 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2009-2010 | 19 | Raith Rovers | sct SCO | 2. First Division | 7th | 17.8 | 4 | 14 | 0.79 | 0.29 | 0 | 0 | |||||
| 2010-2011 | 20 | Dundee United | sct SCO | 1. Premier League | 4th | 20.4 | 9 | 13 | 0.64 | 0.69 | 0 | 0 | Matches | ||||
| 2011-2012 | 21 | Dundee United | sct SCO | 1. Premier League | 4th | 31.0 | 9 | 23 | 0.74 | 0.39 | 0 | 0 | Matches | ||||
| 2012-2013 | 22 | Dundee United | sct SCO | 1. Premier League | 6th | 29.3 | 13 | 23 | 0.78 | 0.48 | 2 | 2 | Matches | ||||
| 2013-2014 | 23 | Derby County | eng ENG | 2. Championship | 3rd | 23.2 | 9 | 24 | 1.04 | 0.33 | 1 | 3 | |||||
| 2014-2015 | 24 | Derby County | eng ENG | 2. Championship | 8th | 27.6 | 6 | 19 | 0.69 | 0.32 | 0 | 0 | Matches | ||||
| 2015-2016 | 25 | Derby County | eng ENG | 2. Championship | 5th | 34.3 | 9 | 23 | 0.67 | 0.39 | 0 | 0 | Matches | ||||
| 2016-2017 | 26 | Derby County | eng ENG | 2. Championship | 9th | 27.0 | 2 | 0 | 17 | 0.00 | 0.63 | 0.12 | 0 | 0 | Matches | ||
| 2017-2018 | 27 | Derby County | eng ENG | 2. Championship | 6th | 14.4 | 4 | 34 | 14 | 41.2 | 2.36 | 0.97 | 0.12 | 0.29 | 0 | 0 | Matches |
| 2018 | 27 | Sporting KC | us USA | 1. MLS | 3rd | 24.2 | 10 | 71 | 31 | 43.7 | 2.93 | 1.28 | 0.13 | 0.29 | 1 | 1 | Matches |
| 2019 | 28 | Sporting KC | us USA | 1. MLS | 21st | 23.5 | 9 | 56 | 22 | 39.3 | 2.39 | 0.94 | 0.16 | 0.41 | 0 | 0 | Matches |
| 2020 | 29 | Sporting KC | us USA | 1. MLS | 5th | 16.9 | 6 | 51 | 18 | 35.3 | 3.01 | 1.06 | 0.12 | 0.33 | 0 | 0 | Matches |
| 2021 | 30 | Sporting KC | us USA | 1. MLS | 4th | 24.7 | 15 | 69 | 33 | 47.8 | 2.80 | 1.34 | 0.17 | 0.36 | 3 | 3 | Matches |
| 2022 | 31 | Sporting KC | us USA | 1. MLS | 23rd | 30.0 | 8 | 66 | 21 | 31.8 | 2.20 | 0.70 | 0.08 | 0.24 | 3 | 4 | Matches |
| 2023 | 32 | Sporting KC | us USA | 1. MLS | 15th | 18.7 | 8 | 40 | 17 | 42.5 | 2.13 | 0.91 | 0.18 | 0.41 | 1 | 1 | Matches |
| 2024 | 33 | Sporting KC | us USA | 1. MLS | 27th | 19.2 | 4 | 47 | 16 | 34.0 | 2.44 | 0.83 | 0.09 | 0.25 | 0 | 1 | Matches |
| 2025 | 34 | Real Salt Lake | us USA | 1. MLS | 20th | 3.9 | 2 | 11 | 5 | 45.5 | 2.84 | 1.29 | 0.18 | 0.40 | 0 | 0 | Matches |
| 2025-2026 | 35 | Dundee United | sct SCO | 1. Premiership | 7th | 1.7 | 0 | 7 | 1 | 14.3 | 4.06 | 0.58 | 0.00 | 0.00 | 0 | 0 | Matches |
| 19 Seasons | 5 Clubs | 4 Leagues | 388.7 | 127 | 452 | 334 | 43.1 | 2.21 | 0.86 | 0.13 | 0.35 | 11 | 15 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Sporting KC (7 Seasons) | 1 League | 157.2 | 60 | 400 | 158 | 39.5 | 2.54 | 1.00 | 0.13 | 0.33 | 8 | 10 | |||||
| Dundee United (6 Seasons) | 1 League | 83.3 | 31 | 7 | 60 | 14.3 | 4.06 | 0.72 | 0.00 | 0.48 | 2 | 2 | |||||
| Derby County (5 Seasons) | 1 League | 126.5 | 30 | 34 | 97 | 91.2 | 0.82 | 0.77 | 0.18 | 0.30 | 1 | 3 | |||||
| Raith Rovers (1 Season) | 1 League | 17.8 | 4 | 14 | 0.79 | 0.29 | 0 | 0 | |||||||||
| Real Salt Lake (1 Season) | 1 League | 3.9 | 2 | 11 | 5 | 45.5 | 2.84 | 1.29 | 0.18 | 0.40 | 0 | 0 | |||||
| MLS (8 Seasons) | 161.1 | 62 | 411 | 163 | 39.7 | 2.55 | 1.01 | 0.13 | 0.33 | 8 | 10 | ||||||
| Premiership (6 Seasons) | 83.3 | 31 | 7 | 60 | 14.3 | 4.06 | 0.72 | 0.00 | 0.48 | 2 | 2 | ||||||
| Championship (5 Seasons) | 126.5 | 30 | 34 | 97 | 91.2 | 0.82 | 0.77 | 0.18 | 0.30 | 1 | 3 | ||||||
| First Division (1 Season) | 17.8 | 4 | 14 | 0.79 | 0.29 | 0 | 0 | ||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 24 | Derby County | eng ENG | FA Cup | 9th | 0.5 | 0 | 0 | 0 | Matches | |||||||
| 2014-2015 | 24 | Derby County | eng ENG | League Cup | 5th | 4.0 | 2 | 0 | 0 | Matches | |||||||
| 2015-2016 | 25 | Derby County | eng ENG | FA Cup | 17th | 0.7 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 25 | Derby County | eng ENG | League Cup | 57th | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2016-2017 | 26 | Derby County | eng ENG | EFL Cup | 17th | 1.0 | 0 | 2 | 1 | 50.0 | 2.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | FA Cup | 17th | 1.4 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 27 | Derby County | eng ENG | EFL Cup | 33rd | 1.0 | 1 | 3 | 3 | 100.0 | 3.00 | 3.00 | 0.33 | 0.33 | 0 | 0 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | FA Cup | 33rd | 0.9 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022 | 31 | Sporting KC | us USA | U.S. Open Cup | 2nd | 3.5 | 2 | 16 | 9 | 56.3 | 4.53 | 2.55 | 0.06 | 0.11 | 1 | 1 | Matches |
| 2024 | 33 | Sporting KC | us USA | U.S. Open Cup | 2nd | 4.4 | 1 | 11 | 7 | 63.6 | 2.51 | 1.59 | 0.09 | 0.14 | 0 | 0 | Matches |
| 6 Seasons | 2 Clubs | 3 Leagues | 18.4 | 6 | 32 | 20 | 62.5 | 2.97 | 1.86 | 0.09 | 0.15 | 1 | 1 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Derby County (4 Seasons) | 2 Leagues | 10.5 | 3 | 5 | 4 | 80.0 | 1.75 | 1.40 | 0.20 | 0.25 | 0 | 0 | |||||
| Sporting KC (2 Seasons) | 1 League | 7.9 | 3 | 27 | 16 | 59.3 | 3.41 | 2.02 | 0.07 | 0.13 | 1 | 1 | |||||
| League Cup (4 Seasons) | 7.0 | 3 | 5 | 4 | 80.0 | 2.50 | 2.00 | 0.20 | 0.25 | 0 | 0 | ||||||
| FA Cup (4 Seasons) | 3.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||||
| U.S. Open Cup (2 Seasons) | 7.9 | 3 | 27 | 16 | 59.3 | 3.41 | 2.02 | 0.07 | 0.13 | 1 | 1 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2023 | 32 | Sporting KC | Leagues Cup | R32 | 2.4 | 1 | 0 | 0 | Matches | |||||||
| 2024 | 33 | Sporting KC | Leagues Cup | R32 | 1.6 | 0 | 0 | 0 | Matches | |||||||
| 2025 | 34 | Real Salt Lake | Leagues Cup | Lg | 0.4 | 0 | 0 | 0 | Matches | |||||||
| 3 Seasons | 2 Clubs | 1 League | 4.4 | 1 | 0 | 0 | ||||||||||
| Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Sporting KC (2 Seasons) | 1 League | 4.0 | 1 | 0 | 0 | |||||||||||
| Real Salt Lake (1 Season) | 1 League | 0.4 | 0 | 0 | 0 | |||||||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014 | 23 | sct Scotland | Friendlies (M) | 0.1 | 0 | 0 | 0 | Matches | ||||||||
| 2015 | 24 | sct Scotland | Friendlies (M) | 0.3 | 0 | 0 | 0 | Matches | ||||||||
| 2016 | 25 | sct Scotland | UEFA Euro Qualifying | 0.3 | 0 | 3 | 2 | 66.7 | 10.00 | 6.67 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2018 | 27 | sct Scotland | Friendlies (M) | 1.3 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 28 | sct Scotland | UEFA Nations League | 31st | 1.7 | 0 | 0 | 0 | Matches | |||||||
| 2021 | 30 | sct Scotland | UEFA Euro Qualifying | 2.5 | 1 | 6 | 2 | 33.3 | 2.44 | 0.81 | 0.17 | 0.50 | 0 | 0 | Matches | |
| 5 Seasons | 1 Club | 3 Leagues | 6.1 | 1 | 9 | 4 | 44.4 | 3.27 | 1.45 | 0.11 | 0.25 | 0 | 0 | |||
| Friendlies (M) (3 Seasons) | 1.7 | 0 | 0 | 0 | ||||||||||||
| UEFA Euro Qualifying (2 Seasons) | 2.8 | 1 | 9 | 4 | 44.4 | 3.27 | 1.45 | 0.11 | 0.25 | 0 | 0 | |||||
| UEFA Nations League (1 Season) | 1.7 | 0 | 0 | 0 | ||||||||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2006-2007 | 16 | Dundee United | sct SCO | 1. Premier League | 2 | 17 | 9 | 0.5 | 0.2 | 0 | 2 | |||||||||||
| 2007-2008 | 17 | Dundee United | sct SCO | 1. Premier League | 2 | 56 | 28 | 1.6 | 0.6 | 0 | 2 | |||||||||||
| 2009-2010 | 19 | Raith Rovers | sct SCO | 2. First Division | 23 | 1,602 | 70 | 49.4 | 17.8 | 18 | 5 | |||||||||||
| 2010-2011 | 20 | Dundee United | sct SCO | 1. Premier League | 30 | 1,839 | 61 | 53.8 | 20.4 | 21 | 9 | Matches | ||||||||||
| 2011-2012 | 21 | Dundee United | sct SCO | 1. Premier League | 37 | 2,794 | 76 | 81.7 | 31.0 | 33 | 4 | Matches | ||||||||||
| 2012-2013 | 22 | Dundee United | sct SCO | 1. Premier League | 32 | 2,637 | 82 | 77.1 | 29.3 | 30 | 2 | Matches | ||||||||||
| 2013-2014 | 23 | Derby County | eng ENG | 2. Championship | 39 | 2,085 | 53 | 50.4 | 23.2 | 23 | 16 | |||||||||||
| 2014-2015 | 24 | Derby County | eng ENG | 2. Championship | 39 | 2,480 | 64 | 59.9 | 27.6 | 27 | 10 | 12 | 0 | 1.54 | 43 | 26 | +17 | +0.62 | -0.03 | Matches | ||
| 2014-2015 | 24 | Derby County | eng ENG | FA Cup | 2 | 48 | 24 | 17.8 | 0.5 | 0 | 0 | 2 | 24 | 0 | 3.00 | 1 | 0 | +1 | +1.87 | +1.47 | Matches | |
| 2014-2015 | 24 | Derby County | eng ENG | League Cup | 5 | 360 | 72 | 80.0 | 4.0 | 4 | 85 | 3 | 1 | 20 | 0 | 2.40 | 9 | 5 | +4 | +1.00 | -1.00 | Matches |
| 2015-2016 | 25 | Derby County | eng ENG | 2. Championship | 45 | 3,088 | 69 | 74.6 | 34.3 | 35 | 19 | 10 | 0 | 1.70 | 51 | 26 | +25 | +0.73 | +0.90 | Matches | ||
| 2015-2016 | 25 | Derby County | eng ENG | FA Cup | 2 | 60 | 30 | 33.3 | 0.7 | 0 | 0 | 2 | 30 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | +0.75 | Matches | |
| 2015-2016 | 25 | Derby County | eng ENG | League Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | Matches | ||
| 2016-2017 | 26 | Derby County | eng ENG | 2. Championship | 36 | 2,431 | 68 | 58.7 | 27.0 | 29 | 12 | 7 | 5 | 1.58 | 36 | 28 | +8 | +0.30 | +0.51 | Matches | ||
| 2016-2017 | 26 | Derby County | eng ENG | EFL Cup | 1 | 90 | 90 | 30.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 1 | 0 | +1 | +1.00 | +2.29 | Matches | |
| 2016-2017 | 26 | Derby County | eng ENG | FA Cup | 2 | 130 | 65 | 43.3 | 1.4 | 1 | 84 | 0 | 1 | 46 | 1 | 0.50 | 2 | 3 | -1 | -0.69 | -0.69 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | 2. Championship | 23 | 1,297 | 56 | 31.3 | 14.4 | 13 | 8 | 10 | 1 | 1.83 | 19 | 13 | +6 | +0.42 | -0.09 | Matches | ||
| 2017-2018 | 27 | Derby County | eng ENG | EFL Cup | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 3 | -1 | -1.00 | -2.00 | Matches | |
| 2017-2018 | 27 | Derby County | eng ENG | FA Cup | 1 | 77 | 77 | 85.6 | 0.9 | 1 | 77 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +13.85 | Matches | |
| 2018 | 27 | Sporting KC | us USA | 1. MLS | 30 | 2,178 | 73 | 71.2 | 24.2 | 24 | 85 | 12 | 6 | 25 | 0 | 1.71 | 42 | 28 | +14 | +0.58 | -0.54 | Matches |
| 2019 | 28 | Sporting KC | us USA | 1. MLS | 28 | 2,113 | 75 | 69.1 | 23.5 | 24 | 86 | 18 | 4 | 14 | 0 | 1.18 | 37 | 48 | -11 | -0.47 | +0.20 | Matches |
| 2020 | 29 | Sporting KC | us USA | 1. MLS | 21 | 1,524 | 73 | 80.6 | 16.9 | 17 | 83 | 8 | 4 | 30 | 0 | 1.80 | 29 | 21 | +8 | +0.47 | -0.76 | Matches |
| 2021 | 30 | Sporting KC | us USA | 1. MLS | 30 | 2,221 | 74 | 72.6 | 24.7 | 26 | 84 | 20 | 4 | 12 | 3 | 1.69 | 40 | 32 | +8 | +0.32 | -0.75 | Matches |
| 2022 | 31 | Sporting KC | us USA | 1. MLS | 33 | 2,698 | 82 | 88.2 | 30.0 | 31 | 85 | 16 | 2 | 32 | 0 | 1.21 | 40 | 44 | -4 | -0.13 | +1.86 | Matches |
| 2022 | 31 | Sporting KC | us USA | U.S. Open Cup | 4 | 318 | 80 | 75.7 | 3.5 | 3 | 90 | 2 | 1 | 47 | 0 | 2.50 | 9 | 1 | +8 | +2.26 | +1.38 | Matches |
| 2023 | 32 | Sporting KC | Leagues Cup | 3 | 218 | 73 | 72.7 | 2.4 | 3 | 73 | 1 | 0 | 0 | 1.33 | 3 | 6 | -3 | -1.24 | -2.34 | Matches | ||
| 2023 | 32 | Sporting KC | us USA | 1. MLS | 25 | 1,687 | 67 | 55.1 | 18.7 | 21 | 75 | 6 | 4 | 29 | 0 | 1.29 | 27 | 26 | +1 | +0.05 | +0.32 | Matches |
| 2024 | 33 | Sporting KC | Leagues Cup | 2 | 145 | 73 | 53.7 | 1.6 | 2 | 73 | 1 | 0 | 0 | 0.00 | 1 | 3 | -2 | -1.24 | +0.20 | Matches | ||
| 2024 | 33 | Sporting KC | us USA | 1. MLS | 29 | 1,731 | 60 | 56.6 | 19.2 | 18 | 77 | 7 | 11 | 32 | 0 | 0.93 | 28 | 34 | -6 | -0.31 | +0.30 | Matches |
| 2024 | 33 | Sporting KC | us USA | U.S. Open Cup | 5 | 395 | 79 | 73.1 | 4.4 | 3 | 109 | 2 | 2 | 34 | 0 | 2.40 | 6 | 4 | +2 | +0.46 | -2.03 | Matches |
| 2025 | 34 | Real Salt Lake | Leagues Cup | 1 | 35 | 35 | 13.0 | 0.4 | 0 | 0 | 1 | 35 | 1 | 1.00 | 1 | 1 | 0 | 0.00 | -0.38 | Matches | ||
| 2025 | 34 | Real Salt Lake | us USA | 1. MLS | 12 | 348 | 29 | 11.4 | 3.9 | 4 | 57 | 0 | 8 | 15 | 10 | 0.62 | 6 | 9 | -3 | -0.78 | -0.51 | Matches |
| 2025-2026 | 35 | Dundee United | sct SCO | 1. Premiership | 7 | 155 | 22 | 4.5 | 1.7 | 1 | 67 | 0 | 6 | 15 | 0 | 1.29 | 0 | 4 | -4 | -2.32 | -2.13 | Matches |
| 19 Seasons | 5 Clubs | 8 Leagues | 553 | 37,037 | 67 | 51.9 | 411.5 | 415 | 82 | 148 | 138 | 24 | 21 | 1.48 | 436 | 369 | +67 | +0.23 | +0.20 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Sporting KC (7 Seasons) | 3 Leagues | 210 | 15,228 | 73 | 69.9 | 169.2 | 172 | 83 | 93 | 38 | 27 | 3 | 1.42 | 262 | 247 | +15 | +0.09 | +0.06 | ||||
| Dundee United (6 Seasons) | 1 League | 110 | 7,498 | 68 | 36.5 | 83.3 | 85 | 67 | 0 | 25 | 15 | 0 | 1.29 | 0 | 4 | -4 | -2.32 | -2.13 | ||||
| Derby County (5 Seasons) | 3 Leagues | 197 | 12,326 | 63 | 54.6 | 137.0 | 136 | 86 | 55 | 61 | 29 | 7 | 1.65 | 167 | 108 | +59 | +0.52 | +0.30 | ||||
| Raith Rovers (1 Season) | 1 League | 23 | 1,602 | 70 | 49.4 | 17.8 | 18 | 5 | ||||||||||||||
| Real Salt Lake (1 Season) | 2 Leagues | 13 | 383 | 29 | 11.5 | 4.3 | 4 | 57 | 0 | 9 | 17 | 11 | 0.65 | 7 | 10 | -3 | -0.70 | -0.49 | ||||
| MLS (8 Seasons) | 208 | 14,500 | 70 | 62.2 | 161.1 | 165 | 82 | 87 | 43 | 24 | 13 | 1.34 | 249 | 242 | +7 | +0.04 | +0.15 | |||||
| Premiership (6 Seasons) | 110 | 7,498 | 68 | 36.5 | 83.3 | 85 | 67 | 0 | 25 | 15 | 0 | 1.29 | 0 | 4 | -4 | -2.32 | -2.13 | |||||
| Championship (5 Seasons) | 182 | 11,381 | 63 | 55.0 | 126.5 | 127 | 49 | 55 | 6 | 1.65 | 149 | 93 | +56 | +0.54 | +0.27 | |||||||
| League Cup (4 Seasons) | 8 | 630 | 79 | 61.8 | 7.0 | 7 | 87 | 6 | 1 | 20 | 0 | 1.88 | 13 | 10 | +3 | +0.43 | +0.43 | |||||
| FA Cup (4 Seasons) | 7 | 315 | 45 | 37.5 | 3.5 | 2 | 81 | 0 | 5 | 31 | 1 | 1.43 | 5 | 5 | 0 | 0.00 | +0.34 | |||||
| Leagues Cup (3 Seasons) | 6 | 398 | 66 | 47.4 | 4.4 | 5 | 73 | 2 | 1 | 35 | 1 | 0.83 | 5 | 10 | -5 | -1.13 | -1.13 | |||||
| U.S. Open Cup (2 Seasons) | 9 | 713 | 79 | 74.3 | 7.9 | 6 | 100 | 4 | 3 | 38 | 0 | 2.44 | 15 | 5 | +10 | +1.26 | -0.56 | |||||
| First Division (1 Season) | 23 | 1,602 | 70 | 49.4 | 17.8 | 18 | 5 | |||||||||||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2006-2007 | 16 | Dundee United | 1 League | 2 | 17 | 9 | 0.5 | 0.2 | 0 | 2 | |||||||||||
| 2007-2008 | 17 | Dundee United | 1 League | 2 | 56 | 28 | 1.6 | 0.6 | 0 | 2 | |||||||||||
| 2009-2010 | 19 | Raith Rovers | 1 League | 23 | 1,602 | 70 | 49.4 | 17.8 | 18 | 5 | |||||||||||
| 2010-2011 | 20 | Dundee United | 1 League | 30 | 1,839 | 61 | 53.8 | 20.4 | 21 | 9 | |||||||||||
| 2011-2012 | 21 | Dundee United | 1 League | 37 | 2,794 | 76 | 81.7 | 31.0 | 33 | 4 | |||||||||||
| 2012-2013 | 22 | Dundee United | 1 League | 32 | 2,637 | 82 | 77.1 | 29.3 | 30 | 2 | |||||||||||
| 2013-2014 | 23 | Derby County | 1 League | 39 | 2,085 | 53 | 50.4 | 23.2 | 23 | 16 | |||||||||||
| 2014-2015 | 24 | Derby County | 3 Leagues | 46 | 2,888 | 63 | 59.4 | 32.1 | 31 | 85 | 13 | 15 | 23 | 0 | 1.70 | 53 | 31 | +22 | +0.69 | 0.00 | |
| 2015-2016 | 25 | Derby County | 3 Leagues | 48 | 3,238 | 67 | 73.4 | 36.0 | 36 | 91 | 20 | 12 | 30 | 0 | 1.66 | 54 | 30 | +24 | +0.67 | +0.90 | |
| 2016-2017 | 26 | Derby County | 3 Leagues | 39 | 2,651 | 68 | 55.9 | 29.5 | 31 | 87 | 13 | 8 | 46 | 6 | 1.56 | 39 | 31 | +8 | +0.27 | +0.57 | |
| 2017-2018 | 27 | Derby County | 3 Leagues | 25 | 1,464 | 59 | 33.2 | 16.3 | 15 | 84 | 9 | 10 | 1 | 1.68 | 21 | 16 | +5 | +0.31 | -0.15 | ||
| 2018 | 27 | Sporting KC | 1 League | 30 | 2,178 | 73 | 71.2 | 24.2 | 24 | 85 | 12 | 6 | 25 | 0 | 1.71 | 42 | 28 | +14 | +0.58 | -0.54 | |
| 2019 | 28 | Sporting KC | 1 League | 28 | 2,113 | 75 | 69.1 | 23.5 | 24 | 86 | 18 | 4 | 14 | 0 | 1.18 | 37 | 48 | -11 | -0.47 | +0.20 | |
| 2020 | 29 | Sporting KC | 1 League | 21 | 1,524 | 73 | 80.6 | 16.9 | 17 | 83 | 8 | 4 | 30 | 0 | 1.80 | 29 | 21 | +8 | +0.47 | -0.76 | |
| 2021 | 30 | Sporting KC | 1 League | 30 | 2,221 | 74 | 72.6 | 24.7 | 26 | 84 | 20 | 4 | 12 | 3 | 1.69 | 40 | 32 | +8 | +0.32 | -0.75 | |
| 2022 | 31 | Sporting KC | 2 Leagues | 37 | 3,016 | 82 | 86.7 | 33.5 | 34 | 85 | 18 | 3 | 37 | 0 | 1.35 | 49 | 45 | +4 | +0.12 | +1.48 | |
| 2023 | 32 | Sporting KC | 2 Leagues | 28 | 1,905 | 68 | 56.7 | 21.2 | 24 | 75 | 7 | 4 | 29 | 0 | 1.29 | 30 | 32 | -2 | -0.09 | +0.09 | |
| 2024 | 33 | Sporting KC | 3 Leagues | 36 | 2,271 | 63 | 58.7 | 25.2 | 23 | 81 | 10 | 13 | 32 | 0 | 1.08 | 35 | 41 | -6 | -0.24 | +0.16 | |
| 2025 | 34 | Real Salt Lake | 2 Leagues | 13 | 383 | 29 | 11.5 | 4.3 | 4 | 57 | 0 | 9 | 17 | 11 | 0.65 | 7 | 10 | -3 | -0.70 | -0.49 | |
| 2025-2026 | 35 | Dundee United | 1 League | 7 | 155 | 22 | 4.5 | 1.7 | 1 | 67 | 0 | 6 | 15 | 0 | 1.29 | 0 | 4 | -4 | -2.32 | -2.13 | |
| 19 Seasons | 5 Clubs | 8 Leagues | 553 | 37,037 | 67 | 51.9 | 411.5 | 415 | 82 | 148 | 138 | 24 | 21 | 1.48 | 436 | 369 | +67 | +0.23 | +0.20 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Sporting KC (7 Seasons) | 3 Leagues | 210 | 15,228 | 73 | 69.9 | 169.2 | 172 | 83 | 93 | 38 | 27 | 3 | 1.42 | 262 | 247 | +15 | +0.09 | +0.06 | |||
| Dundee United (6 Seasons) | 1 League | 110 | 7,498 | 68 | 36.5 | 83.3 | 85 | 67 | 0 | 25 | 15 | 0 | 1.29 | 0 | 4 | -4 | -2.32 | -2.13 | |||
| Derby County (5 Seasons) | 3 Leagues | 197 | 12,326 | 63 | 54.6 | 137.0 | 136 | 86 | 55 | 61 | 29 | 7 | 1.65 | 167 | 108 | +59 | +0.52 | +0.30 | |||
| Raith Rovers (1 Season) | 1 League | 23 | 1,602 | 70 | 49.4 | 17.8 | 18 | 5 | |||||||||||||
| Real Salt Lake (1 Season) | 2 Leagues | 13 | 383 | 29 | 11.5 | 4.3 | 4 | 57 | 0 | 9 | 17 | 11 | 0.65 | 7 | 10 | -3 | -0.70 | -0.49 | |||
| MLS (8 Seasons) | 208 | 14,500 | 70 | 62.2 | 161.1 | 165 | 82 | 87 | 43 | 24 | 13 | 1.34 | 249 | 242 | +7 | +0.04 | +0.15 | ||||
| Premiership (6 Seasons) | 110 | 7,498 | 68 | 36.5 | 83.3 | 85 | 67 | 0 | 25 | 15 | 0 | 1.29 | 0 | 4 | -4 | -2.32 | -2.13 | ||||
| Championship (5 Seasons) | 182 | 11,381 | 63 | 55.0 | 126.5 | 127 | 49 | 55 | 6 | 1.65 | 149 | 93 | +56 | +0.54 | +0.27 | ||||||
| League Cup (4 Seasons) | 8 | 630 | 79 | 61.8 | 7.0 | 7 | 87 | 6 | 1 | 20 | 0 | 1.88 | 13 | 10 | +3 | +0.43 | +0.43 | ||||
| FA Cup (4 Seasons) | 7 | 315 | 45 | 37.5 | 3.5 | 2 | 81 | 0 | 5 | 31 | 1 | 1.43 | 5 | 5 | 0 | 0.00 | +0.34 | ||||
| Leagues Cup (3 Seasons) | 6 | 398 | 66 | 47.4 | 4.4 | 5 | 73 | 2 | 1 | 35 | 1 | 0.83 | 5 | 10 | -5 | -1.13 | -1.13 | ||||
| U.S. Open Cup (2 Seasons) | 9 | 713 | 79 | 74.3 | 7.9 | 6 | 100 | 4 | 3 | 38 | 0 | 2.44 | 15 | 5 | +10 | +1.26 | -0.56 | ||||
| First Division (1 Season) | 23 | 1,602 | 70 | 49.4 | 17.8 | 18 | 5 | ||||||||||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2006-2007 | 16 | Dundee United | sct SCO | 1. Premier League | 9th | 2 | 17 | 9 | 0.5 | 0.2 | 0 | 2 | |||||||||||
| 2007-2008 | 17 | Dundee United | sct SCO | 1. Premier League | 5th | 2 | 56 | 28 | 1.6 | 0.6 | 0 | 2 | |||||||||||
| 2009-2010 | 19 | Raith Rovers | sct SCO | 2. First Division | 7th | 23 | 1,602 | 70 | 49.4 | 17.8 | 18 | 5 | |||||||||||
| 2010-2011 | 20 | Dundee United | sct SCO | 1. Premier League | 4th | 30 | 1,839 | 61 | 53.8 | 20.4 | 21 | 9 | Matches | ||||||||||
| 2011-2012 | 21 | Dundee United | sct SCO | 1. Premier League | 4th | 37 | 2,794 | 76 | 81.7 | 31.0 | 33 | 4 | Matches | ||||||||||
| 2012-2013 | 22 | Dundee United | sct SCO | 1. Premier League | 6th | 32 | 2,637 | 82 | 77.1 | 29.3 | 30 | 2 | Matches | ||||||||||
| 2013-2014 | 23 | Derby County | eng ENG | 2. Championship | 3rd | 39 | 2,085 | 53 | 50.4 | 23.2 | 23 | 16 | |||||||||||
| 2014-2015 | 24 | Derby County | eng ENG | 2. Championship | 8th | 39 | 2,480 | 64 | 59.9 | 27.6 | 27 | 10 | 12 | 0 | 1.54 | 43 | 26 | +17 | +0.62 | -0.03 | Matches | ||
| 2015-2016 | 25 | Derby County | eng ENG | 2. Championship | 5th | 45 | 3,088 | 69 | 74.6 | 34.3 | 35 | 19 | 10 | 0 | 1.70 | 51 | 26 | +25 | +0.73 | +0.90 | Matches | ||
| 2016-2017 | 26 | Derby County | eng ENG | 2. Championship | 9th | 36 | 2,431 | 68 | 58.7 | 27.0 | 29 | 12 | 7 | 5 | 1.58 | 36 | 28 | +8 | +0.30 | +0.51 | Matches | ||
| 2017-2018 | 27 | Derby County | eng ENG | 2. Championship | 6th | 23 | 1,297 | 56 | 31.3 | 14.4 | 13 | 8 | 10 | 1 | 1.83 | 19 | 13 | +6 | +0.42 | -0.09 | Matches | ||
| 2018 | 27 | Sporting KC | us USA | 1. MLS | 3rd | 30 | 2,178 | 73 | 71.2 | 24.2 | 24 | 85 | 12 | 6 | 25 | 0 | 1.71 | 42 | 28 | +14 | +0.58 | -0.54 | Matches |
| 2019 | 28 | Sporting KC | us USA | 1. MLS | 21st | 28 | 2,113 | 75 | 69.1 | 23.5 | 24 | 86 | 18 | 4 | 14 | 0 | 1.18 | 37 | 48 | -11 | -0.47 | +0.20 | Matches |
| 2020 | 29 | Sporting KC | us USA | 1. MLS | 5th | 21 | 1,524 | 73 | 80.6 | 16.9 | 17 | 83 | 8 | 4 | 30 | 0 | 1.80 | 29 | 21 | +8 | +0.47 | -0.76 | Matches |
| 2021 | 30 | Sporting KC | us USA | 1. MLS | 4th | 30 | 2,221 | 74 | 72.6 | 24.7 | 26 | 84 | 20 | 4 | 12 | 3 | 1.69 | 40 | 32 | +8 | +0.32 | -0.75 | Matches |
| 2022 | 31 | Sporting KC | us USA | 1. MLS | 23rd | 33 | 2,698 | 82 | 88.2 | 30.0 | 31 | 85 | 16 | 2 | 32 | 0 | 1.21 | 40 | 44 | -4 | -0.13 | +1.86 | Matches |
| 2023 | 32 | Sporting KC | us USA | 1. MLS | 15th | 25 | 1,687 | 67 | 55.1 | 18.7 | 21 | 75 | 6 | 4 | 29 | 0 | 1.29 | 27 | 26 | +1 | +0.05 | +0.32 | Matches |
| 2024 | 33 | Sporting KC | us USA | 1. MLS | 27th | 29 | 1,731 | 60 | 56.6 | 19.2 | 18 | 77 | 7 | 11 | 32 | 0 | 0.93 | 28 | 34 | -6 | -0.31 | +0.30 | Matches |
| 2025 | 34 | Real Salt Lake | us USA | 1. MLS | 20th | 12 | 348 | 29 | 11.4 | 3.9 | 4 | 57 | 0 | 8 | 15 | 10 | 0.62 | 6 | 9 | -3 | -0.78 | -0.51 | Matches |
| 2025-2026 | 35 | Dundee United | sct SCO | 1. Premiership | 7th | 7 | 155 | 22 | 4.5 | 1.7 | 1 | 67 | 0 | 6 | 15 | 0 | 1.29 | 0 | 4 | -4 | -2.32 | -2.13 | Matches |
| 19 Seasons | 5 Clubs | 4 Leagues | 523 | 34,981 | 67 | 51.6 | 388.7 | 395 | 82 | 136 | 128 | 23 | 19 | 1.46 | 398 | 339 | +59 | +0.22 | +0.20 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Sporting KC (7 Seasons) | 1 League | 196 | 14,152 | 72 | 69.9 | 157.2 | 161 | 82 | 87 | 35 | 26 | 3 | 1.39 | 243 | 233 | +10 | +0.06 | +0.09 | |||||
| Dundee United (6 Seasons) | 1 League | 110 | 7,498 | 68 | 36.5 | 83.3 | 85 | 67 | 0 | 25 | 15 | 0 | 1.29 | 0 | 4 | -4 | -2.32 | -2.13 | |||||
| Derby County (5 Seasons) | 1 League | 182 | 11,381 | 63 | 55.0 | 126.5 | 127 | 49 | 55 | 6 | 1.65 | 149 | 93 | +56 | +0.54 | +0.27 | |||||||
| Raith Rovers (1 Season) | 1 League | 23 | 1,602 | 70 | 49.4 | 17.8 | 18 | 5 | |||||||||||||||
| Real Salt Lake (1 Season) | 1 League | 12 | 348 | 29 | 11.4 | 3.9 | 4 | 57 | 0 | 8 | 15 | 10 | 0.62 | 6 | 9 | -3 | -0.78 | -0.51 | |||||
| MLS (8 Seasons) | 208 | 14,500 | 70 | 62.2 | 161.1 | 165 | 82 | 87 | 43 | 24 | 13 | 1.34 | 249 | 242 | +7 | +0.04 | +0.15 | ||||||
| Premiership (6 Seasons) | 110 | 7,498 | 68 | 36.5 | 83.3 | 85 | 67 | 0 | 25 | 15 | 0 | 1.29 | 0 | 4 | -4 | -2.32 | -2.13 | ||||||
| Championship (5 Seasons) | 182 | 11,381 | 63 | 55.0 | 126.5 | 127 | 49 | 55 | 6 | 1.65 | 149 | 93 | +56 | +0.54 | +0.27 | ||||||||
| First Division (1 Season) | 23 | 1,602 | 70 | 49.4 | 17.8 | 18 | 5 | ||||||||||||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 24 | Derby County | eng ENG | FA Cup | 9th | 2 | 48 | 24 | 17.8 | 0.5 | 0 | 0 | 2 | 24 | 0 | 3.00 | 1 | 0 | +1 | +1.87 | +1.47 | Matches | |
| 2014-2015 | 24 | Derby County | eng ENG | League Cup | 5th | 5 | 360 | 72 | 80.0 | 4.0 | 4 | 85 | 3 | 1 | 20 | 0 | 2.40 | 9 | 5 | +4 | +1.00 | -1.00 | Matches |
| 2015-2016 | 25 | Derby County | eng ENG | FA Cup | 17th | 2 | 60 | 30 | 33.3 | 0.7 | 0 | 0 | 2 | 30 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | +0.75 | Matches | |
| 2015-2016 | 25 | Derby County | eng ENG | League Cup | 57th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | Matches | ||
| 2016-2017 | 26 | Derby County | eng ENG | EFL Cup | 17th | 1 | 90 | 90 | 30.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 1 | 0 | +1 | +1.00 | +2.29 | Matches | |
| 2016-2017 | 26 | Derby County | eng ENG | FA Cup | 17th | 2 | 130 | 65 | 43.3 | 1.4 | 1 | 84 | 0 | 1 | 46 | 1 | 0.50 | 2 | 3 | -1 | -0.69 | -0.69 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | EFL Cup | 33rd | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 3 | -1 | -1.00 | -2.00 | Matches | |
| 2017-2018 | 27 | Derby County | eng ENG | FA Cup | 33rd | 1 | 77 | 77 | 85.6 | 0.9 | 1 | 77 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +13.85 | Matches | |
| 2022 | 31 | Sporting KC | us USA | U.S. Open Cup | 2nd | 4 | 318 | 80 | 75.7 | 3.5 | 3 | 90 | 2 | 1 | 47 | 0 | 2.50 | 9 | 1 | +8 | +2.26 | +1.38 | Matches |
| 2024 | 33 | Sporting KC | us USA | U.S. Open Cup | 2nd | 5 | 395 | 79 | 73.1 | 4.4 | 3 | 109 | 2 | 2 | 34 | 0 | 2.40 | 6 | 4 | +2 | +0.46 | -2.03 | Matches |
| 6 Seasons | 2 Clubs | 3 Leagues | 24 | 1,658 | 69 | 58.8 | 18.4 | 15 | 91 | 10 | 9 | 32 | 1 | 1.96 | 33 | 20 | +13 | +0.71 | +0.47 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Derby County (4 Seasons) | 2 Leagues | 15 | 945 | 63 | 50.8 | 10.5 | 9 | 86 | 6 | 6 | 29 | 1 | 1.67 | 18 | 15 | +3 | +0.29 | +0.48 | |||||
| Sporting KC (2 Seasons) | 1 League | 9 | 713 | 79 | 74.3 | 7.9 | 6 | 100 | 4 | 3 | 38 | 0 | 2.44 | 15 | 5 | +10 | +1.26 | -0.56 | |||||
| League Cup (4 Seasons) | 8 | 630 | 79 | 61.8 | 7.0 | 7 | 87 | 6 | 1 | 20 | 0 | 1.88 | 13 | 10 | +3 | +0.43 | +0.43 | ||||||
| FA Cup (4 Seasons) | 7 | 315 | 45 | 37.5 | 3.5 | 2 | 81 | 0 | 5 | 31 | 1 | 1.43 | 5 | 5 | 0 | 0.00 | +0.34 | ||||||
| U.S. Open Cup (2 Seasons) | 9 | 713 | 79 | 74.3 | 7.9 | 6 | 100 | 4 | 3 | 38 | 0 | 2.44 | 15 | 5 | +10 | +1.26 | -0.56 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2023 | 32 | Sporting KC | Leagues Cup | R32 | 3 | 218 | 73 | 72.7 | 2.4 | 3 | 73 | 1 | 0 | 0 | 1.33 | 3 | 6 | -3 | -1.24 | -2.34 | Matches | |
| 2024 | 33 | Sporting KC | Leagues Cup | R32 | 2 | 145 | 73 | 53.7 | 1.6 | 2 | 73 | 1 | 0 | 0 | 0.00 | 1 | 3 | -2 | -1.24 | +0.20 | Matches | |
| 2025 | 34 | Real Salt Lake | Leagues Cup | Lg | 1 | 35 | 35 | 13.0 | 0.4 | 0 | 0 | 1 | 35 | 1 | 1.00 | 1 | 1 | 0 | 0.00 | -0.38 | Matches | |
| 3 Seasons | 2 Clubs | 1 League | 6 | 398 | 66 | 47.4 | 4.4 | 5 | 73 | 2 | 1 | 35 | 1 | 0.83 | 5 | 10 | -5 | -1.13 | -1.13 | |||
| Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Sporting KC (2 Seasons) | 1 League | 5 | 363 | 73 | 63.7 | 4.0 | 5 | 73 | 2 | 0 | 0 | 0.80 | 4 | 9 | -5 | -1.24 | -0.80 | |||||
| Real Salt Lake (1 Season) | 1 League | 1 | 35 | 35 | 13.0 | 0.4 | 0 | 0 | 1 | 35 | 1 | 1.00 | 1 | 1 | 0 | 0.00 | -0.38 | |||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014 | 23 | sct Scotland | Friendlies (M) | 1 | 10 | 10 | 5.6 | 0.1 | 0 | 0 | 1 | 9 | 0 | 0.00 | 1 | 1 | 0 | 0.00 | +0.53 | Matches | ||
| 2015 | 24 | sct Scotland | Friendlies (M) | 2 | 26 | 13 | 14.4 | 0.3 | 0 | 0 | 2 | 12 | 0 | 3.00 | 1 | 0 | +1 | +3.46 | +2.88 | Matches | ||
| 2016 | 25 | sct Scotland | UEFA Euro Qualifying | 1 | 27 | 27 | 3.0 | 0.3 | 0 | 0 | 1 | 26 | 5 | 3.00 | 2 | 0 | +2 | +6.67 | +5.84 | Matches | ||
| 2018 | 27 | sct Scotland | Friendlies (M) | 2 | 113 | 57 | 20.9 | 1.3 | 1 | 91 | 1 | 1 | 22 | 2 | 0.00 | 0 | 1 | -1 | -0.80 | +0.89 | Matches | |
| 2018-2019 | 28 | sct Scotland | UEFA Nations League | 31st | 3 | 154 | 51 | 42.8 | 1.7 | 2 | 68 | 0 | 1 | 18 | 1 | 2.00 | 3 | 1 | +2 | +1.17 | -0.58 | Matches |
| 2021 | 30 | sct Scotland | UEFA Euro Qualifying | 5 | 221 | 44 | 19.4 | 2.5 | 3 | 62 | 0 | 2 | 18 | 3 | 1.20 | 3 | 3 | 0 | 0.00 | +0.29 | Matches | |
| 5 Seasons | 1 Club | 3 Leagues | 14 | 551 | 39 | 16.7 | 6.1 | 6 | 70 | 1 | 8 | 17 | 11 | 1.50 | 10 | 6 | +4 | +0.65 | +0.62 | |||
| Friendlies (M) (3 Seasons) | 5 | 149 | 30 | 16.6 | 1.7 | 1 | 94 | 1 | 4 | 14 | 2 | 1.20 | 2 | 2 | 0 | 0.00 | +0.96 | |||||
| UEFA Euro Qualifying (2 Seasons) | 6 | 248 | 41 | 12.2 | 2.8 | 3 | 62 | 0 | 3 | 20 | 8 | 1.50 | 5 | 3 | +2 | +0.73 | +0.47 | |||||
| UEFA Nations League (1 Season) | 3 | 154 | 51 | 42.8 | 1.7 | 2 | 68 | 0 | 1 | 18 | 1 | 2.00 | 3 | 1 | +2 | +1.17 | -0.58 | |||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2006-2007 | 16 | Dundee United | sct SCO | 1. Premier League | 0.2 | 0 | 0 | |||||||||||
| 2007-2008 | 17 | Dundee United | sct SCO | 1. Premier League | 0.6 | 0 | 0 | 0 | ||||||||||
| 2009-2010 | 19 | Raith Rovers | sct SCO | 2. First Division | 17.8 | 3 | 0 | |||||||||||
| 2010-2011 | 20 | Dundee United | sct SCO | 1. Premier League | 20.4 | 0 | 0 | 9 | Matches | |||||||||
| 2011-2012 | 21 | Dundee United | sct SCO | 1. Premier League | 31.0 | 2 | 1 | 22 | Matches | |||||||||
| 2012-2013 | 22 | Dundee United | sct SCO | 1. Premier League | 29.3 | 3 | 1 | 15 | Matches | |||||||||
| 2013-2014 | 23 | Derby County | eng ENG | 2. Championship | 23.2 | 1 | 0 | 17 | ||||||||||
| 2014-2015 | 24 | Derby County | eng ENG | 2. Championship | 27.6 | 3 | 0 | 22 | Matches | |||||||||
| 2014-2015 | 24 | Derby County | eng ENG | FA Cup | 0.5 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2014-2015 | 24 | Derby County | eng ENG | League Cup | 4.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 25 | Derby County | eng ENG | 2. Championship | 34.3 | 3 | 0 | 19 | Matches | |||||||||
| 2015-2016 | 25 | Derby County | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 25 | Derby County | eng ENG | League Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 26 | Derby County | eng ENG | 2. Championship | 27.0 | 2 | 0 | 0 | 16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | FA Cup | 1.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 27 | Derby County | eng ENG | 2. Championship | 14.4 | 3 | 0 | 0 | 11 | 28 | 3 | 15 | 15 | 18 | 2 | 0 | 1 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | FA Cup | 0.9 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 1 | 2 | 0 | Matches | ||
| 2018 | 27 | Sporting KC | us USA | 1. MLS | 24.2 | 3 | 0 | 0 | 15 | 36 | 5 | 93 | 17 | 19 | 3 | 0 | 0 | Matches |
| 2019 | 28 | Sporting KC | us USA | 1. MLS | 23.5 | 1 | 0 | 0 | 17 | 41 | 6 | 150 | 10 | 12 | 0 | Matches | ||
| 2020 | 29 | Sporting KC | us USA | 1. MLS | 16.9 | 3 | 0 | 0 | 15 | 27 | 0 | 102 | 17 | 8 | 0 | Matches | ||
| 2021 | 30 | Sporting KC | us USA | 1. MLS | 24.7 | 1 | 0 | 0 | 21 | 42 | 4 | 133 | 22 | 17 | 0 | Matches | ||
| 2022 | 31 | Sporting KC | us USA | 1. MLS | 30.0 | 4 | 0 | 0 | 22 | 63 | 4 | 91 | 15 | 14 | 0 | Matches | ||
| 2022 | 31 | Sporting KC | us USA | U.S. Open Cup | 3.5 | 1 | 0 | 0 | 3 | 4 | 0 | 16 | 3 | 4 | 0 | Matches | ||
| 2023 | 32 | Sporting KC | Leagues Cup | 2.4 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2023 | 32 | Sporting KC | us USA | 1. MLS | 18.7 | 1 | 1 | 0 | 16 | 42 | 4 | 90 | 17 | 8 | 0 | Matches | ||
| 2024 | 33 | Sporting KC | Leagues Cup | 1.6 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2024 | 33 | Sporting KC | us USA | 1. MLS | 19.2 | 5 | 0 | 0 | 16 | 46 | 1 | 82 | 11 | 25 | 0 | Matches | ||
| 2024 | 33 | Sporting KC | us USA | U.S. Open Cup | 4.4 | 2 | 0 | 0 | 6 | 13 | 0 | 25 | 2 | 2 | 0 | Matches | ||
| 2025 | 34 | Real Salt Lake | Leagues Cup | 0.4 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2025 | 34 | Real Salt Lake | us USA | 1. MLS | 3.9 | 1 | 0 | 0 | 6 | 6 | 0 | 12 | 2 | 3 | 0 | Matches | ||
| 2025-2026 | 35 | Dundee United | sct SCO | 1. Premiership | 1.7 | 0 | 0 | 0 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 19 Seasons | 5 Clubs | 8 Leagues | 411.5 | 42 | 3 | 0 | 270 | 354 | 27 | 822 | 132 | 132 | 5 | 0 | 1 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Sporting KC (7 Seasons) | 3 Leagues | 169.2 | 21 | 1 | 0 | 131 | 314 | 24 | 782 | 114 | 109 | 3 | 0 | 0 | ||||
| Dundee United (6 Seasons) | 1 League | 83.3 | 5 | 2 | 0 | 48 | 2 | 0 | 1 | 0 | 0 | 0 | ||||||
| Derby County (5 Seasons) | 3 Leagues | 137.0 | 12 | 0 | 0 | 85 | 32 | 3 | 27 | 16 | 20 | 2 | 0 | 1 | ||||
| Raith Rovers (1 Season) | 1 League | 17.8 | 3 | 0 | ||||||||||||||
| Real Salt Lake (1 Season) | 2 Leagues | 4.3 | 1 | 0 | 0 | 6 | 6 | 0 | 12 | 2 | 3 | 0 | ||||||
| MLS (8 Seasons) | 161.1 | 19 | 1 | 0 | 128 | 303 | 24 | 753 | 111 | 106 | 3 | 0 | 0 | |||||
| Premiership (6 Seasons) | 83.3 | 5 | 2 | 0 | 48 | 2 | 0 | 1 | 0 | 0 | 0 | |||||||
| Championship (5 Seasons) | 126.5 | 12 | 0 | 0 | 85 | 28 | 3 | 15 | 15 | 18 | 2 | 0 | 1 | |||||
| League Cup (4 Seasons) | 7.0 | 0 | 0 | 0 | 0 | 2 | 0 | 11 | 0 | 0 | 0 | 0 | 0 | |||||
| FA Cup (4 Seasons) | 3.5 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 1 | 2 | 0 | |||||||
| Leagues Cup (3 Seasons) | 4.4 | 0 | 0 | 0 | 0 | |||||||||||||
| U.S. Open Cup (2 Seasons) | 7.9 | 3 | 0 | 0 | 9 | 17 | 0 | 41 | 5 | 6 | 0 | |||||||
| First Division (1 Season) | 17.8 | 3 | 0 | |||||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2006-2007 | 16 | Dundee United | 1 League | 0.2 | 0 | 0 | |||||||||||
| 2007-2008 | 17 | Dundee United | 1 League | 0.6 | 0 | 0 | 0 | ||||||||||
| 2009-2010 | 19 | Raith Rovers | 1 League | 17.8 | 3 | 0 | |||||||||||
| 2010-2011 | 20 | Dundee United | 1 League | 20.4 | 0 | 0 | 9 | ||||||||||
| 2011-2012 | 21 | Dundee United | 1 League | 31.0 | 2 | 1 | 22 | ||||||||||
| 2012-2013 | 22 | Dundee United | 1 League | 29.3 | 3 | 1 | 15 | ||||||||||
| 2013-2014 | 23 | Derby County | 1 League | 23.2 | 1 | 0 | 17 | ||||||||||
| 2014-2015 | 24 | Derby County | 3 Leagues | 32.1 | 3 | 0 | 0 | 22 | 0 | ||||||||
| 2015-2016 | 25 | Derby County | 3 Leagues | 36.0 | 3 | 0 | 0 | 19 | 0 | ||||||||
| 2016-2017 | 26 | Derby County | 3 Leagues | 29.5 | 2 | 0 | 0 | 16 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 27 | Derby County | 3 Leagues | 16.3 | 3 | 0 | 0 | 11 | 32 | 3 | 20 | 16 | 20 | 2 | 0 | 1 | |
| 2018 | 27 | Sporting KC | 1 League | 24.2 | 3 | 0 | 0 | 15 | 36 | 5 | 93 | 17 | 19 | 3 | 0 | 0 | |
| 2019 | 28 | Sporting KC | 1 League | 23.5 | 1 | 0 | 0 | 17 | 41 | 6 | 150 | 10 | 12 | 0 | |||
| 2020 | 29 | Sporting KC | 1 League | 16.9 | 3 | 0 | 0 | 15 | 27 | 0 | 102 | 17 | 8 | 0 | |||
| 2021 | 30 | Sporting KC | 1 League | 24.7 | 1 | 0 | 0 | 21 | 42 | 4 | 133 | 22 | 17 | 0 | |||
| 2022 | 31 | Sporting KC | 2 Leagues | 33.5 | 5 | 0 | 0 | 25 | 67 | 4 | 107 | 18 | 18 | 0 | |||
| 2023 | 32 | Sporting KC | 2 Leagues | 21.2 | 1 | 1 | 0 | 16 | 42 | 4 | 90 | 17 | 8 | 0 | |||
| 2024 | 33 | Sporting KC | 3 Leagues | 25.2 | 7 | 0 | 0 | 22 | 59 | 1 | 107 | 13 | 27 | 0 | |||
| 2025 | 34 | Real Salt Lake | 2 Leagues | 4.3 | 1 | 0 | 0 | 6 | 6 | 0 | 12 | 2 | 3 | 0 | |||
| 2025-2026 | 35 | Dundee United | 1 League | 1.7 | 0 | 0 | 0 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | |||
| 19 Seasons | 5 Clubs | 8 Leagues | 411.5 | 42 | 3 | 0 | 270 | 354 | 27 | 822 | 132 | 132 | 5 | 0 | 1 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Sporting KC (7 Seasons) | 3 Leagues | 169.2 | 21 | 1 | 0 | 131 | 314 | 24 | 782 | 114 | 109 | 3 | 0 | 0 | |||
| Dundee United (6 Seasons) | 1 League | 83.3 | 5 | 2 | 0 | 48 | 2 | 0 | 1 | 0 | 0 | 0 | |||||
| Derby County (5 Seasons) | 3 Leagues | 137.0 | 12 | 0 | 0 | 85 | 32 | 3 | 27 | 16 | 20 | 2 | 0 | 1 | |||
| Raith Rovers (1 Season) | 1 League | 17.8 | 3 | 0 | |||||||||||||
| Real Salt Lake (1 Season) | 2 Leagues | 4.3 | 1 | 0 | 0 | 6 | 6 | 0 | 12 | 2 | 3 | 0 | |||||
| MLS (8 Seasons) | 161.1 | 19 | 1 | 0 | 128 | 303 | 24 | 753 | 111 | 106 | 3 | 0 | 0 | ||||
| Premiership (6 Seasons) | 83.3 | 5 | 2 | 0 | 48 | 2 | 0 | 1 | 0 | 0 | 0 | ||||||
| Championship (5 Seasons) | 126.5 | 12 | 0 | 0 | 85 | 28 | 3 | 15 | 15 | 18 | 2 | 0 | 1 | ||||
| League Cup (4 Seasons) | 7.0 | 0 | 0 | 0 | 0 | 2 | 0 | 11 | 0 | 0 | 0 | 0 | 0 | ||||
| FA Cup (4 Seasons) | 3.5 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 1 | 2 | 0 | ||||||
| Leagues Cup (3 Seasons) | 4.4 | 0 | 0 | 0 | 0 | ||||||||||||
| U.S. Open Cup (2 Seasons) | 7.9 | 3 | 0 | 0 | 9 | 17 | 0 | 41 | 5 | 6 | 0 | ||||||
| First Division (1 Season) | 17.8 | 3 | 0 | ||||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2006-2007 | 16 | Dundee United | sct SCO | 1. Premier League | 9th | 0.2 | 0 | 0 | |||||||||||
| 2007-2008 | 17 | Dundee United | sct SCO | 1. Premier League | 5th | 0.6 | 0 | 0 | 0 | ||||||||||
| 2009-2010 | 19 | Raith Rovers | sct SCO | 2. First Division | 7th | 17.8 | 3 | 0 | |||||||||||
| 2010-2011 | 20 | Dundee United | sct SCO | 1. Premier League | 4th | 20.4 | 0 | 0 | 9 | Matches | |||||||||
| 2011-2012 | 21 | Dundee United | sct SCO | 1. Premier League | 4th | 31.0 | 2 | 1 | 22 | Matches | |||||||||
| 2012-2013 | 22 | Dundee United | sct SCO | 1. Premier League | 6th | 29.3 | 3 | 1 | 15 | Matches | |||||||||
| 2013-2014 | 23 | Derby County | eng ENG | 2. Championship | 3rd | 23.2 | 1 | 0 | 17 | ||||||||||
| 2014-2015 | 24 | Derby County | eng ENG | 2. Championship | 8th | 27.6 | 3 | 0 | 22 | Matches | |||||||||
| 2015-2016 | 25 | Derby County | eng ENG | 2. Championship | 5th | 34.3 | 3 | 0 | 19 | Matches | |||||||||
| 2016-2017 | 26 | Derby County | eng ENG | 2. Championship | 9th | 27.0 | 2 | 0 | 0 | 16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | 2. Championship | 6th | 14.4 | 3 | 0 | 0 | 11 | 28 | 3 | 15 | 15 | 18 | 2 | 0 | 1 | Matches |
| 2018 | 27 | Sporting KC | us USA | 1. MLS | 3rd | 24.2 | 3 | 0 | 0 | 15 | 36 | 5 | 93 | 17 | 19 | 3 | 0 | 0 | Matches |
| 2019 | 28 | Sporting KC | us USA | 1. MLS | 21st | 23.5 | 1 | 0 | 0 | 17 | 41 | 6 | 150 | 10 | 12 | 0 | Matches | ||
| 2020 | 29 | Sporting KC | us USA | 1. MLS | 5th | 16.9 | 3 | 0 | 0 | 15 | 27 | 0 | 102 | 17 | 8 | 0 | Matches | ||
| 2021 | 30 | Sporting KC | us USA | 1. MLS | 4th | 24.7 | 1 | 0 | 0 | 21 | 42 | 4 | 133 | 22 | 17 | 0 | Matches | ||
| 2022 | 31 | Sporting KC | us USA | 1. MLS | 23rd | 30.0 | 4 | 0 | 0 | 22 | 63 | 4 | 91 | 15 | 14 | 0 | Matches | ||
| 2023 | 32 | Sporting KC | us USA | 1. MLS | 15th | 18.7 | 1 | 1 | 0 | 16 | 42 | 4 | 90 | 17 | 8 | 0 | Matches | ||
| 2024 | 33 | Sporting KC | us USA | 1. MLS | 27th | 19.2 | 5 | 0 | 0 | 16 | 46 | 1 | 82 | 11 | 25 | 0 | Matches | ||
| 2025 | 34 | Real Salt Lake | us USA | 1. MLS | 20th | 3.9 | 1 | 0 | 0 | 6 | 6 | 0 | 12 | 2 | 3 | 0 | Matches | ||
| 2025-2026 | 35 | Dundee United | sct SCO | 1. Premiership | 7th | 1.7 | 0 | 0 | 0 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 19 Seasons | 5 Clubs | 4 Leagues | 388.7 | 39 | 3 | 0 | 261 | 333 | 27 | 769 | 126 | 124 | 5 | 0 | 1 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Sporting KC (7 Seasons) | 1 League | 157.2 | 18 | 1 | 0 | 122 | 297 | 24 | 741 | 109 | 103 | 3 | 0 | 0 | |||||
| Dundee United (6 Seasons) | 1 League | 83.3 | 5 | 2 | 0 | 48 | 2 | 0 | 1 | 0 | 0 | 0 | |||||||
| Derby County (5 Seasons) | 1 League | 126.5 | 12 | 0 | 0 | 85 | 28 | 3 | 15 | 15 | 18 | 2 | 0 | 1 | |||||
| Raith Rovers (1 Season) | 1 League | 17.8 | 3 | 0 | |||||||||||||||
| Real Salt Lake (1 Season) | 1 League | 3.9 | 1 | 0 | 0 | 6 | 6 | 0 | 12 | 2 | 3 | 0 | |||||||
| MLS (8 Seasons) | 161.1 | 19 | 1 | 0 | 128 | 303 | 24 | 753 | 111 | 106 | 3 | 0 | 0 | ||||||
| Premiership (6 Seasons) | 83.3 | 5 | 2 | 0 | 48 | 2 | 0 | 1 | 0 | 0 | 0 | ||||||||
| Championship (5 Seasons) | 126.5 | 12 | 0 | 0 | 85 | 28 | 3 | 15 | 15 | 18 | 2 | 0 | 1 | ||||||
| First Division (1 Season) | 17.8 | 3 | 0 | ||||||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2014-2015 | 24 | Derby County | eng ENG | FA Cup | 9th | 0.5 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2014-2015 | 24 | Derby County | eng ENG | League Cup | 5th | 4.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 25 | Derby County | eng ENG | FA Cup | 17th | 0.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 25 | Derby County | eng ENG | League Cup | 57th | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 26 | Derby County | eng ENG | EFL Cup | 17th | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 26 | Derby County | eng ENG | FA Cup | 17th | 1.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 27 | Derby County | eng ENG | EFL Cup | 33rd | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 27 | Derby County | eng ENG | FA Cup | 33rd | 0.9 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 1 | 2 | 0 | Matches | ||
| 2022 | 31 | Sporting KC | us USA | U.S. Open Cup | 2nd | 3.5 | 1 | 0 | 0 | 3 | 4 | 0 | 16 | 3 | 4 | 0 | Matches | ||
| 2024 | 33 | Sporting KC | us USA | U.S. Open Cup | 2nd | 4.4 | 2 | 0 | 0 | 6 | 13 | 0 | 25 | 2 | 2 | 0 | Matches | ||
| 6 Seasons | 2 Clubs | 3 Leagues | 18.4 | 3 | 0 | 0 | 9 | 21 | 0 | 53 | 6 | 8 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Derby County (4 Seasons) | 2 Leagues | 10.5 | 0 | 0 | 0 | 0 | 4 | 0 | 12 | 1 | 2 | 0 | 0 | 0 | |||||
| Sporting KC (2 Seasons) | 1 League | 7.9 | 3 | 0 | 0 | 9 | 17 | 0 | 41 | 5 | 6 | 0 | |||||||
| League Cup (4 Seasons) | 7.0 | 0 | 0 | 0 | 0 | 2 | 0 | 11 | 0 | 0 | 0 | 0 | 0 | ||||||
| FA Cup (4 Seasons) | 3.5 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 1 | 2 | 0 | ||||||||
| U.S. Open Cup (2 Seasons) | 7.9 | 3 | 0 | 0 | 9 | 17 | 0 | 41 | 5 | 6 | 0 | ||||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2023 | 32 | Sporting KC | Leagues Cup | R32 | 2.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024 | 33 | Sporting KC | Leagues Cup | R32 | 1.6 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2025 | 34 | Real Salt Lake | Leagues Cup | Lg | 0.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 3 Seasons | 2 Clubs | 1 League | 4.4 | 0 | 0 | 0 | 0 | |||||||||||
| Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Sporting KC (2 Seasons) | 1 League | 4.0 | 0 | 0 | 0 | 0 | ||||||||||||
| Real Salt Lake (1 Season) | 1 League | 0.4 | 0 | 0 | 0 | 0 | ||||||||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2014 | 23 | sct Scotland | Friendlies (M) | 0.1 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2015 | 24 | sct Scotland | Friendlies (M) | 0.3 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2016 | 25 | sct Scotland | UEFA Euro Qualifying | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | Matches | |
| 2018 | 27 | sct Scotland | Friendlies (M) | 1.3 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2018-2019 | 28 | sct Scotland | UEFA Nations League | 31st | 1.7 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2021 | 30 | sct Scotland | UEFA Euro Qualifying | 2.5 | 0 | 0 | 0 | 3 | 6 | 0 | 3 | 1 | 2 | 0 | 0 | 0 | Matches | |
| 5 Seasons | 1 Club | 3 Leagues | 6.1 | 1 | 0 | 0 | 3 | 6 | 0 | 4 | 2 | 2 | 0 | 0 | 0 | |||
| Friendlies (M) (3 Seasons) | 1.7 | 0 | 0 | 0 | 0 | |||||||||||||
| UEFA Euro Qualifying (2 Seasons) | 2.8 | 0 | 0 | 0 | 3 | 6 | 0 | 4 | 2 | 2 | 0 | 0 | 0 | |||||
| UEFA Nations League (1 Season) | 1.7 | 1 | 0 | 0 | 0 | |||||||||||||
About FBref.com
FBref.com launched (June 13, 2018) with domestic league coverage for England, France, Germany, Italy, Spain, and United States. Since then we have been steadily expanding our coverage to include domestic leagues from over 40 countries as well as domestic cup, super cup and youth leagues from top European countries. We have also added coverage for major international cups such as the UEFA Champions League and Copa Libertadores.
FBref is the most complete sources for women's football data on the internet. This includes the entire history of the FIFA Women's World Cup as well as recent domestic league seasons from nine countries.
Note that player records are likely not complete for their careers. Players may come from or move to leagues we don't currently cover. This issue will go down over time, as we add new leagues and seasons.
You can sign up to receive an e-mail when new countries and features launch.
For more information, see our Launch Blog Post, the overall leagues/competition page with details on leagues and seasons we include, or our About Page. Let us know if you find an issue or have a suggestion.
FBref is one of seven Sports-Reference.com sites.

Player Club Summary