Hurdle Test
CECO Environmental Corp.
CECO|Industrials|Pollution & Treatment Controls|Fiscal year ends December|Latest annual filing FY2025, the year ended Dec 31, 2025
$65.55
Staying power
Discipline
Revenue growthNot cleared
7.1%
a year, FY2016 to FY2025
Rule: 10-year CAGR at or above 8%
EBITDA growthNot cleared
n/m
a year, operating income plus D&A
Rule: 10-year CAGR at or above 8%
Free cash flowNot cleared
n/m
a year after stock comp; 3-year margin 1.1%
Rule: growth at or above 5%, margin at or above 10%
LeverageCleared
2.68x
net debt to EBITDA; 0.2B net debt
Rule: below 3.0x
Share countNot cleared
0.8%
a year, FY2016 to FY2025; issuance outran buybacks
Rule: flat or falling over the period
Cash marginNot cleared
-2.4%
latest free cash flow margin; 3-year average 1.1%
Rule: no more than 2% below the three-year average
Not clearedClears 1 of the four staying-power checks.FY2016 to FY2025Discipline 0 of 2Fundamentals Rating 55 (Solid)Methodology 2026-10-01.1Full analysis in Wealth Engine
Ten years of price against the hurdleMonth-end closes as traded, restated for splits
Price per shareHurdle price at the 14x exit, drawn flat from todayHurdle price at the last fiscal year-end multiple
Hurdle priceAn exhibit, not a check
$24price that returns 10% a year
over ten years, 14x exit
over ten years, 14x exit
Price vs hurdle168% above $65.55 last close
Modeled IRR at $65.55-0.7%
Exit EV/EBITDA14.0x 10-yr median 14.1x, last FYE 31.3x
EBITDA growth path12% to 4% lesser of 5-yr 26.9% and 10-yr n/m, capped at 12%
Base cash flow per share$0.24 3-yr FCF margin on the latest revenue
Year-10 sale value$57/sh less $0.2B net debt
Shares0.04B, held flat
Multiple vs own history2.23x the last fiscal year-end EV/EBITDA against the ten-year median
Priced far above its own history. The multiple is 2.2x the ten-year median. In the back-test, companies clearing the four staying-power checks and bought above 1.6x their own median lost half their value within five years 21% of the time, against 6% for the rest.
Read this as arithmetic, not advice. The hurdle price is what the stated inputs imply, and the back-test found that buying below it did not sort winners from losers. Change the exit multiple and it moves; the grid below shows by how much.
Capital allocation, FY2016 to FY2025$ billions, except shares, per-share figures and yield; fiscal years end in December
| Fiscal year | Operating cash flow | Stock comp | Capex | Free cash flow | Net borrowing | FCFE | Shares (B) | FCF per share | Year-end price | FCF yield |
|---|---|---|---|---|---|---|---|---|---|---|
| 2016 | 0.1 | 0.0 | 0.0 | 0.1 | 0.0 | 0.1 | 0.03 | $1.95 | $13.95 | 14.0% |
| 2017 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.03 | $0.11 | $5.13 | 2.1% |
| 2018 | 0.0 | 0.0 | 0.0 | 0.0 | +0.1 | 0.1 | 0.03 | $0.45 | $6.75 | 6.7% |
| 2019 | 0.0 | 0.0 | 0.0 | 0.0 | -0.0 | -0.0 | 0.04 | $0.05 | $7.66 | 0.7% |
| 2020 | 0.0 | 0.0 | 0.0 | -0.0 | +0.0 | 0.0 | 0.04 | $-0.04 | $6.96 | -0.5% |
| 2021 | 0.0 | 0.0 | 0.0 | 0.0 | -0.0 | -0.0 | 0.04 | $0.21 | $6.23 | 3.3% |
| 2022 | 0.0 | 0.0 | 0.0 | 0.0 | +0.0 | 0.1 | 0.04 | $0.64 | $11.68 | 5.5% |
| 2023 | 0.0 | 0.0 | 0.0 | 0.0 | +0.0 | 0.1 | 0.04 | $0.90 | $20.28 | 4.4% |
| 2024 | 0.0 | 0.0 | 0.0 | -0.0 | +0.1 | 0.1 | 0.04 | $-0.00 | $30.23 | -0.0% |
| 2025 | 0.0 | 0.0 | 0.0 | -0.0 | -0.0 | -0.0 | 0.04 | $-0.51 | $59.85 | -0.8% |
| 9-yr CAGR | -24.0% | 21.4% | 29.9% | n/m | n/a | n/m | 0.8% | n/m | 17.6% | avg 3.5% |
Valuation, FY2016 to FY2025$ billions; market cap uses the fiscal year-end price
| Fiscal year | Revenue | EBITDA | EBITDA margin | Debt incl. leases | Cash & securities | Market cap | Enterprise value | EV / EBITDA | Net debt / EBITDA |
|---|---|---|---|---|---|---|---|---|---|
| 2016 | 0.4 | -0.0 | -1.6% | 0.0 | 0.2 | 0 | 0 | n/m | n/m |
| 2017 | 0.3 | 0.0 | 7.0% | 0.0 | 0.2 | 0 | -0 | -0.4x | -7.72x |
| 2018 | 0.3 | 0.0 | 6.9% | 0.1 | 0.2 | 0 | 0 | 3.0x | -7.12x |
| 2019 | 0.3 | 0.0 | 8.4% | 0.1 | 0.0 | 0 | 0 | 10.9x | 1.39x |
| 2020 | 0.3 | 0.0 | 7.4% | 0.1 | 0.0 | 0 | 0 | 12.5x | 1.86x |
| 2021 | 0.3 | 0.0 | 6.1% | 0.1 | 0.0 | 0 | 0 | 13.4x | 2.17x |
| 2022 | 0.4 | 0.0 | 7.8% | 0.1 | 0.0 | 0 | 0 | 14.7x | 2.25x |
| 2023 | 0.5 | 0.0 | 8.6% | 0.1 | 0.1 | 1 | 1 | 17.1x | 1.86x |
| 2024 | 0.6 | 0.0 | 8.9% | 0.2 | 0.0 | 1 | 1 | 25.7x | 4.08x |
| 2025 | 0.8 | 0.1 | 9.9% | 0.2 | 0.0 | 2 | 2 | 31.3x | 2.68x |
| 9-yr CAGR | 7.1% | n/m | avg 6.9% | n/m | -17.8% | 18.5% | 26.9% | median 14.1x | avg 0.16x |
How much depends on the exit multipleTen-year modeled IRR by purchase price and exit EV/EBITDA
| Purchase price | 9.5x | 11.5x | 14x median | 18.5x | 30x last FYE |
|---|---|---|---|---|---|
| $24 | 5.8% | 8.0% | 10.2% | 13.4% | 19.2% |
| $49 | -1.8% | 0.3% | 2.4% | 5.4% | 10.7% |
| $59 | -3.6% | -1.6% | 0.4% | 3.4% | 8.7% |
| $66 last close | -4.8% | -2.8% | -0.7% | 2.2% | 7.4% |
| $75 | -6.0% | -4.0% | -2.0% | 0.9% | 6.0% |
Clears the 10% hurdleWithin 3 pointsBelowGrowth path and base cash flow held constant across the grid
For put sellers
$24Strikes at or below this price are at or below the model's 10% return price at the 14x exit, before any premium collected. The back-test found no edge in that line; the staying-power record above is what sorted outcomes.
$52The same hurdle if the market keeps paying the last fiscal year-end multiple of 31.3x at exit.
BetweenStrikes between the two prices are a bet that the multiple holds, not that the business grows.
Coming next. The monthly put strikes at or below the hurdle price, with premium, annualized yield and Zone Score from the options pipeline, for members. See plans
NotesWritten from the filings by rule; no forecasts
Revenue grew 7.1% a year and EBITDA n/m a year from FY2016 to FY2025, and free cash flow after stock compensation did not grow from a positive base. The share count rose 0.8% a year, so per-share figures grew more slowly than the totals. Net debt stood at 2.7x EBITDA at the last fiscal year-end. At 31x EBITDA at the last fiscal year-end against a ten-year median of 14x, the model prices the last close of $66 as a -0.7% ten-year return; the grid shows how that changes if the multiple holds.
Trend check
-2.4%Latest free cash flow margin, against a three-year average of 1.1%. The latest year is below trend, so the cash margin check is not cleared.
1%Capital spending as a share of revenue in the latest year, from 0% in FY2016. Rising capital intensity holds free cash flow back even when operating cash flow grows.
0.0BSpent on buybacks in the latest fiscal year, 0.0B on dividends; the share count rose 0.8% a year over the period.
55Wealth Engine Fundamentals Rating (Solid), as of Oct 9, 2026: Financial Health 47, Execution 76, Moat 6 of 15, Growth 12.6 of 15.
Definitions
- Free cash flow is operating cash flow less stock-based compensation less capital spending. Stock comp is treated as a real cost.
- Net borrowing is the year's change in long-term debt. FCFE adds it back to free cash flow, the classic one-page definition.
- EBITDA is operating income plus depreciation and amortization. Debt includes lease obligations; cash includes short-term investments.
- Market cap uses the fiscal year-end price as traded, restated for later splits but not for dividends; enterprise value adds debt and subtracts cash.
- Share count is the yearly change in shares outstanding over the period; flat or falling clears. Cash margin is the latest free cash flow margin against its three-year average; within two points clears.
- Hurdle price is the present value, at the hurdle rate, of ten years of modeled free cash flow per share plus a year-10 sale at the exit multiple. It is shown as an exhibit: the 2011 to 2021 back-test found that buying below it did not sort winners from losers, so it is not scored.
- Cleared on a check means the number clears the stated rule; Not cleared means it does not. Durable, Holding and First year say how many fiscal years running the company has cleared all four staying-power checks (four or more, two or three, one); Partial and Not cleared count the checks it clears today. All of it is fact about the filings, not a rating of the stock.