# Canadian Premier League records and statistics

The following is a compilation of notable Canadian Premier League records and statistics for teams and players. The Canadian Premier League includes statistics from the CPL Finals in their season totals.

## Champions

| Team | Titles | Runners-up | Seasons won | Seasons runner-up |
| Forge FC | 4 | 2 | 2019, 2020, 2022, 2023 | 2021, 2024 |
| Cavalry FC | 1 | 2 | 2024 | 2019, 2023 |
| Pacific FC | 1 | 0 | 2021 | |
| HFX Wanderers FC | 0 | 1 | | 2020 |
| Atlético Ottawa | 0 | 1 | | 2022 |

## Career player records

Statistics below are for all-time leaders and include regular season and playoffs. Goal contributions is the sum of goals and assists. Bold indicates active players. Team is the current team or for inactive players the last CPL team they played for. Current to November 9, 2024.
Appearances
Rank
Player
Team
Years
Appearances
1
Alexander Achinioti-Jönsson
Forge FC
2019–present
153
2
Kyle Bekker
Forge FC
2019–present
150
3
Marco Carducci
Cavalry FC
2019–present
145
4
Alessandro Hojabrpour
Forge FC
2019–present
141
5
Terran Campbell
Forge FC
2019–present
133
6
Tristan Borges
Forge FC
2019, 2021–present
131
7
Amer Didić
Atlético Ottawa
2019–present
130
8
Andre Rampersad
HFX Wanderers
2019–present
129
9
Manny Aparicio
Pacific FC
2019–present
128
David Choinière
Forge FC
2019–present
Hat-tricks
PlayerForAgainstResultDateRef
Rodrigo GattasYork9HFX Wanderers6–2 (H)July 27, 2019
Alejandro DíazPacific FCAtlético Ottawa4–2 (N)July 22, 2021
Tristan BorgesForge FCFC Edmonton4–3 (A)May 31, 2022
Alejandro DíazPacific FCYork United4–2 (A)July 15, 2022
Woobens PaciusForge FCFC Edmonton5–1 (H)July 19, 2022
Terran CampbellForge FCYork United4–0 (A)July 9, 2023
Woobens PaciusForge FCVancouver FC3–0 (A)September 3, 2023 :

## Club statistics
### All-time regular season table

The all-time regular season table is a cumulative record of all match results, points and goals of every team that has played in the Canadian Premier League since its inception in 2019, excluding playoffs. As of 2024 season
| Pos. | Club | Seasons | Pld | Win | Draw | Loss | GF | GA | GD | Pts | PPG | 1st | 2nd | 3rd |
| 1 | Cavalry FC | 6 | 147 | 79 | 38 | 30 | 219 | 143 | 76 | 275 | 1.87 | 3 | 2 | 1 |
| 2 | Forge FC | 6 | 147 | 76 | 29 | 42 | 228 | 147 | 81 | 257 | 1.75 | 2 | 3 | 1 |
| 3 | Pacific FC | 6 | 147 | 57 | 36 | 54 | 197 | 188 | 9 | 207 | 1.41 | – | – | 1 |
| 4 | York United FC | 6 | 147 | 50 | 41 | 56 | 183 | 190 | -17 | 191 | 1.30 | – | – | 1 |
| 5 | HFX Wanderers FC | 6 | 147 | 43 | 47 | 57 | 161 | 189 | -28 | 176 | 1.20 | – | 1 | 1 |
| 6 | Atlético Ottawa | 5 | 119 | 42 | 37 | 40 | 153 | 153 | 0 | 163 | 1.37 | 1 | – | 1 |
| 7 | Valour FC | 6 | 147 | 43 | 33 | 71 | 168 | 211 | -43 | 162 | 1.10 | – | – | - |
| 8 | FC Edmonton | 4 | 91 | 18 | 27 | 46 | 97 | 139 | -42 | 81 | 0.89 | – | – | - |
| 9 | Vancouver FC | 2 | 56 | 15 | 14 | 27 | 57 | 93 | -36 | 59 | 1.05 | – | – | - |

### All-time regular season finishing positions

| Place | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 |
| 1 | Cavalry FC | Cavalry FC | Forge FC | Atlético Ottawa | Cavalry FC | Forge FC |
| 2 | Forge FC | HFX Wanderers FC | Cavalry FC | Forge FC | Forge FC | Cavalry FC |
| 3 | York9 FC | Forge FC | Pacific FC | Cavalry FC | HFX Wanderers FC | Atlético Ottawa |
| 4 | FC Edmonton | Pacific FC | York United FC | Pacific FC | Pacific FC | York United FC |
| 5 | Pacific FC | York9 FC | Valour FC | Valour FC | York United FC | Pacific FC |
| 6 | Valour FC | Valour FC | HFX Wanderers FC | York United FC | Atlético Ottawa | HFX Wanderers FC |
| 7 | HFX Wanderers FC | Atlético Ottawa | FC Edmonton | HFX Wanderers FC | Vancouver FC | Vancouver FC |
| 8 | | FC Edmonton | Atlético Ottawa | FC Edmonton | Valour FC | Valour FC |

### Best regular season records

By season :
| Season | Winner | Pts | PPG | Playoff result |
| 2019 | Cavalry FC | 62 | 2.21 | Runner-up |
| 2020 | Conventional regular season not held | Conventional regular season not held | Conventional regular season not held | Conventional regular season not held |
| 2021 | Forge FC | 50 | 1.79 | Runner-up |
| 2022 | Atlético Ottawa | 49 | 1.75 | Runner-up |
| 2023 | Cavalry FC | 55 | 1.96 | Runner-up |
| 2024 | Forge FC | 50 | 1.79 | Runner-up |

### Post-season active streaks
#### Playoff appearances

Updated through 2024 Canadian Premier League season. This list includes the five clubs that made the post-season in 2024. For the purposes of this section, the four-team group stage in 2020 is considered to be part of the post-season.
| Club | Last miss of post-season | Length of streak |
| Cavalry FC | never (club joined in 2019) | 6 seasons |
| Forge FC | never (club joined in 2019) | 6 seasons |
| Pacific FC | 2019 | 5 seasons |
| York United FC | 2022 | 2 seasons |
| Atlético Ottawa | 2023 | 1 season |

#### Finals appearances

Updated through 2024 Canadian Premier League final. This list includes the two finalist clubs from 2024.
| Club | Last miss of finals | Length of streak |
| Forge FC | never (club joined in 2019) | 6 seasons |
| Cavalry FC | 2022 | 2 seasons |

### Post-season active droughts

† – team is no longer playing in the Canadian Premier League.

#### Playoff appearances

Updated through 2024 Canadian Premier League season. This list does not include clubs that made the post-season in that year. For the purposes of this section, the four-team group stage in 2020 is considered to be part of the post-season.
| Club | Last appearance in post-season | Length of drought |
| Valour FC | never (club joined in 2019) | 6 seasons |
| FC Edmonton † | never (club joined in 2019, folded after 2022) | 4 seasons |
| Vancouver FC | never (club joined in 2023) | 2 seasons |
| HFX Wanderers FC | 2023 | 1 season |

#### Finals appearances

Updated through 2024 Canadian Premier League final. This list does not include the clubs that qualified in that year.
| Club | Last appearance in finals | Length of drought |
| Valour FC | never (club joined in 2019) | 6 seasons |
| York United FC | never (club joined in 2019) | 6 seasons |
| FC Edmonton † | never (club joined in 2019, folded after 2022) | 4 seasons |
| HFX Wanderers FC | 2020 | 4 seasons |
| Pacific FC | 2021 | 3 seasons |
| Atlético Ottawa | 2022 | 2 seasons |
| Vancouver FC | never (club joined in 2023) | 2 seasons |

#### Championships

Updated through 2024 Canadian Premier League final. This list does not include the club that won the championship in that year.
| Club | Last championship | Length of drought |
| HFX Wanderers FC | never (club joined in 2019) | 6 seasons |
| Valour FC | never (club joined in 2019) | 6 seasons |
| York United FC | never (club joined in 2019) | 6 seasons |
| Atlético Ottawa | never (club joined in 2020) | 5 seasons |
| FC Edmonton † | never (club joined in 2019, folded after 2022) | 4 seasons |
| Pacific FC | 2021 | 3 seasons |
| Vancouver FC | never (club joined in 2023) | 2 seasons |
| Forge FC | 2023 | 1 season |

### CPL results in the Canadian Championship

Finals results by club :
| Team | Won | Lost |
| Forge FC | 0 | 1 (2020) |
Annual results :
| Season | Club(s) with best result | Final position | Eliminated by |
| 2019 | Cavalry FC | Semi-finals | Montreal Impact (MLS) |
| 2020 | Forge FC | Runner-up | Toronto FC (MLS) |
| 2021 | Forge FC | Semi-finals | CF Montréal (MLS) |
| 2021 | Pacific FC | Semi-finals | Toronto FC (MLS) |
| 2022 | York United FC | Semi-finals | Vancouver Whitecaps FC (MLS) |
| 2023 | Forge FC | Semi-finals | CF Montréal (MLS) |
| 2023 | Pacific FC | Semi-finals | Vancouver Whitecaps FC (MLS) |
| 2024 | Forge FC | Semi-finals | Toronto FC (MLS) |
| 2024 | Pacific FC | Semi-finals | Vancouver Whitecaps FC (MLS) |
* ↑ Tournament played in 2022 due to scheduling reasons related to the COVID-19 pandemic.

## Highest scoring games and largest victories
### Largest victories

| Date | Winning margin | Home team | Result | Away team |
| September 2, 2019 | 8 | Valour FC | 0–8 | Cavalry FC |
| September 15, 2020 | 5 | HFX Wanderers FC | 0–5 | Pacific FC |
| April 24, 2022 | 5 | Atlético Ottawa | 1–6 | Valour FC |
| May 13, 2023 | 5 | Vancouver FC | 0–5 | Atlético Ottawa |
| July 27, 2019 | 4 | York9 FC | 6–2 | HFX Wanderers FC |
| October 12, 2019 | 4 | York9 FC | 4–0 | Forge FC |
| October 17, 2019 | 4 | Valour FC | 0–4 | York9 FC |
| August 19, 2020 | 4 | Atlético Ottawa | 0–4 | Valour FC |
| August 25, 2021 | 4 | Forge FC | 4–0 | Atlético Ottawa |
| October 26, 2021 | 4 | Pacific FC | 5–1 | FC Edmonton |
| May 20, 2022 | 4 | HFX Wanderers FC | 0–4 | Forge FC |
| July 19, 2022 | 4 | Forge FC | 5–1 | FC Edmonton |
| July 31, 2022 | 4 | Atlético Ottawa | 0–4 | Forge FC |
| July 9, 2023 | 4 | York United FC | 0–4 | Forge FC |
| June 23, 2024 | 4 | Vancouver FC | 0–4 | HFX Wanderers FC |

### Highest scoring games

| Date | Total goals | Home team | Result | Away team |
| June 2, 2023 | 9 | Vancouver FC | 3–6 | Pacific FC |
| July 27, 2019 | 8 | York9 FC | 6–2 | HFX Wanderers FC |
| September 2, 2019 | 8 | Valour FC | 0–8 | Cavalry FC |
| October 12, 2021 | 7 | FC Edmonton | 3–4 | Atlético Ottawa |
| April 24, 2022 | 7 | Atlético Ottawa | 1–6 | Valour FC |
| May 31, 2022 | 7 | FC Edmonton | 3–4 | Forge FC |
| June 25, 2023 | 7 | Forge FC | 4–3 | Atlético Ottawa |
| June 28, 2024 | 7 | Atlético Ottawa | 4–3 | Forge FC |
| September 15, 2019 | 6 | York9 FC | 2–4 | Valour FC |
| July 21, 2021 | 6 | Pacific FC | 4–2 | Atlético Ottawa |
| September 6, 2021 | 6 | HFX Wanderers FC | 3–3 | York United FC |
| October 26, 2021 | 6 | Pacific FC | 5–1 | FC Edmonton |
| November 6, 2021 | 6 | FC Edmonton | 3–3 | Valour FC |
| June 15, 2022 | 6 | Valour FC | 2–4 | Cavalry FC |
| June 30, 2022 | 6 | Pacific FC | 3–3 | Cavalry FC |
| July 15, 2022 | 6 | York United FC | 2–4 | Pacific FC |
| July 19, 2022 | 6 | Forge FC | 5–1 | FC Edmonton |
| August 1, 2022 | 6 | HFX Wanderers FC | 2–4 | York United FC |
| July 22, 2023 | 6 | Vancouver FC | 1–5 | Cavalry FC |
| August 12, 2023 | 6 | Forge FC | 3–3 | York United FC |
| July 5, 2024 | 6 | Forge FC | 3–3 | Vancouver FC |

## CPL game streaks

Games in a row streaks for games played during the regular season and playoffs. For the purpose of these streaks only the score at full regulation time is considered. Any extra-time or penalty shoot-out wins are not credited. Bold indicates active streak. Current to November 9, 2024.

### Winning streaks

| Rank | Wins | Team | Score | Opponent | Date |
| 1 | 7 | Cavalry FC | 2–1 | York9 | May 4, 2019 |
| 1 | 7 | Cavalry FC | 1–0 | Valour FC | May 8 |
| 1 | 7 | Cavalry FC | 2–1 | Forge FC | May 12 |
| 1 | 7 | Cavalry FC | 1–0 | FC Edmonton | May 18 |
| 1 | 7 | Cavalry FC | 2–0 | HFX Wanderers FC | May 25 |
| 1 | 7 | Cavalry FC | 3–0 | FC Edmonton | June 15 |
| 1 | 7 | Cavalry FC | 2–1 | HFX Wanderers FC | June 19 |
| 2 | 6 | Forge FC | 2–0 | York United | July 8, 2022 |
| 2 | 6 | Forge FC | 5–1 | FC Edmonton | July 19 |
| 2 | 6 | Forge FC | 3–1 | Valour FC | July 23 |
| 2 | 6 | Forge FC | 2–1 | Cavalry FC | July 27 |
| 2 | 6 | Forge FC | 4–0 | Atlético Ottawa | July 31 |
| 2 | 6 | Forge FC | 1–0 | HFX Wanderers FC | August 6 |
| 3 | 5 | Forge FC | 2–0 | Valour FC | May 16, 2019 |
| 3 | 5 | Forge FC | 2–0 | York9 | May 25 |
| 3 | 5 | Forge FC | 2–0 | FC Edmonton | May 29 |
| 3 | 5 | Forge FC | 2–1 | Valour FC | June 15 |
| 3 | 5 | Forge FC | 1–0 | Cavalry FC | June 22 |
| 3 | 5 | Pacific FC | 2–1 | Cavalry FC | November 20, 2021 |
| 3 | 5 | Pacific FC | 1–0 | Forge FC | December 5 |
| 3 | 5 | Pacific FC | 2–1 | Forge FC | April 10, 2022 |
| 3 | 5 | Pacific FC | 3–2 | Valour FC | April 17 |
| 3 | 5 | Pacific FC | 2–1 | HFX Wanderers FC | April 23 |
| 3 | 5 | Cavalry FC | 2–1 | Valour FC | May 21, 2022 |
| 3 | 5 | Cavalry FC | 1–0 | York United | May 29 |
| 3 | 5 | Cavalry FC | 1–0 | HFX Wanderers FC | June 11 |
| 3 | 5 | Cavalry FC | 4–2 | Valour FC | June 15 |
| 3 | 5 | Cavalry FC | 3–1 | FC Edmonton | June 26 |
| 3 | 5 | Pacific FC | 3–2 | FC Edmonton | July 9, 2022 |
| 3 | 5 | Pacific FC | 4–2 | York United | July 15 |
| 3 | 5 | Pacific FC | 3–0 | Cavalry FC | July 22 |
| 3 | 5 | Pacific FC | 2–1 | Valour FC | July 30 |
| 3 | 5 | Pacific FC | 1–0 | Atlético Ottawa | August 13 |
| 3 | 5 | Cavalry FC | 2–1 | HFX Wanderers FC | September 12, 2023 |
| 3 | 5 | Cavalry FC | 2–1 | Vancouver FC | September 16 |
| 3 | 5 | Cavalry FC | 1–0 | York United | September 23 |
| 3 | 5 | Cavalry FC | 2–1 | Valour FC | September 29 |
| 3 | 5 | Cavalry FC | 3–0 | Pacific FC | October 7 |
| 3 | 5 | Forge FC | 2–1 | Cavalry FC | October 14, 2023 |
| 3 | 5 | Forge FC | 2–1 | Cavalry FC | October 28 |
| 3 | 5 | Forge FC | 2–1 | Cavalry FC | April 13, 2024 |
| 3 | 5 | Forge FC | 3–0 | York United | April 21 |
| 3 | 5 | Forge FC | 2–1 | Valour FC | April 27 |
| 3 | 5 | Cavalry FC | 1–0 | Vancouver FC | July 26, 2024 |
| 3 | 5 | Cavalry FC | 2–1 | Atlético Ottawa | August 3 |
| 3 | 5 | Cavalry FC | 3–2 | HFX Wanderers FC | August 10 |
| 3 | 5 | Cavalry FC | 2–1 | York United | August 16 |
| 3 | 5 | Cavalry FC | 1–0 | Pacific FC | August 24 |

## Attendance records

* Highest Attendance; 17,611, Forge FC vs York9, April 27, 2019
* Lowest Attendance; 0, 2020 Island Games

### Seasonal average attendances

Best average season's attendance for each team in bold.
| Season | Regular season average (excluding playoffs) | Regular season average (excluding playoffs) | Regular season average (excluding playoffs) | Regular season average (excluding playoffs) | Regular season average (excluding playoffs) | Regular season average (excluding playoffs) | Regular season average (excluding playoffs) | Regular season average (excluding playoffs) | Regular season average (excluding playoffs) | Regular season average (excluding playoffs) |
| Season | Atlético Ottawa | Cavalry | FC Edmonton | Forge | HFX Wanderers | Pacific | Valour | Vancouver | York United | League average |
| 2019 | – | 3,292 | 2,905 | 6,588 | 6,061 | 3,102 | 5,335 | – | 2,668 | 4,279 |
| 2020 | – | – | – | – | – | – | – | – | – | – |
| 2021 | 3,618 | 2,544 | 961 | 3,378 | 5,198 | 2,627 | 2,368 | – | 1,118 | 2,710 |
| 2022 | 4,069 | 3,492 | 1,071 | 3,631 | 5,825 | 3,178 | 3,111 | – | 1,234 | 3,197 |
| 2023 | 4,959 | 4,090 | – | 5,318 | 5,854 | 3,241 | 3,220 | 2,788 | 1,200 | 3,858 |
| 2024 | 5,483 | 4,223 | – | 5,279 | 6,058 | 3,041 | 3,106 | 3,161 | 1,499 | 3,981 |