Custom Truck One Source (CTOS) EBITDA Margin (2018 - 2026)
Custom Truck One Source's EBITDA Margin was 20.50% in Q2 2026, up 2.13 percentage points from 18.37% a year earlier but down 1.09 percentage points from the prior quarter.
Custom Truck One Source (CTOS) EBITDA Margin (2018 - 2026) Analysis & Trends
On a trailing twelve-month basis, Custom Truck One Source's EBITDA Margin was 21.40% through Jun 30, 2026, up 1.38 percentage points year-over-year; for FY2025, it came in at 20.00%, down 0.10 percentage points from FY2024.
- EBITDA Margin shows a five-year change of -14.79 percentage points (FY2020 to FY2025).
- In earlier years, EBITDA Margin was 20.10% in FY2024 (-0.81 pp), 20.91% in FY2023 (+0.13 pp), 20.77% in FY2022 (+6.46 pp) and 14.32% in FY2021 (-20.48 pp).
- Quarterly EBITDA Margin has moved between 17.21% (Q3 2021) and 24.94% (Q4 2024) over five years.
- Compared with a year earlier, EBITDA Margin was higher in five of the last eight quarters, with an average year-over-year change of +0.90 percentage points.
- The best year-over-year quarter for EBITDA Margin over five years was Q2 2022 (a gain of 16.04 percentage points); the worst was Q3 2021 (a drop of 20.94 percentage points).
- Per Business Quant data, CTOS's EBITDA Margin in the three quarters before Q2 2026 was 21.59% (Q1 2026), 22.88% (Q4 2025) and 20.63% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | EBITDA Margin (Qtr) |
|---|---|---|---|---|---|
| 1 | United Rentals | 65.19 Bn | 63.95 Bn | 1.73 Bn | 28.53% |
| 2 | W.W. Grainger | 62.91 Bn | 60.51 Bn | 1.98 Bn | 17.39% |
| 3 | Fastenal | 59.21 Bn | 58.13 Bn | 1.06 Bn | 22.93% |
| 4 | Ferguson Enterprises | 44.15 Bn | 41.37 Bn | 2.32 Bn | 9.49% |
| 5 | Sunbelt Rentals Holdings | 31.48 Bn | 31.36 Bn | 1.25 Bn | 40.96% |
| 6 | Reliance | 21.27 Bn | 20.31 Bn | 1.30 Bn | 11.04% |
| 7 | Wesco International | 16.70 Bn | 14.02 Bn | 1.46 Bn | 6.68% |
| 8 | Applied Industrial Technologies | 12.39 Bn | 12.26 Bn | 411.22 Mn | 12.98% |
| 9 | Watsco | 11.48 Bn | 9.16 Bn | 578.93 Mn | 11.84% |
| 10 | Custom Truck One Source | 2.08 Bn | 2.04 Bn | 123.97 Mn | 20.70% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 20.70% |
| Mar 31, 2026 | 21.83% |
| Dec 31, 2025 | 23.09% |
| Sep 30, 2025 | 20.86% |
| Jun 30, 2025 | 18.60% |
| Mar 31, 2025 | 17.91% |
| Dec 31, 2024 | 25.14% |
| Sep 30, 2024 | 18.80% |
| Jun 30, 2024 | 18.18% |
| Mar 31, 2024 | 18.47% |
| Dec 31, 2023 | 21.43% |
| Sep 30, 2023 | 21.59% |
| Jun 30, 2023 | 20.93% |
| Mar 31, 2023 | 20.87% |
| Dec 31, 2022 | 21.65% |
| Sep 30, 2022 | 21.92% |
| Jun 30, 2022 | 20.49% |
| Mar 31, 2022 | 20.09% |
| Dec 31, 2021 | 20.84% |
| Sep 30, 2021 | 17.54% |
Custom Truck One Source EBITDA 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=ebitda-margin&ticker=CTOS&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "ebitda-margin", "ticker": "CTOS", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=ebitda-margin&ticker=CTOS&period=max&api_key=YOUR_API_KEY");
const data = await res.json();