Pulling SEC filings + quote and writing the call…
| Fiscal year | FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $417M | $345M | $337M | $342M | $316M | $324M | $423M | $545M | $558M | $774M |
| Revenue growth | — | -17.3% | -2.2% | 1.3% | -7.6% | 2.6% | 30.4% | 28.9% | 2.4% | 38.8% |
| Gross profit | $135M | $113M | $112M | $114M | $105M | $101M | $128M | $171M | $196M | $269M |
| Gross margin | 32.3% | 32.8% | 33.1% | 33.4% | 33.3% | 31.1% | 30.3% | 31.4% | 35.2% | 34.8% |
| Operating income | -$25.6M | $8.02M | $10.0M | $18.0M | $13.3M | $9.86M | $22.2M | $34.6M | $35.4M | $106M |
| Operating margin | -6.1% | 2.3% | 3.0% | 5.3% | 4.2% | 3.0% | 5.2% | 6.3% | 6.3% | 13.7% |
| Net income | -$38.2M | -$3.03M | -$7.12M | $17.7M | $8.21M | $1.43M | $17.4M | $12.9M | $13.0M | $50.1M |
| Net margin | -9.2% | -0.9% | -2.1% | 5.2% | 2.6% | 0.4% | 4.1% | 2.4% | 2.3% | 6.5% |
| EPS (diluted) | -$1.12 | -$0.09 | -$0.21 | -$0.50 | $0.23 | $0.04 | $0.50 | $0.37 | $0.36 | $1.37 |
| Fiscal year | FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | $69.6M | $6.57M | $22.0M | $10.2M | $4.42M | $13.3M | $29.6M | $44.6M | $24.8M | $5.86M |
| Capital expenditures | $1.08M | $1.03M | $3.09M | $5.66M | $3.94M | $2.62M | $3.38M | $8.38M | $17.4M | $11.3M |
| Free cash flow | $68.5M | $5.54M | $18.9M | $4.57M | $476K | $10.7M | $26.3M | $36.3M | $7.46M | -$5.48M |
| Share buybacks | $188K | — | — | — | $0.00 | $5.01M | $7.02M | $0.00 | $5.00M | $0.00 |
| Dividends paid | $8.99M | $7.79M | — | — | — | — | — | — | — | — |
| Fiscal year | FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash & equivalents | $45.8M | $29.9M | $43.7M | $35.6M | $36.0M | $29.9M | $45.5M | $54.8M | $37.8M | $33.1M |
| Total assets | $499M | $439M | $393M | $409M | $419M | $416M | $505M | $600M | $760M | $894M |
| Total liabilities | $309M | $252M | $214M | $216M | $216M | $210M | $287M | $363M | $508M | $571M |
| Long-term debt | $114M | $104M | $74.5M | $63.0M | $69.5M | $61.6M | $108M | $127M | $217M | $211M |
| Shareholders' equity | $190M | $187M | $179M | $193M | $203M | $205M | $213M | $233M | $248M | $318M |
| Retained earnings | -$41.7M | -$52.7M | -$59.4M | -$46.3M | -$38.1M | -$36.7M | -$19.3M | -$6.39M | $6.57M | $56.6M |
| Shares (wtd avg diluted) | 34.0M | 34.4M | 34.7M | 35.5M | 35.5M | 35.6M | 35.0M | 35.3M | 36.4M | 36.6M |
Every figure is extracted from CECO ENVIRONMENTAL CORP’s annual reports as filed with the SEC (XBRL company facts) — no third-party estimates. Fiscal years are labeled by period end; filers occasionally re-tag concepts, so a sparse cell means the company didn’t report that concept for that year. Free cash flow = operating cash flow − capital expenditures.
Research and education only — not financial advice. TENKis not a registered investment adviser or broker-dealer and gives no personalized advice. Every call is impersonal — identical for all users, generated on a schedule from SEC filings plus a delayed/third-party price feed — may be wrong or out of date, and is not a recommendation to buy or sell any security. The operator and an affiliated trading operation may hold or trade the securities TENK rates; see Disclosures. Past performance does not guarantee future results. Do your own research.