Ceco Environmental (CECO) Consolidated Net Income (2009 - 2026)
Ceco Environmental (CECO) recorded Consolidated Net Income of -$1.91 million in Q3 2026, compared with $1.81 million a year earlier.
Ceco Environmental (CECO) Consolidated Net Income (2009 - 2026) Analysis & Trends
On a TTM basis, Ceco Environmental's Consolidated Net Income came in at -$31.9 million as of Sep 30, 2026; for FY2025, it came in at $53.11 million, up 268.3% from FY2024.
- Annual Consolidated Net Income has a five-year compound annual growth rate of 45.4% (FY2020 to FY2025).
- Across earlier years, Consolidated Net Income came in at $14.42 million in FY2024 (-0.6%), $14.5 million in FY2023 (-20.6%), $18.26 million in FY2022 (+821.0%) and $1.98 million in FY2021 (-75.7%).
- Quarterly Consolidated Net Income has ranged from -$34.49 million in Q2 2026 to $36.44 million in Q1 2025 over the past five years.
- On a year-over-year basis, Consolidated Net Income rose in two of the last four quarters, with growth averaging 21.5%.
- Peak year-over-year performance for Consolidated Net Income in the last five years was growth of 470.8% in Q4 2022, against a decline of 49.4% in Q4 2023 at the low end.
- Per Business Quant, the preceding three quarters came in at -$34.49 million (Q2 2026), -$248,000 (Q1 2026) and $4.75 million (Q4 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Consol Net Inc. (Qtr) |
|---|---|---|---|---|---|
| 1 | Ecolab | 86.73 Bn | 79.74 Bn | 2.07 Bn | 554.40 Mn |
| 2 | Veralto | 28.77 Bn | 21.41 Bn | 908.00 Mn | 253.00 Mn |
| 3 | Xylem | 21.59 Bn | 17.56 Bn | 907.00 Mn | 288.00 Mn |
| 4 | Badger Meter | 4.42 Bn | 3.83 Bn | 98.85 Mn | 35.90 Mn |
| 5 | Ceco Environmental | 3.20 Bn | 2.99 Bn | 130.10 Mn | -1.91 Mn |
| 6 | NWPX Infrastructure | 866.95 Mn | 825.03 Mn | 38.19 Mn | 18.23 Mn |
| 7 | Energy Recovery | 370.21 Mn | 32.65 Mn | 4.20 Mn | -6.33 Mn |
| 8 | Cadiz | 265.95 Mn | 231.07 Mn | -24,000.00 | -11.37 Mn |
| 9 | AirJoule Technologies | 157.70 Mn | 37.32 Mn | - | -8.53 Mn |
| 10 | LanzaTech Global | 50.39 Mn | -47.24 Mn | 1.91 Mn | -9.87 Mn |
Historic Data
| Date | Value |
|---|---|
| Sep 30, 2026 | -1.91 Mn |
| Jun 30, 2026 | -34.49 Mn |
| Mar 31, 2026 | -248,000.00 |
| Dec 31, 2025 | 4.75 Mn |
| Sep 30, 2025 | 1.81 Mn |
| Jun 30, 2025 | 10.11 Mn |
| Mar 31, 2025 | 36.44 Mn |
| Dec 31, 2024 | 4.86 Mn |
| Sep 30, 2024 | 2.54 Mn |
| Jun 30, 2024 | 4.93 Mn |
| Mar 31, 2024 | 2.09 Mn |
| Dec 31, 2023 | 4.33 Mn |
| Sep 30, 2023 | 3.71 Mn |
| Jun 30, 2023 | 3.99 Mn |
| Mar 31, 2023 | 2.47 Mn |
| Dec 31, 2022 | 8.56 Mn |
| Sep 30, 2022 | 2.17 Mn |
| Jun 30, 2022 | 4.72 Mn |
| Mar 31, 2022 | 2.81 Mn |
| Dec 31, 2021 | 1.50 Mn |
Ceco Environmental Consolidated Net Income 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=consolidated-net-income&ticker=CECO&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "consolidated-net-income", "ticker": "CECO", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=consolidated-net-income&ticker=CECO&period=max&api_key=YOUR_API_KEY");
const data = await res.json();