Target Hospitality (TH) Return on Sales [ROS] (2018 - 2026)
Target Hospitality's Return on Sales [ROS] was -8.77% in Q2 2026, up 18.69 percentage points from -27.46% a year earlier and up 10.91 percentage points from the prior quarter.
Target Hospitality (TH) Return on Sales [ROS] (2018 - 2026) Analysis & Trends
On a trailing twelve-month basis, Target Hospitality's Return on Sales [ROS] was -11.10% through Jun 30, 2026, down 21.03 percentage points year-over-year; for FY2025, it was -10.84%, down 39.00 percentage points from FY2024.
- Return on Sales [ROS] shows a five-year change of -12.66 percentage points (FY2020 to FY2025).
- In earlier years, Return on Sales [ROS] was 28.16% in FY2024 (-14.53 pp), 42.69% in FY2023 (+7.95 pp), 34.74% in FY2022 (+22.00 pp) and 12.73% in FY2021 (+10.91 pp).
- Quarterly Return on Sales [ROS] has moved between -27.46% (Q2 2025) and 46.40% (Q3 2023) over five years.
- Compared with a year earlier, Return on Sales [ROS] was higher in 1 of the last eight quarters, with an average year-over-year change of -23.50 percentage points.
- The best year-over-year quarter for Return on Sales [ROS] over five years was Q1 2023 (a gain of 26.50 percentage points); the worst was Q2 2025 (a drop of 56.80 percentage points).
- Per Business Quant data, TH's Return on Sales [ROS] in the three quarters before Q2 2026 was -19.68% (Q1 2026), -18.74% (Q4 2025) and 0.07% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Qtr) |
|---|---|---|---|---|---|
| 1 | United Rentals | 64.44 Bn | 63.20 Bn | 1.73 Bn | 25.80% |
| 2 | W.W. Grainger | 60.37 Bn | 58.35 Bn | 1.98 Bn | 16.07% |
| 3 | Fastenal | 57.63 Bn | 56.55 Bn | 1.06 Bn | 21.02% |
| 4 | Ferguson Enterprises | 43.02 Bn | 40.24 Bn | 2.32 Bn | 8.19% |
| 5 | Sunbelt Rentals Holdings | 31.00 Bn | 30.88 Bn | 1.25 Bn | 22.18% |
| 6 | Reliance | 20.06 Bn | 19.10 Bn | 1.30 Bn | 9.54% |
| 7 | Wesco International | 18.10 Bn | 15.41 Bn | 1.46 Bn | 5.73% |
| 8 | Applied Industrial Technologies | 12.49 Bn | 12.37 Bn | 411.22 Mn | 11.78% |
| 9 | Watsco | 10.72 Bn | 8.88 Bn | 578.93 Mn | 11.32% |
| 10 | Target Hospitality | 2.05 Bn | 2.00 Bn | 15.80 Mn | -8.77% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | -8.77% |
| Mar 31, 2026 | -19.68% |
| Dec 31, 2025 | -18.74% |
| Sep 30, 2025 | 0.07% |
| Jun 30, 2025 | -27.46% |
| Mar 31, 2025 | -1.54% |
| Dec 31, 2024 | 24.86% |
| Sep 30, 2024 | 29.41% |
| Jun 30, 2024 | 29.34% |
| Mar 31, 2024 | 28.53% |
| Dec 31, 2023 | 36.58% |
| Sep 30, 2023 | 46.40% |
| Jun 30, 2023 | 45.09% |
| Mar 31, 2023 | 41.91% |
| Dec 31, 2022 | 42.12% |
| Sep 30, 2022 | 37.57% |
| Jun 30, 2022 | 34.50% |
| Mar 31, 2022 | 15.41% |
| Dec 31, 2021 | 16.74% |
| Sep 30, 2021 | 18.71% |
Target Hospitality Return on Sales [ROS] 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-sales-%5Bros%5D&ticker=TH&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "TH", "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-sales-%5Bros%5D&ticker=TH&period=max&api_key=YOUR_API_KEY");
const data = await res.json();