Custom Truck One Source (CTOS) Gross Profit (2018 - 2026)
Custom Truck One Source (CTOS) posted Gross Profit of $123.97 million for Q2 2026, up 20.9% from $102.54 million a year earlier and up 20.3% from the prior quarter.
Custom Truck One Source (CTOS) Gross Profit (2018 - 2026) Analysis & Trends
For the trailing twelve months through Jun 30, 2026, Gross Profit at Custom Truck One Source was $450.85 million, up 13.2% year-over-year; for FY2025, it came in at $411.89 million, up 5.5% from FY2024.
- Annual Gross Profit shows a five-year compound annual growth rate of 40.1% (FY2020 to FY2025).
- In prior years, Custom Truck One Source's Gross Profit was $390.27 million in FY2024 (-14.1%), $454.26 million in FY2023 (+18.4%), $383.75 million in FY2022 (+82.7%) and $210.01 million in FY2021 (+174.7%).
- The Q2 2026 figure stands as the highest quarterly Gross Profit since Q4 2023.
- On a year-over-year basis, Gross Profit has increased in each of the last five quarters, with growth averaging 5.4% over the last eight quarters.
- The strongest year-over-year quarter for Gross Profit in the past five years was Q1 2022, with growth of 317.9%; the weakest was Q2 2024, with a decline of 19.3%.
- According to Business Quant data, Gross Profit for the three prior quarters was $103.06 million (Q1 2026), $123.06 million (Q4 2025) and $100.75 million (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) |
|---|---|---|---|---|
| 1 | United Rentals | 66.79 Bn | 65.55 Bn | 1.73 Bn |
| 2 | W.W. Grainger | 63.72 Bn | 61.32 Bn | 1.98 Bn |
| 3 | Fastenal | 60.28 Bn | 59.28 Bn | 1.10 Bn |
| 4 | Ferguson Enterprises | 44.38 Bn | 41.59 Bn | 2.32 Bn |
| 5 | Sunbelt Rentals Holdings | 32.28 Bn | 32.16 Bn | 1.25 Bn |
| 6 | Reliance | 21.45 Bn | 20.49 Bn | 1.30 Bn |
| 7 | Wesco International | 17.03 Bn | 14.34 Bn | 1.46 Bn |
| 8 | Applied Industrial Technologies | 12.67 Bn | 12.54 Bn | 411.22 Mn |
| 9 | Avantor | 11.71 Bn | 10.50 Bn | 537.00 Mn |
| 10 | Custom Truck One Source | 2.12 Bn | 2.08 Bn | 123.97 Mn |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 123.97 Mn |
| Mar 31, 2026 | 103.06 Mn |
| Dec 31, 2025 | 123.06 Mn |
| Sep 30, 2025 | 100.75 Mn |
| Jun 30, 2025 | 102.54 Mn |
| Mar 31, 2025 | 85.54 Mn |
| Dec 31, 2024 | 118.47 Mn |
| Sep 30, 2024 | 91.83 Mn |
| Jun 30, 2024 | 89.27 Mn |
| Mar 31, 2024 | 90.71 Mn |
| Dec 31, 2023 | 126.82 Mn |
| Sep 30, 2023 | 107.16 Mn |
| Jun 30, 2023 | 110.62 Mn |
| Mar 31, 2023 | 109.66 Mn |
| Dec 31, 2022 | 128.33 Mn |
| Sep 30, 2022 | 88.17 Mn |
| Jun 30, 2022 | 82.76 Mn |
| Mar 31, 2022 | 84.49 Mn |
| Dec 31, 2021 | 77.85 Mn |
| Sep 30, 2021 | 65.25 Mn |
Custom Truck One Source Gross Profit 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=gross-profit&ticker=CTOS&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "gross-profit", "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=gross-profit&ticker=CTOS&period=max&api_key=YOUR_API_KEY");
const data = await res.json();