Federal Signal [FSS]
As of 2026-07-30. Spot $121.80.
Test applied and evidence:
Explicitly NOT State B. I tested it and it fails the test: municipal fleet replacement is appropriation-driven and counter-cyclical to industrial capex, and the 2020 margin held.
Explicitly NOT State C. Federal Signal is not pre-profit or thin-margin; it earns a 16% operating margin and a 14.85% ROIC.
Consequence: terminal margin built from Federal Signal's own normalised economics plus an explicit forward bridge; industry data is a sanity band. Solve for price-implied growth.
Basis: the company's own TTM filed operating margin, reconciled through the FY2025 10-K opex bridge.
TTM through Q1 2026, filed:
| $m | |
|---|---|
| FY2025 operating income | 340.9 |
| less Q1 2025 (463.8 × 14.2%) | (65.9) |
| plus Q1 2026 (625.6 × 15.9%) | 99.5 |
| TTM operating income | 374.5 |
| TTM net sales | 2,342.3 |
| TTM operating margin | 15.99% |
| line | $m | % of revenue |
|---|---|---|
| Net sales | 2,180.5 | 100.00% |
| Cost of sales | (1,549.3) | (71.05%) |
= Gross profit m_gross |
631.2 | 28.95% |
| Selling, engineering, general and administrative | (255.9) | (11.73%) |
| Amortisation expense | (18.4) | (0.84%) |
| Acquisition and integration-related expenses, net | (16.0) | (0.73%) |
| = Operating income | 340.9 | 15.63% |
Bridge closes: 28.95 − 11.73 − 0.84 − 0.73 = 15.65% (15.63% filed; 2bp of rounding) ✓
| line | FY2025 | terminal | why |
|---|---|---|---|
| Gross margin | 28.95% | 28.8% | held essentially FLAT and slightly reduced. Q1'26 printed 28.0%, down 0.2pp year over year, because acquired refuse-truck unit sales carry a lower gross margin than sweepers and because the aftermarket mix fell 2.1pp. The 24.0 → 26.1 → 28.6 → 28.95 uptrend has stopped |
| SEG&A | 11.73% | 11.5% | modest continued operating leverage on a larger revenue base; SEG&A was 12.57% in FY2024 |
| Amortisation | 0.84% | 0.9% | rises — New Way, Kinloch and Mega intangibles amortise from 2026 |
| Acquisition and integration expense | 0.73% | 0.4% | FY2024 was 0.14%; 0.73% is a heavy-deal year. Federal Signal is a serial acquirer so this never goes to zero — 0.4% is the through-cycle level |
| = terminal EBIT margin | 15.63% | 16.0% |
m_EBIT,T (16.0%) ≤ m_gross,T (28.8%) ✓ — but note the headroom is only 12.8pp, the tightest in
this cluster, against a combined SEG&A + amortisation + acquisition-expense base of 12.8%. The full
expense bridge is satisfied exactly, with no slack. This is the constraint that the framework notes
was breached elsewhere (a 14.4% terminal margin against an 11.9% gross margin); it is not breached
here, but Federal Signal has less room than XYL (23.5pp) or KGS (15.2pp).
I initially set 16.5% on the strength of Safety and Security's 25.4% Q1'26 margin and SEG&A leverage.
steady_state_check.py flagged it: TERMINAL_ABOVE_EVERY_OBSERVED_YEAR — 16.5% exceeds the
window peak. I moved it to 16.0%, equal to the TTM filed actual, and the flag cleared:
python3 steady_state_check.py --ticker FSS --terminal-margin 0.160 --exit-multiple 10.53
| output | value |
|---|---|
| 2020 margin → latest | 11.6% → 16.4% (+4.7pp) |
| terminal assumed | 16.0% |
| ROIC measured | 13.4% |
| warranted multiple at that ROIC | 8.8x |
| exit multiple used vs warranted | 1.20x |
| finding | NO_SCALING_CONTAMINATION_DETECTED |
The reason for the move is not conservatism for its own sake — the brief is explicit that reflexive conservatism is the more expensive error. The reason is the gross margin: Q1 2026's 28.0% is DOWN 0.2pp year over year, and the mix effect that caused it (acquired unit sales diluting the aftermarket share by 2.1pp) is structural and continuing. A terminal margin above every observed year would require the gross margin to resume expanding, and the most recent observation says it stopped.
16.0% is the trailing actual. It is not below it.
| input | value | source | screen agreed? |
|---|---|---|---|
| Spot | $121.80 | screen record | — |
| Shares outstanding | 61,002,256 | 10-Q cover page 2026-03-31 | ✓ exact |
| Market cap | $7,430.1m | ✓ | |
| Cash | $71.4m | 10-Q, 2026-03-31 | ✓ |
| Total debt incl. finance leases | $553.0m | LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities @ 2026-03-31 |
✗ — screen used LongTermDebt @ 2025-09-30 = $211.6m |
| Net debt | −$481.6m | screen: −$140.2m | |
| EV | $7,911.7m | screen: $7,570.3m — understated $341.4m, −4.5% | |
| Operating lease liabilities | 8.1 current + 23.1 non-current = $31.2m | 10-Q | |
| EV, all-lease-inclusive | $7,942.9m (+0.4%) | ||
| TTM revenue | $2,342.3m | four filed quarters | ✓ exact |
| TTM EBIT (filed) | $374.5m | 10-K + 10-Q | |
| Splits | none — SPLITS returned {"data": []} |
queried explicitly |
The screen's own net_cash_components field records what it did:
"debt": ["LongTermDebt@2025-09-30"]
"assets": ["CashAndCashEquivalentsAtCarryingValue@2026-03-31"]
It paired a debt figure two quarters stale with a current cash figure, and it used a tag
(LongTermDebt, last populated 2025-09-30) rather than the one Federal Signal actually keeps current
(LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities, populated at 2026-03-31).
Between those two dates Federal Signal closed New Way ($424.2m, 2025-11-25) and Kinloch ($14.9m, 2025-12-04) and Mega ($45.0m, 2026-01-16), and issued $400.0m of long-term debt. The staleness is not incidental — it excludes precisely the debt raised to buy the revenue the screen was scoring.
Magnitude: $341.4m, 4.5% of EV. Effects:
| screen | corrected | |
|---|---|---|
| EV | $7,570.3m | $7,911.7m |
| EV / TTM sales | 3.232x | 3.378x |
| EV / TTM EBIT | 20.7x | 21.13x |
Note the class. DATA_DEFECTS.md records net_cash as wrong on ~20 of 22 names hand-verified,
and records the "longTermDebt = 0 in the newest quarter only" pattern. This is a third variant:
the tag is not zero and not absent — it is simply not updated, and the scanner had no recency
assertion on the debt leg while having one on the cash leg. The net_cash_complete: true flag was
set. Completeness was checked; currency was not.
| value | |
|---|---|
| EV / TTM sales | 3.378x |
| EV / TTM EBIT | 21.13x |
| Net debt / TTM adj. EBITDA (~$455m) | 1.06x |
EV basis statement, as required: the headline EV of $7,911.7m INCLUDES finance/capital lease
obligations (the tag used is …AndCapitalLeaseObligationsIncludingCurrentMaturities) and
EXCLUDES operating leases. Adding the $31.2m of operating lease liabilities gives $7,942.9m,
+0.4% — the smallest lease adjustment in this cluster.
reverse_dcf.py was executed and its stdout is quoted below. It discounts a five-year interim FCF
stream plus a discounted terminal value at an explicit WACC. It is not the undiscounted
required-revenue-level test that CORZ and IREN substituted for a reverse DCF.
--fcf-margin — sign, magnitude, and a disagreement with our own toolFederal Signal's free cash flow is POSITIVE, so the correction direction is conservative.
normalized_fcf.py --ticker FSS --revenue-growth 0.06 returns a 4.7% steady-state margin, a
−5.7pp haircut to trailing. I did not use it, and the reason is a measurable input error: the
tool proxies maintenance capex with D&A ÷ revenue = 3.7%, against actual capex of 1.2%. The
gap is acquisition intangible amortisation — $18.4m of the FY2025 D&A is Amortization expense on
purchased customer relationships and trade names, which is not a sustaining cash cost. The tool also
takes an 8.4% operating cash margin as the 20-year median, which includes a materially different,
much smaller Federal Signal; the trailing figure is 13.6%.--fcf-margin 0.105 — trailing 12.4% haircut to 10.5%. The haircut is deliberate and
named: Federal Signal's growth requires cash acquisitions that never appear in capex. $501.0m
went out in FY2025 against $255m of operating cash flow. A model that counts only capex overstates
the cash available to shareholders in a business that buys its growth.| parameter | value |
|---|---|
| solved for | revenue CAGR |
| horizon | 5 years |
| WACC | 8.5% — low-beta municipal-demand industrial; 1.06x net leverage. Realised vol is 38.4%, which is high for the fundamentals and reflects a $7.4bn float |
| terminal margin | 16.0% |
| exit multiple | 10.53x EV/EBIT — identity-derived |
| FCF margin | +10.5% |
| revenue base | $2,342.3m |
EV_T / EBIT_T = (1−t)(1 − g/ROIC) / (WACC − g)
t = 24.0% (FY2025: 77.9 / 324.5), g = 2.5%, WACC = 8.5%, ROIC = 14.85% (NOPAT $284.6m = TTM EBIT $374.5m × 0.76; invested capital $1,916.1m = net debt $481.6m + equity $1,434.5m):
(0.76)(1 − 0.025/0.1485) / 0.060 = (0.76)(0.8316) / 0.060 = 10.53x
steady_state_check.py independently returns 8.8x at its 13.4% ROIC. I use 10.53x.
Federal Signal has by far the best returns in this cluster — 14.85% ROIC against KGS's 6.66% and Xylem's 8.80% — and it therefore earns the highest identity-warranted exit multiple. Ex-goodwill and intangibles, invested capital is $895.4m and ROIC is 31.8%.
EV implied by today's price 7,912m (3.4x current revenue)
Held fixed terminal margin=16.0%, exit multiple=10.53x
Discount rate / horizon 8.5% over 5y
>>> THE MARKET REQUIRES: revenue CAGR of 19.0%
| Required revenue CAGR | 19.0% |
| Demonstrated organic (estimated, bounded) | ~10.0% (range 9.5%–11.3%) |
| Demonstrated reported, Q1'26 YoY | 34.9% (rejected — New Way, Hog, Kinloch, Mega) |
| Demonstrated, screen's figure | 15.0% (rejected — same reason) |
| MARGIN = demonstrated − required | −9.0pp |
| Verdict | FAIL |
The demonstrated figure is an estimate and the margin inherits its uncertainty: −7.7pp at the 11.3% upper bound, −9.5pp at the 9.5% lower bound. It is a FAIL across the whole range, which is why the estimate is usable despite not being a disclosure.
| exit multiple (EV/EBIT) | required revenue CAGR | margin vs ~10.0% |
|---|---|---|
8.8x (steady_state_check warranted) |
~21% | ~−11pp |
| 10.53x (identity) | 19.0% | −9.0pp |
| 12x | 16.4% | −6.4pp |
| 15x | 11.9% | −1.9pp |
| 18x | 8.3% | +1.7pp |
| 21.13x (today's own multiple, held flat) | 5.2% | +4.8pp |
22.5x (screen's GROWTH_MATCHED anchor) |
4.0% | +6.0pp |
FSS crosses from FAIL to PASS at an exit multiple of roughly 16.5x. That is a much less punishing crossover than KGS (which needs ~23x) and it is the direct consequence of the 14.85% ROIC. Federal Signal is the only name in this cluster where the ROIC identity does not by itself condemn the price — a 21.13x current multiple against a 10.53x warranted one is a 2.0x gap, versus KGS's 3.0x.
The screen's +6.8pp PASS came from a 22.5x exit multiple drawn from a 318-name "peer" set, combined with a 15.0% demonstrated CAGR that is mostly acquired, on an EV understated by 4.5%. Three errors compounding in the same direction.
Daily EV/Sales from Alpaca split-adjusted closes against as-known annual revenue (FY revenue stepping in at its 10-K filing date), current shares and corrected net debt held constant.
Window: 2020-07-27 → 2026-07-29, n = 1,506 trading days (six years).
| EV/Sales | |
|---|---|
| min | 1.83x |
| p10 | 2.10x |
| p25 | 2.52x |
| median | 2.89x |
| p75 | 3.49x |
| p90 | 3.82x |
| max | 4.51x |
| today (true TTM revenue, corrected net debt) | 3.38x |
| today's percentile of own six-year history | 70th |
Regime-change check. Federal Signal's operating margin went 11.6% (2020) → 16.0% (TTM) over this
window and revenue doubled. The early observations describe a materially lower-margin company, so
the six-year median understates what today's business should trade at. Anchoring at the six-year
median would be the "distant-year haircut stacked on a mean-reverted multiple" that
valuation.md names as double-counted conservatism.
Trailing three-year window: median 3.49x, today's value at the 39th percentile. Trailing one-year window: median 3.88x, today's value at the 15th percentile.
Anchor used: 3.49x — the median of the trailing three years, and the p75 of the six-year series. Stated both ways so the reader can see it is the same number from two constructions.
| $m | |
|---|---|
| Consensus FY2026 revenue | 2,632.7 |
| Consensus FY2027 revenue | 2,798.4 |
| NTM (Aug'26–Jul'27), time-weighted | 2,729.4 |
| 90d ago | 30d ago | 7d ago | now | 90-day change | |
|---|---|---|---|---|---|
| FY2026 EPS | 4.7000 | 4.9700 | 4.9714 | 4.9714 | +5.8% |
| FY2027 EPS | 5.3514 | 5.5429 | 5.5486 | 5.5486 | +3.7% |
The strongest revision profile in this cluster by a wide margin — FY2026 EPS revised up 5.8% in 90 days against XYL's +1.0% and KGS's −3.0%. The whole move happened between 90 and 30 days ago (i.e. around the Q1 print on 2026-04-29) and has been flat since.
| NTM revenue | $2,729.4m |
| × 3.49x (median of trailing 3y; p75 of own 6y) | EV $9,525.6m |
| less net debt | −$481.6m |
| equity value | $9,044.0m |
| ÷ 61.002m shares | $148.26 |
| to spot ($121.80) | +21.7% |
Cross-check on earnings: $148.26 ÷ NTM EPS of $5.308 = 27.9x, against today's 22.9x.
Downside anchor from the same series: at the six-year median of 2.89x on the same NTM base the price is $121.42, −0.3% to spot. In other words, Federal Signal's own multiple history says the downside to a full six-year mean-reversion is essentially flat, and the upside to the recent three-year median is +21.7%. That asymmetry is the most favourable in this cluster and it is entirely a function of a rising-margin business whose old multiple observations no longer describe it.
No external professional target is on file for FSS in this project, so the sanity band is UNAVAILABLE rather than passed.
Specialty vehicles and municipal/industrial equipment, US-listed, growth bracketing Federal Signal's ~10% organic.
| ticker | company | why in set |
|---|---|---|
| OSK | Oshkosh | specialty vehicles including refuse (McNeilus) — the closest single comparator after the New Way deal |
| TEX | Terex | specialty lifting and material-processing equipment, dealer-distributed |
| ALG | Alamo Group | governmental/municipal infrastructure maintenance equipment; the tightest end-market match |
| DOV | Dover | diversified industrial with an aftermarket-heavy mix; a check on the parts-annuity multiple |
| WTS (deliberately excluded) | — | belongs to the XYL set; not reused here |
Growth bracketing: the set spans roughly 2–12% growth, which brackets Federal Signal's ~10%. Admissible under the growth-matched rule.
Load-bearing status: NOT load-bearing. The exit multiple comes from the ROIC identity; the
12-month multiple comes from Federal Signal's own history. Shares no ticker with the KGS or XYL
sets. The screen's exit_multiple_peer_n: 318 is the defect this replaces.
| output | value |
|---|---|
| Company state | A — mature and structurally stable. State B was tested and fails: revenue fell 7.4% in 2020 and the margin held. Serial acquisition is a scale-up in the same end market and channel, not a regime change |
| Terminal margin | 16.0% = own TTM filed operating margin; 10-K opex bridge closes; moved down from a first-tested 16.5% because steady_state_check flagged it above the window peak and because Q1'26 gross margin was down 0.2pp on acquired mix |
| Exit multiple | 10.53x EV/EBIT, identity-derived at ROIC 14.85% / WACC 8.5% / g 2.5% / t 24.0% — the highest in this cluster, because the ROIC is |
| Implied compression from today's 21.13x | −50.2% |
| Required revenue CAGR | 19.0% |
| Demonstrated organic (estimated) | ~10.0%, bounded 9.5%–11.3% |
| Valuation margin | −9.0pp — FAIL (−7.7pp to −9.5pp across the organic-growth range) |
| Crossover to PASS | ~16.5x exit multiple — the least punishing in this cluster |
| 12-month target | $148.26, +21.7% at 3.49x = median of its own trailing three years / p75 of six years |
| Today's multiple percentile | 70th of six years, but 39th of three years and 15th of one year |
| Downside anchor | $121.42, −0.3% at the six-year median 2.89x |
| Terminal value share of EV | 68.9% — above 60%, reverse DCF mandatory and primary |
| Evidence grade | B — twelve years of filings, quarterly backlog and product-line disaggregation, clean customer-concentration disclosure. Downgraded because organic growth is not disclosed and no ASC 805 pro forma revenue is given for a $424.2m acquisition, so the demonstrated growth rate is an estimate with bounds rather than a measurement |