Canadian Pacific Kansas City (CP) Free Cash Flow (2015 - 2026)
Canadian Pacific Kansas City's Free Cash Flow came in at $699.79 million for Q2 2026, up 58.4% from $441.69 million a year earlier and up 207.6% from the prior quarter.
Canadian Pacific Kansas City (CP) Free Cash Flow (2015 - 2026) Analysis & Trends
Over the trailing twelve months to Jun 30, 2026, Canadian Pacific Kansas City reported Free Cash Flow of $1.76 billion, down 3.8% year-over-year; for FY2025, it came in at $1.58 billion, down 11.5% from FY2024.
- Free Cash Flow carries a five-year compound annual growth rate of 13.3% (FY2020 to FY2025).
- Going back by year, Free Cash Flow was $1.79 billion in FY2024 (+44.3%), $1.24 billion in FY2023 (-37.8%), $1.99 billion in FY2022 (+15.6%) and $1.72 billion in FY2021 (+103.8%).
- The Q2 2026 figure represents the highest quarterly Free Cash Flow since Q4 2022.
- Year-over-year, Free Cash Flow increased in four of the last eight quarters, with growth averaging 15.5%.
- The fastest year-over-year change in Free Cash Flow over five years came in Q4 2022 (growth of 499.3%), and the weakest in Q2 2022 (a decline of 78.9%).
- Business Quant data shows CP's Free Cash Flow at $227.51 million (Q1 2026), $527.78 million (Q4 2025) and $300.83 million (Q3 2025) in the three quarters before Q2 2026.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | FCF (Qtr) |
|---|---|---|---|---|---|
| 1 | Union Pacific | 161.62 Bn | 156.15 Bn | - | 2.20 Bn |
| 2 | Csx | 86.16 Bn | 82.37 Bn | - | 751.00 Mn |
| 3 | Canadian Pacific Kansas City | 74.78 Bn | 74.50 Bn | - | 699.79 Mn |
| 4 | United Parcel Service | 70.01 Bn | 46.94 Bn | - | 166.00 Mn |
| 5 | Norfolk Southern | 69.45 Bn | 64.09 Bn | - | 615.00 Mn |
| 6 | Fedex | 67.46 Bn | 33.40 Bn | - | 1.79 Bn |
| 7 | Delta Air Lines | 54.88 Bn | 37.06 Bn | - | 2.38 Bn |
| 8 | Old Dominion Freight Line | 36.07 Bn | 35.33 Bn | - | 195.66 Mn |
| 9 | Ryanair Holdings | 28.71 Bn | 12.72 Bn | 3.13 Bn | 551.77 Mn |
| 10 | Copart | 25.27 Bn | 9.69 Bn | 645.66 Mn | 278.73 Mn |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 699.79 Mn |
| Mar 31, 2026 | 227.51 Mn |
| Dec 31, 2025 | 527.78 Mn |
| Sep 30, 2025 | 300.83 Mn |
| Jun 30, 2025 | 441.69 Mn |
| Mar 31, 2025 | 310.13 Mn |
| Dec 31, 2024 | 688.65 Mn |
| Sep 30, 2024 | 384.12 Mn |
| Jun 30, 2024 | 343.64 Mn |
| Mar 31, 2024 | 362.15 Mn |
| Dec 31, 2023 | 466.43 Mn |
| Sep 30, 2023 | 219.30 Mn |
| Jun 30, 2023 | 196.54 Mn |
| Mar 31, 2023 | 352.10 Mn |
| Dec 31, 2022 | 870.05 Mn |
| Sep 30, 2022 | 521.39 Mn |
| Jun 30, 2022 | 264.32 Mn |
| Mar 31, 2022 | 305.53 Mn |
| Dec 31, 2021 | 145.18 Mn |
| Sep 30, 2021 | 139.82 Mn |
Canadian Pacific Kansas City Free Cash Flow API
Pull this series into your own models, spreadsheets and apps with the Business Quant
Historical Metrics API. The request below matches the chart above — change the
frequency, period or values and it follows. Swap YOUR_API_KEY for your own key.
https://data.businessquant.com/historic?slug=free-cash-flow&ticker=CP&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "free-cash-flow", "ticker": "CP", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=free-cash-flow&ticker=CP&period=max&api_key=YOUR_API_KEY");
const data = await res.json();