Xpo (XPO) Return on Capital Employed [ROCE] (2011 - 2026)
Xpo's Return on Capital Employed [ROCE] was 11.63% in Q2 2026, up 1.11 percentage points from 10.52% a year earlier and up 1.18 percentage points from the prior quarter.
Xpo (XPO) Return on Capital Employed [ROCE] (2011 - 2026) Analysis & Trends
For FY2025, Return on Capital Employed [ROCE] at Xpo came in at 10.25%, down 0.42 percentage points from FY2024.
- Return on Capital Employed [ROCE] shows a five-year change of +9.28 percentage points (FY2020 to FY2025).
- In earlier years, Return on Capital Employed [ROCE] was 10.68% in FY2024 (+2.40 pp), 8.28% in FY2023 (+1.98 pp), 6.30% in FY2022 (+3.15 pp) and 3.15% in FY2021 (+2.18 pp).
- The Q2 2026 figure marks the highest quarterly Return on Capital Employed [ROCE] in data going back to Q3 2011.
- Compared with a year earlier, Return on Capital Employed [ROCE] was higher in six of the last eight quarters, with an average year-over-year change of +1.09 percentage points.
- The best year-over-year quarter for Return on Capital Employed [ROCE] over five years was Q3 2021 (a gain of 4.05 percentage points); the worst was Q3 2023 (a drop of 0.53 percentage points).
- Per Business Quant data, XPO's Return on Capital Employed [ROCE] in the three quarters before Q2 2026 was 10.45% (Q1 2026), 9.88% (Q4 2025) and 10.19% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROCE (Qtr) |
|---|---|---|---|---|---|
| 1 | Union Pacific | 173.89 Bn | 166.14 Bn | - | 15.93% |
| 2 | Csx | 94.27 Bn | 89.49 Bn | - | 13.38% |
| 3 | United Parcel Service | 86.13 Bn | 63.03 Bn | - | 11.61% |
| 4 | Canadian Pacific Kansas City | 79.52 Bn | 78.54 Bn | - | 6.99% |
| 5 | Norfolk Southern | 74.18 Bn | 68.65 Bn | - | 9.77% |
| 6 | Fedex | 71.02 Bn | 36.96 Bn | - | 7.01% |
| 7 | Delta Air Lines | 50.26 Bn | 32.44 Bn | - | 10.05% |
| 8 | Old Dominion Freight Line | 38.08 Bn | 37.35 Bn | - | 28.03% |
| 9 | United Airlines Holdings | 31.84 Bn | -25.85 Bn | - | 8.46% |
| 10 | Xpo | 21.51 Bn | 20.33 Bn | - | 11.63% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 11.63% |
| Mar 31, 2026 | 10.45% |
| Dec 31, 2025 | 9.88% |
| Sep 30, 2025 | 10.19% |
| Jun 30, 2025 | 10.52% |
| Mar 31, 2025 | 10.78% |
| Dec 31, 2024 | 10.32% |
| Sep 30, 2024 | 10.06% |
| Jun 30, 2024 | 9.93% |
| Mar 31, 2024 | 8.74% |
| Dec 31, 2023 | 8.16% |
| Sep 30, 2023 | 6.64% |
| Jun 30, 2023 | 6.39% |
| Mar 31, 2023 | 7.81% |
| Dec 31, 2022 | 6.41% |
| Sep 30, 2022 | 7.16% |
| Jun 30, 2022 | 5.75% |
| Mar 31, 2022 | 5.62% |
| Dec 31, 2021 | 5.13% |
| Sep 30, 2021 | 4.19% |
Xpo Return on Capital Employed [ROCE] 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=return-on-capital-employed-%5Broce%5D&ticker=XPO&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-capital-employed-[roce]", "ticker": "XPO", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=return-on-capital-employed-%5Broce%5D&ticker=XPO&period=max&api_key=YOUR_API_KEY");
const data = await res.json();