Clean Harbors (CLH) Gross Margin (2009 - 2026)
Clean Harbors' Gross Margin came in at 35.09% for Q2 2026, up 1.77 percentage points from 33.32% a year earlier and up 4.57 percentage points from the prior quarter.
Clean Harbors (CLH) Gross Margin (2009 - 2026) Analysis & Trends
Over the trailing twelve months to Jun 30, 2026, Clean Harbors reported Gross Margin of 32.26%, up 1.50 percentage points year-over-year; for FY2025, it was 31.28%, up 0.30 percentage points from FY2024.
- Gross Margin carries a five-year change of -0.73 percentage points (FY2020 to FY2025).
- Going back by year, Gross Margin was 30.97% in FY2024 (+0.23 pp), 30.74% in FY2023 (-0.66 pp), 31.41% in FY2022 (-0.01 pp) and 31.42% in FY2021 (-0.59 pp).
- The Q2 2026 figure represents the highest quarterly Gross Margin in data going back to Q2 2009.
- Year-over-year, Gross Margin has increased for five consecutive quarters, with an average year-over-year change of +0.48 percentage points over the last eight quarters.
- The fastest year-over-year change in Gross Margin over five years came in Q1 2026 (a gain of 1.88 percentage points), and the weakest in Q1 2022 (a drop of 2.78 percentage points).
- Business Quant data shows CLH's Gross Margin at 30.52% (Q1 2026), 30.60% (Q4 2025) and 32.33% (Q3 2025) in the three quarters before Q2 2026.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Gross Margin (Qtr) |
|---|---|---|---|---|---|
| 1 | Waste Management | 81.64 Bn | 80.55 Bn | 2.73 Bn | 40.83% |
| 2 | Republic Services | 64.27 Bn | 63.89 Bn | 1.87 Bn | 42.14% |
| 3 | Waste Connections | 38.82 Bn | 38.45 Bn | 1.08 Bn | 42.25% |
| 4 | Clean Harbors | 16.38 Bn | 13.39 Bn | 608.78 Mn | 35.09% |
| 5 | GFL Environmental | 15.51 Bn | 13.19 Bn | 385.80 Mn | 19.81% |
| 6 | Casella Waste Systems | 5.03 Bn | 4.15 Bn | 178.80 Mn | 32.88% |
| 7 | Onterris | 470.12 Mn | 429.40 Mn | 82.26 Mn | 44.07% |
| 8 | Perma Fix Environmental Services | 331.90 Mn | 223.46 Mn | -2.50 Mn | -19.43% |
| 9 | Deep Isolation Nuclear | 182.23 Mn | 182.23 Mn | 707,000.00 | 53.60% |
| 10 | Comstock | 177.73 Mn | 181.05 Mn | -896,073.00 | -328.44% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 35.09% |
| Mar 31, 2026 | 30.52% |
| Dec 31, 2025 | 30.60% |
| Sep 30, 2025 | 32.33% |
| Jun 30, 2025 | 33.32% |
| Mar 31, 2025 | 28.64% |
| Dec 31, 2024 | 29.88% |
| Sep 30, 2024 | 30.98% |
| Jun 30, 2024 | 33.31% |
| Mar 31, 2024 | 29.46% |
| Dec 31, 2023 | 31.01% |
| Sep 30, 2023 | 30.88% |
| Jun 30, 2023 | 32.22% |
| Mar 31, 2023 | 28.75% |
| Dec 31, 2022 | 30.25% |
| Sep 30, 2022 | 33.19% |
| Jun 30, 2022 | 33.76% |
| Mar 31, 2022 | 27.86% |
| Dec 31, 2021 | 29.24% |
| Sep 30, 2021 | 32.82% |
Clean Harbors Gross 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=gross-margin&ticker=CLH&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "gross-margin", "ticker": "CLH", "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-margin&ticker=CLH&period=max&api_key=YOUR_API_KEY");
const data = await res.json();