Xylem [XYL]
As of 2026-07-30. Spot $116.63.
Test applied and evidence:
Consequence: terminal margin is built from Xylem's own normalised economics plus an explicit forward bridge; industry data is a sanity band, never an override. Solve for price-implied growth with the margin fixed.
Explicitly NOT State B. Xylem's revenue fell in exactly one of fourteen years (2020, −7.1%, COVID) and the margin recovered within two. There is no cycle to date and no mid-cycle to normalise to. Mean-reverting this name's margin downward would be the reflex the brief warns against.
Basis: the company's own demonstrated economics plus a forward bridge from FY2025 10-K lines.
| line | $m | % of revenue |
|---|---|---|
| Revenue | 9,035 | 100.00% |
| Cost of revenue (products 4,459 + services 1,101) | (5,560) | (61.54%) |
= Gross profit m_gross |
3,475 | 38.46% |
| Selling, general and administrative | (1,923) | (21.28%) |
| Research and development | (226) | (2.50%) |
| Restructuring and asset impairment | (103) | (1.14%) |
| = Operating income | 1,223 | 13.54% |
Bridge closes: 38.46 − 21.28 − 2.50 − 1.14 = 13.54% ✓
| line | FY2025 | terminal | why |
|---|---|---|---|
| Gross margin | 38.46% | 39.5% | 1H 2026 already printed 39.6% (1,766/4,461); trend 36.9 → 37.5 → 38.5 → 39.6 over four periods; 350bp of disclosed productivity savings in Q2'26 |
| SG&A | 21.28% | 20.6% | 1H 2026 run-rate; operating leverage on a flat organic revenue base with a 4% smaller share count and no incremental integration cost |
| R&D | 2.50% | 2.5% | flat — R&D has been 2.2–3.1% of revenue for a decade and Xylem has not signalled a change |
| Restructuring & impairment | 1.14% | 0.4% | the 10-K states the Measurement & Control actions "are expected to continue through the end of 2027" — i.e. they end. 0.4% is the long-run maintenance level, not zero |
| = terminal EBIT margin | 13.54% | 16.0% |
m_EBIT,T (16.0%) ≤ m_gross,T (39.5%) ✓ — 23.5pp of headroom against a 23.1%-of-revenue combined
SG&A + R&D base. The full expense bridge, not just the literal ceiling, is satisfied.
steady_state_check.py — what it flagged, and the named mechanismpython3 steady_state_check.py --ticker XYL --terminal-margin 0.160 --exit-multiple 9.59
| output | value |
|---|---|
| 2020 margin → latest annual margin | 7.5% → 13.5% (+6.0pp; latest is the window peak) |
| terminal assumed | 16.0% — +2.5pp ABOVE the window peak |
| ROIC measured | 6.5% |
| warranted multiple at that ROIC | 6.1x |
| exit multiple used vs warranted | 1.57x |
| flag 1 | TERMINAL_ABOVE_EVERY_OBSERVED_YEAR |
| flag 2 | EXIT_MULTIPLE_UNWARRANTED_AT_STEADY_STATE |
Flag 1 is real and I am accepting it with a named mechanism, which is what the tool demands. The tool's own words: "Defensible only with a named mechanism — operating leverage on a fixed cost base is a reason; 'it has been rising' is not."
The named mechanism is threefold and each part is quantified in a filing:
Flag 2 is also real and I am NOT overriding it — see the exit-multiple section, where I use the identity-derived multiple rather than the market's.
Honest caveat, stated because the tool is right to force it: 180bp of Q2'26's 340bp of GAAP margin expansion came from lower charges, not operations. The terminal bridge already accounts for this by moving restructuring only to 0.4%, not to zero.
| input | value | source | screen agreed? |
|---|---|---|---|
| Spot | $116.63 | screen record | — |
| Shares outstanding | 233,486,812 | 10-Q cover page dated 2026-07-24 | ✓ exact |
| Market cap | $27,231.6m | ✓ | |
| Cash and equivalents | $1,276m | 10-Q, 2026-06-30 | ✓ |
| Total debt | $2,926m | 10-Q debt note table (531 current + 2,395 long-term) | screen used $2,947m from the LongTermDebt XBRL tag — $21m / 0.7% high |
| Net debt | $1,650m | screen $1,671m | |
| Short-term / long-term investments | none — tags absent | balance sheet | — |
| EV, lease-EXCLUSIVE | $28,881.6m | screen $28,902.6m | |
| Operating lease liabilities | 129 current + ~321 non-current ≈ $450m | 10-Q / 10-K | |
| Finance lease liabilities | $125m total (10-K maturity table, net of imputed interest) | 10-K | |
| EV, lease-INCLUSIVE | ~$29,457m (+2.0%) | ||
| TTM revenue | $9,126m | four filed quarters: 2,268 + 2,397 + 2,125 + 2,336 | screen said $8,812m — WRONG by −$314m, −3.44% |
| TTM EBIT | $1,321m | 334 + 353 + 244 + 390, EDGAR-verified | |
| TTM operating margin | 14.48% | ||
| Splits | none — SPLITS returned {"data": []} |
queried explicitly |
EV basis statement, as required: headline EV of $28,881.6m is LEASE-EXCLUSIVE. Lease-inclusive is ~$29,457m, +2.0% — the largest lease adjustment in this cluster. Both are stated. EV/EBIT moves 21.86x → 22.30x; the conclusion does not change, but a lease-exclusive anchor previously invalidated a seven-name ladder in this project, so it is declared rather than assumed away.
| lease-exclusive | lease-inclusive | |
|---|---|---|
| EV / TTM sales | 3.16x (screen said 3.28x — the revenue error) | 3.23x |
| EV / TTM EBIT | 21.86x | 22.30x |
| Net debt / TTM EBITDA (~$1,886m) | 0.88x |
reverse_dcf.py was executed. It discounts a five-year interim FCF stream plus a discounted terminal
value at an explicit WACC and solves for the revenue CAGR that equates present value to today's EV.
It is not the undiscounted required-revenue-level test that CORZ and IREN substituted.
--fcf-margin — sign and magnitudeXylem's free cash flow is POSITIVE and stable, so the correction direction is conservative and cannot manufacture a false PASS.
normalized_fcf.py --ticker XYL returns INDETERMINATE: "no growth capex identified above the
maintenance rate — either the company is not building, or maintenance capex is overstated.
Trailing FCF may be usable directly; check." That is the correct output and I checked it: Xylem
is genuinely not building. Trailing FCF is therefore usable directly, which is the tool's own
stated condition.--fcf-margin 0.105.| parameter | value |
|---|---|
| solved for | revenue CAGR |
| horizon | 5 years |
| WACC | 8.5% — low-beta regulated-adjacent industrial; 26.2% realised vol; 0.88x net leverage |
| terminal margin | 16.0% |
| exit multiple | 9.59x EV/EBIT — identity-derived |
| FCF margin | +10.5% |
| revenue base | $9,126m (corrected) |
EV_T / EBIT_T = (1−t)(1 − g/ROIC) / (WACC − g)
t = 19.56% (FY2025: 231 / 1,181), g = 2.5%, WACC = 8.5%, ROIC = 8.80% (NOPAT $1,062.1m = TTM EBIT $1,321m × (1−0.1956); invested capital $12,071m = net debt $1,650m + equity $10,421m):
(0.804)(1 − 0.025/0.088) / 0.060 = (0.804)(0.7159) / 0.060 = 9.59x
steady_state_check.py returns 6.1x at its own 6.5% ROIC measure. I use the higher 9.59x.
The ROIC ambiguity is the honest complication on this name and it must be stated. Reported ROIC of 8.80% is depressed by $8,256m of goodwill and $2,150m of intangibles — almost all of it Evoqua purchase price. Ex-goodwill-and-intangibles invested capital is $1,665m and ROIC is 63.8%. The underlying water-technology business earns extraordinary returns on tangible capital; the company earns 8.8% because it paid $7.5bn for Evoqua.
Which is right for a terminal value? The reported figure, and I am using it deliberately. A terminal value is what an owner earns on the capital actually deployed, and the Evoqua capital was actually deployed. Using the 63.8% tangible figure would give an exit multiple of ~12.9x and a required CAGR of ~13.7% — still a large FAIL. The verdict is robust to this choice, which is why it is reported rather than argued.
EV implied by today's price 28,882m (3.2x current revenue)
Held fixed terminal margin=16.0%, exit multiple=9.59x
Discount rate / horizon 8.5% over 5y
>>> THE MARKET REQUIRES: revenue CAGR of 19.3%
| Required revenue CAGR | 19.3% |
| Demonstrated (organic, Q2'26 YoY) | 1.3% |
| Demonstrated, six-month organic | 0.5% |
| Demonstrated, total reported Q2 | 1.5% |
| Demonstrated, screen's acquired figure | 18.1% (rejected — Evoqua) |
| MARGIN = demonstrated − required | −18.0pp |
| Verdict | FAIL |
| exit multiple (EV/EBIT) | required revenue CAGR | margin vs 1.3% |
|---|---|---|
6.1x (steady_state_check warranted) |
>25% | worse than −24pp |
| 9.59x (identity, reported ROIC) | 19.3% | −18.0pp |
| 12.9x (identity, ex-goodwill ROIC) | ~13.7% | −12.4pp |
| 15x | 10.4% | −9.1pp |
| 18x | 6.8% | −5.5pp |
| 21.86x (today's own multiple, held flat) | 3.2% | −1.9pp |
23.5x (screen's GROWTH_MATCHED anchor) |
1.8% | −0.5pp |
Xylem fails at every exit multiple in the plausible range, and it fails even at the screen's own anchor. That is a materially stronger result than KGS's, where the verdict hinged entirely on the multiple. Here the problem is the numerator: 0.5–1.3% organic growth cannot support a 3.2x EV/Sales multiple under any terminal assumption that respects the ROIC identity.
The screen's +8.2pp PASS came from combining a 23.5x exit multiple (from a 286-name "peer" set) with an 18.1% demonstrated CAGR that is the Evoqua acquisition. Correct either one and it fails.
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 net debt held constant.
Window: 2020-07-27 → 2026-07-29, n = 1,506 trading days (six years).
| EV/Sales | |
|---|---|
| min | 2.93x |
| p10 | 3.58x |
| p25 | 4.03x |
| median | 4.42x |
| p75 | 4.99x |
| p90 | 5.93x |
| max | 6.94x |
| today (true TTM revenue) | 3.16x |
| today's percentile of own six-year history | 6th |
Xylem trades at the 6th percentile of its own six-year multiple history. That is the single most striking fact on the name, and it is the mirror image of the BSX finding recorded in this project (PASS at the 0th percentile of its own 8-year EV/Sales history).
Trailing one-year window: median 3.94x, today's value at the 33rd percentile. Trailing three-year: median 4.14x, 13th percentile.
Regime-change check, per valuation.md: the six-year window spans the Evoqua acquisition, which
raised revenue ~30% and lowered the multiple mechanically. That biases the pre-2024 observations
upward relative to today's business. I therefore anchor at the 25th percentile (4.03x), not the
median, and round to 3.95x — which is also the median of the trailing one-year window. Two
independent constructions land within 2%.
| $m | |
|---|---|
| Consensus FY2026 revenue | 9,243.3 |
| Consensus FY2027 revenue | 9,623.6 |
| NTM (Aug'26–Jul'27), time-weighted | 9,465.2 |
| 90d ago | 30d ago | 7d ago | now | 90-day change | |
|---|---|---|---|---|---|
| FY2026 EPS | 5.5223 | 5.5309 | 5.5421 | 5.5748 | +1.0% |
| FY2027 EPS | 6.0902 | 6.0933 | 6.1038 | 6.1038 | +0.2% |
Revisions are positive but small, and monotone — every 7/30/90-day step is upward on FY2026. No whipsaw. This is the profile of a name being revised on execution rather than on a surprise.
| NTM revenue | $9,465.2m |
| × 3.95x (25th percentile of own six-year history; 50th of the trailing year) | EV $37,387.5m |
| less net debt | −$1,650m |
| equity value | $35,737.5m |
| ÷ 233.487m shares | $153.06 |
| to spot ($116.63) | +31.2% |
Cross-check on earnings: $153.06 ÷ NTM EPS of $5.884 = 26.0x, against today's 19.8x. Xylem has traded in a 22–35x forward P/E band for most of the last six years, so 26x is inside its own range and is not the aggressive end of it.
What the target actually asserts, stated plainly: essentially all of the +31.2% is multiple re-rating from the 6th percentile to the 25th, not growth. NTM revenue of $9,465m is +3.7% on TTM. The named events that could drive that re-rating are (a) the Q2'26 orders spike being confirmed in the FY2026 backlog figure, (b) Applied Water data-centre revenue being quantified for the first time, and (c) the operating margin holding above 16% for a second and third quarter. All three are in the catalyst calendar with what is and is not a disclosed date.
No external professional target is on file for XYL in this project, so the sanity band is UNAVAILABLE rather than passed.
Water and flow-control infrastructure equipment, US-listed, growth bracketing Xylem's low-single-digit organic rate.
| ticker | company | why in set |
|---|---|---|
| PNR | Pentair | flow control and water treatment; closest single comparator on mix |
| WTS | Watts Water Technologies | water flow control, similar municipal/commercial end market |
| MWA | Mueller Water Products | water distribution infrastructure, municipal budget driver |
| AWK | American Water Works | the demand-side counterparty; a sanity band on the end market, not a multiple peer |
| IEX | IDEX Corporation | fluid/metering technology; margin structure comparable to Water Infrastructure |
Growth bracketing: organic growth across this set runs roughly 0–6%, which brackets Xylem's 0.5–1.3%. The set is admissible under the growth-matched rule.
Load-bearing status: NOT load-bearing on any number in this memo. The exit multiple comes from the ROIC identity; the 12-month multiple comes from Xylem's own history. The set is recorded because the brief requires a separate comparator set per name and because it is what a reader should check the output against. It shares no ticker with the KGS or FSS sets.
The screen's exit_multiple_peer_n: 286 is the defect this replaces.
| output | value |
|---|---|
| Company state | A — mature and structurally stable, asserted on FY2024/FY2025/1H26 (three clean post-Evoqua periods) plus a fourteen-year 36.9–39.6% gross-margin band |
| Terminal margin | 16.0%, forward bridge from FY2025 10-K lines; +2.5pp above the annual window peak, accepted with a named mechanism (Q2'26 actual 16.7%; restructuring ends 2027 by disclosure; 350bp quantified productivity) |
| Exit multiple | 9.59x EV/EBIT, identity-derived at ROIC 8.80% / WACC 8.5% / g 2.5% / t 19.6% |
| Implied compression from today's 21.86x | −56.1% |
| Required revenue CAGR | 19.3% |
| Demonstrated organic | 1.3% (Q2'26 YoY); 0.5% six-month |
| Valuation margin | −18.0pp — FAIL, and it fails at every multiple in range including the screen's own 23.5x |
| 12-month target | $153.06, +31.2% at 3.95x = the 25th percentile of its own six-year history |
| Today's multiple percentile | 6th of six years — the cheapest observation in the cluster |
| Terminal value share of EV | 66.8% — above 60%, reverse DCF mandatory and primary |
| Evidence grade | B+ — twelve years of filings, quarterly organic decomposition disclosed by the company, Q2'26 data two days old. Downgraded from A because total backlog is annual-only and the $850m orders spike carries no narrative |