Canadian Pacific Kansas City (CP) Operating Margin (2014 - 2026)
Canadian Pacific Kansas City's Operating Margin came in at 35.35% for Q2 2026, down 0.96 percentage points from 36.31% a year earlier but up 1.36 percentage points from the prior quarter.
Canadian Pacific Kansas City (CP) Operating Margin (2014 - 2026) Analysis & Trends
Over the trailing twelve months to Jun 30, 2026, Canadian Pacific Kansas City reported Operating Margin of 36.74%, up 0.39 percentage points year-over-year; for FY2025, it came in at 37.20%, up 1.60 percentage points from FY2024.
- Operating Margin carries a five-year change of -5.74 percentage points (FY2020 to FY2025).
- Going back by year, Operating Margin was 35.60% in FY2024 (+0.65 pp), 34.95% in FY2023 (-2.82 pp), 37.77% in FY2022 (-2.33 pp) and 40.10% in FY2021 (-2.84 pp).
- The five-year range for quarterly Operating Margin is 29.11% (Q1 2022) to 41.12% (Q4 2025).
- Year-over-year, Operating Margin increased in five of the last eight quarters, with an average year-over-year change of +0.73 percentage points.
- The fastest year-over-year change in Operating Margin over five years came in Q1 2023 (a gain of 7.48 percentage points), and the weakest in Q1 2022 (a drop of 10.71 percentage points).
- Business Quant data shows CP's Operating Margin at 33.99% (Q1 2026), 41.12% (Q4 2025) and 36.49% (Q3 2025) in the three quarters before Q2 2026.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Operating Margin (Qtr) |
|---|---|---|---|---|---|
| 1 | Union Pacific | 162.85 Bn | 157.37 Bn | - | 40.25% |
| 2 | Csx | 86.62 Bn | 82.84 Bn | - | 38.27% |
| 3 | Canadian Pacific Kansas City | 76.11 Bn | 75.83 Bn | - | 35.35% |
| 4 | United Parcel Service | 70.66 Bn | 47.58 Bn | - | 4.07% |
| 5 | Norfolk Southern | 70.32 Bn | 64.96 Bn | - | 32.44% |
| 6 | Fedex | 68.53 Bn | 34.48 Bn | - | 6.20% |
| 7 | Delta Air Lines | 55.25 Bn | 37.43 Bn | - | 9.43% |
| 8 | Old Dominion Freight Line | 36.69 Bn | 35.95 Bn | - | 29.94% |
| 9 | Ryanair Holdings | 28.78 Bn | 12.78 Bn | 3.13 Bn | 13.12% |
| 10 | Copart | 25.20 Bn | 8.75 Bn | 732.88 Mn | 37.53% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 35.35% |
| Mar 31, 2026 | 33.99% |
| Dec 31, 2025 | 41.12% |
| Sep 30, 2025 | 36.49% |
| Jun 30, 2025 | 36.31% |
| Mar 31, 2025 | 34.70% |
| Dec 31, 2024 | 40.27% |
| Sep 30, 2024 | 33.90% |
| Jun 30, 2024 | 35.17% |
| Mar 31, 2024 | 32.64% |
| Dec 31, 2023 | 38.19% |
| Sep 30, 2023 | 35.13% |
| Jun 30, 2023 | 29.74% |
| Mar 31, 2023 | 36.58% |
| Dec 31, 2022 | 40.17% |
| Sep 30, 2022 | 40.53% |
| Jun 30, 2022 | 39.42% |
| Mar 31, 2022 | 29.11% |
| Dec 31, 2021 | 40.78% |
| Sep 30, 2021 | 39.86% |
Canadian Pacific Kansas City Operating Margin 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=operating-margin&ticker=CP&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "operating-margin", "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=operating-margin&ticker=CP&period=max&api_key=YOUR_API_KEY");
const data = await res.json();