Comfort Systems USA is one of the largest mechanical, electrical and plumbing (MEP) contractors in the United States — it designs, installs, services and maintains the heating, ventilation, air-conditioning, electrical, piping, controls and fire-protection systems that make large commercial, industrial and institutional buildings run. Founded in 1917 and headquartered in Houston, it operates a network of ~40 regional operating companies through two segments, Mechanical and Electrical, with about 22,700 employees. Its edge is scale and self-perform capability: it can staff, prefabricate and execute enormous, complex MEP scopes — increasingly the power, cooling and electrical build-out of data centres and advanced-technology facilities — faster and more reliably than the fragmented field of local contractors it competes with. That reach and modular-construction depth is why hyperscale data-centre customers now make up the majority of its work (58% of Q2 2026 revenue), and why its order book has swelled to a record $14.1bn backlog. For a reader, think of it as the picks-and-shovels builder of the physical plumbing behind the AI and reshoring capex wave.
Lifecycle: Established / Mature-growth Industrials (Engineering & Construction services). FIX is decisively profitable and cash-generative, yet is growing like a much younger company — Q2 2026 revenue +50% YoY to a record $3.27bn (first quarter ever above $3bn), TTM revenue ~$11.2bn, TTM diluted EPS $40.66. That combination of scale, profitability and an AI-capex demand surge is unusual and is the core of the quality case. We score it on the Industrials metric set (ROIC vs WACC, operating margin, backlog growth, balance sheet), not growth-stock metrics.
| Sub-signal | Reading | Score |
|---|---|---|
| Revenue trajectory | +50% YoY (Q2'26); data-centre/hyperscaler work now 58% of revenue (45% of FY25); new construction 74.8% of YTD revenue (from 63.2%) | 92 |
| Profitability vs history | Gross margin 23.5% → 25.9%; operating margin ~17% (Industrials "strong" is >15%); net margin 12.8% | 86 |
| Cash generation | Q2 operating cash flow $1.14bn (from $252.5M a year ago); FCF/OCF conversion ~0.85; FCF ~$61/sh. FCF yield low (~3%) only because the price is high — the business gushes cash | 82 |
| Balance-sheet health | Net cash (debt/equity 0.10, debt/mkt-cap <0.001); interest coverage ~197×; current ratio 1.21. Debt/EBITDA well under 0.5× | 90 |
| ROIC & capital allocation | ROE ~55%, FMP ROE/ROA score 5/5; ROIC far above WACC; disciplined tuck-in M&A + buybacks (share count 35.8M → 35.25M); dividend token (payout ~6%) | 86 |
Moat average ~58 — a scale-and-execution moat, not a structural monopoly. The Competitive-Environment read below sets the Switching-Cost and Cost-Advantage sub-scores directly.
Independent cross-check: FMP financial-health rating A- (overall 4/5), dragged only by its P/E (1/5) and P/B (1/5) sub-scores — i.e. the model agrees the business is excellent and the price is the problem, exactly our split.
r = ~4.6% (10Y Treasury, inferred from Donatien macro report 2026-07-20) + 4.5% ERP + 2.0% risk add-on = ~11.1%. The risk add-on is +2.0% because beta is 1.66 (>1.6) — the anchor attaches the top add-on to a high-beta name even when Quality is high. Growth: consensus forward EPS growth ~25%, haircut 25% → ~19%, then floored to the Industrials cyclical cap of 10% for g_near; g_term = 3%. Two-stage warranted P/E ≈ 16.9×.| Lens | Reading | Score |
|---|---|---|
| Warranted-multiple anchor (40%) | Clean TTM P/E 42.6× ÷ warranted 16.9× = 2.52× → deep Expensive (down from 2.92× last time as EPS caught up). On forward FY26 (~$47 post-beat) it is ~37×; FY27 (~$54) ~32× — still Expensive, and all above the 23× Industrials guardrail line. | 18 |
| Sector median (20%) | Engineering-&-construction peers (EME, APG, STRL) trade ~22–30× fwd; FIX at ~37× fwd sits at the rich end even among fast growers | 30 |
| Own-history decile (15%) | Near the top of its own multi-year multiple range — the stock re-rated from ~$514 to a $2,074 high on the AI-capex theme (now ~$1,734, ~16% off the peak) | 24 |
| PEG / growth-adjusted (10%) | Trailing PEG ~0.4 looks cheap, but leans on a peak-cyclical +50% revenue print; forward PEG ~1.76 (FMP) is the honest read once growth normalises | 42 |
| Analyst consensus (15%) | Price $1,734 vs consensus target $2,015 (median $2,004; high $2,200, low $1,800; Yahoo mean $2,135) — ~16% below consensus, grades 5 Buy / 4 Hold. This is the one lens offering support | 64 |
Implied-growth read (narrative colour): at $1,734 on ~$40.66 TTM EPS the market is embedding roughly a decade of ~20%+ compounding with no multiple give-back; our disciplined estimate (10% durable, cyclically-capped) warrants ~17×. The price embeds far more growth than the fundamentals conservatively support — the classic "great business, wrong price." That the stock fell 5.3% on a blowout beat is the tape confirming the bar was already sky-high.
Net: Valuation 25 (Expensive band). A Full/Expensive-band name is barred from STRONG BUY and, via the Valuation-Ceiling gate, capped at HOLD regardless of the driver tailwind.
Primary driver: the US non-residential construction capex cycle, dominated right now by data-centre & AI-infrastructure build-out (secondary: interest rates / reshoring industrial policy). 58% of FIX's revenue is now technology/data-centre work, so the company is a geared bet on hyperscaler and advanced-technology capital spending.
| Horizon | Read | Label |
|---|---|---|
| Historical (25%) | Backlog $5.2bn (2024) → $8.12bn (Q2'25) → $14.06bn (Q2'26); revenue +50% YoY. A powerful, sustained up-cycle. | Strong Tailwind |
| Current (50%) | Record backlog, record margins, data-centre 58% of revenue; management guides full-year same-store growth in the mid-to-high-30s%. XLI capital flow "in" (real money) across all horizons. | Strong Tailwind |
| Forward (25%) | Multi-year visibility into 2027+, BUT concentration is now the swing factor — a hyperscaler capex cut hits FIX's biggest (58%) revenue line first, and the macro report's armed tail names exactly that trigger. | Tailwind, watch concentration |
Weighted driver score ≈ 80 (Tailwind) — nominally amplification-eligible (≥65). But amplification is BLOCKED here: the base signal is HOLD on every horizon (Expensive valuation), and HOLD never amplifies; separately, an Expensive-band name is barred from STRONG BUY. So the strong driver cannot lift the signal — it only reinforces the quality case and defines the risk.
FIX is not in the macro watchlist_forecast, so Economic Alignment is sourced by sector-map: GICS Industrials → XLI. The 2026-07-20 Donatien macro report scores XLI Short O, Medium O, Long SO, with real money flowing INTO Industrials across all three horizons (sector_capital_flow: real, in/in/in). Anchoring on the Medium horizon, the pressure is a TAILWIND (Short also O, Long SO). A trend-follower rides that flow, so the stance is Trend-Following with conviction ~73 (a broad, multi-horizon tailwind, strongest on the Long). IMPORTANT: this Tailwind does NOT lift FIX's signal — the base signal is HOLD (Expensive valuation), HOLD never amplifies, and an Expensive-band name is barred from STRONG BUY. The economy is at FIX's back; the price is not. So no amplification was applied. (The macro regime is Stagflation-lite, energy-shock-driven; Industrials remains a real-money inflow sector within it.)
Source: sector-map · Macro report 2026-07-20
The tape is a pullback within a larger uptrend, but the pullback is active and the post-earnings signal is negative. Monthly and weekly remain uptrends (monthly RSI 75.9 — overbought; weekly RSI 58, MACD histogram now negative and rolling); the daily has turned weakening (price below its 20/50-day averages, RSI 45.9, a support breakdown) and hourly & 15-min are in downtrends — the tool's overall confluence reads bearish. Price is ~16% off the $2,074 high, still well above the 200-day (~$1,377).
The tell: FIX reported a genuine blowout on 23 Jul (revenue +50%, EPS +92%, backlog +73%) and the stock fell −5.3% the next session. A beat that sells off is a distribution / valuation-exhaustion signal — the market had already priced the good news. Relative strength: a strong secular leader over 1yr, but a laggard over the last month. Risk-reward: nearest daily support ~$1,705, then $1,621 and the $1,556 shelf; a stop below $1,540 is ~2 ATR (daily ATR ~$103), so a defined-risk entry is possible — but with the signal already HOLD on valuation and the confluence bearish, there is no timing edge to act on. Catalyst: the near-term catalyst (Q2, 23 Jul) has passed and resolved bearishly; the next is Q3 ~late-October.
| Date | Event | Impact | Forecast | Previous | Relevant? | Why |
|---|---|---|---|---|---|---|
| 2026-07-29 | FOMC Rate Decision (Warsh) | High | Hold 3.50–3.75%, dovish lean | Hold | ⚠️ Medium | Rates set the discount rate on a long-duration re-rated name and the cost of the capex it builds |
| 2026-07-30 | US Q2 GDP (Advance) | Medium | ~2.0% ann. | — | ⚠️ Medium | Tests the non-residential demand backdrop FIX builds into |
| ~2026-10-22 | FIX Q3 2026 Earnings | High | backlog / margin-mix / data-centre commentary | Q2 EPS $12.53 | ✅ Yes | The next company catalyst and the scheduling trigger once the +14d default passes |
| Date | Event | Actual | Forecast | Surprise | Impact |
|---|---|---|---|---|---|
| 2026-07-23 | FIX Q2 2026 Earnings | EPS $12.53 / rev $3.27bn | EPS ~$10.5 / rev ~$2.99bn | Big beat | Blowout beat — yet the stock fell −5.3%; margin-mix shift to lower-margin new-build flagged |
| 2026-07-23 | FIX Q2 Backlog | $14.06bn (+73% YoY) | — | Record | Positive — multi-year visibility; data-centre 58% of revenue |
| 2026-07-16 | Philadelphia Fed Mfg Index (Jul) | 41.4 | 13 | +218% above | Positive — industrial demand strong |
| 2026-07-15 | NY Empire State Mfg (Jul) | 15.6 | 8.8 | +77% above | Positive — manufacturing momentum |
Industrials is a MEDIUM macro-sensitivity sector. FIX's own Q2 earnings (23 Jul) were the dominant recent event — a blowout beat that nonetheless sold off, confirming a stretched valuation. Ahead: the 29 Jul FOMC (Warsh) and 30 Jul Q2 GDP are medium considerations — rates set the discount rate on this re-rated name — while regional manufacturing surveys (Philly Fed +41.4, Empire +15.6) confirm a firm industrial backdrop. The next company catalyst is Q3 earnings ~late-October.
| Timeframe | Trend | Direction | RSI | MACD | Key S/R | Breakout | Vol |
|---|---|---|---|---|---|---|---|
| Monthly | Uptrend ↑ | Bullish | 75.9 | +, rising | S: $273 · R: $2,074 | Resist. breakout | 0.9× |
| Weekly | Uptrend ↑ | Neutral | 58.0 | −, rolling | S: $1,500 · R: $2,074 | Resist. breakout | 1.2× |
| Daily | Weakening → | Neutral | 45.9 | −, basing | S: $1,705 · R: $1,999 | Support breakdown | 1.3× |
| Hourly | Downtrend ↓ | Bearish | 36.1 | −, falling | S: $1,701 · R: $1,810 | Support breakdown | — |
| 15-min | Strong downtrend ↓ | Bearish | 41.4 | −, turning | S: $1,701 · R: $1,782 | Support breakdown | — |
| Confluence: Bearish (post-earnings pullback within a larger uptrend) · MTF Score 40 | |||||||
Higher timeframes (monthly, weekly) are still uptrends — the secular AI-capex leadership is intact — but the weekly MACD has rolled negative, the daily has turned weakening below its 20/50-day averages, and both intraday frames are in downtrends, so the near-term confluence is bearish. The −5.3% post-earnings drop on 23–24 Jul is the driver. Key levels: daily support $1,705, then $1,621 and the $1,556 shelf; a reclaim of the $1,846 50-day average would signal the pullback is over. The next real directional information is the Q3 print in ~October.
FIX re-rated hard on the data-centre/AI-capex theme (from ~$514 low) to a $2,074 high, then pulled back; a blowout Q2 on 23 Jul sold off −5.3% to $1,734 (~16% off the peak) — daily below its 50-day average, higher timeframes still up. Levels are approximate, drawn from the multi-timeframe swing data.
The Q2 momentum continues — backlog compounds past $15bn, data-centre capex re-accelerates, and the multiple holds. Price runs to the high analyst-target zone $2,150–$2,200 (+24–27%). Requires the AI-capex run-rate to keep compounding with no digestion — the entire bull case is the multiple NOT compressing.
The business keeps executing — mid-to-high-30s% same-store growth, backlog firm — but the multiple grinds sideways-to-modestly-higher as EPS grows into it off the peak-cyclical print. Price oscillates in a ~$1,650–$1,980 band and drifts toward ~$1,830 (+6%) over 6–12 months. Earnings power slowly grows into the valuation.
The de-rating case: the multiple compresses toward the 23× Industrials guardrail on forward EPS — roughly the $1,080–$1,250 area (NOT a full reversion to the ~17× warranted multiple, which would be ~$690–$795). The live trigger is a hyperscaler capex cut / AI-spend digestion hitting FIX's biggest (58%) revenue line, margin-mix compression as high-margin service shrinks, or skilled-labour/execution slippage. The −5.3% drop on a blowout beat shows how fast the multiple can compress. ~−31%.
Forecast: Fundamental: UNLIKELY without a ~35–50% drawdown — warranted fair value (~$800) sits far below the tape; only a bear-scenario de-rate opens it. Technical: MODERATE but not armed — a reclaim of the ~$1,846 50-day average or a clean higher-low bounce off $1,705/$1,621 could arm the pullback branch, but confluence is bearish now and momentum is down. Catalyst: RESOLVED — the 23 Jul print already fired and went the wrong way (a beat that sold off); the next dated catalyst is Q3 ~late-October. Net: there is no entry edge, and even a technical reclaim leaves the Valuation-Ceiling gate capping the signal at HOLD until price and the warranted multiple converge.
Forecast: No exit trigger is live for a holder (the name isn't a buy here for a new position, but for an existing holder nothing forces a sale). Stop-loss at $1,540 is ~11% below spot and below the $1,556 shelf — unlikely absent a fresh shock. Thesis-invalidation is the watch item: a backlog roll-over or an explicit hyperscaler capex cut would flip the driver and warrant an exit rather than a hold.
Position sizing not computed — no risk budget or portfolio role was specified for this watchlist name. The §12 Conviction Ladder reads Wait (0 of 3 entry paths met): there is no entry edge at $1,734, so size guidance is "watch, don't initiate." Levels to watch instead: a reclaim of ~$1,846 (50-day) or a tested higher-low bounce off $1,705/$1,621, plus backlog and hyperscaler-capex commentary at the Q3 print. Volatility context: daily ATR ~$103 (~6% of price); beta 1.66 — a 1% portfolio position carries ~1.66% market risk.
{
"ticker": "FIX",
"date": "2026-07-25",
"version": "v6",
"company": "Comfort Systems USA, Inc.",
"exchange": "NYSE",
"exchange_ticker": "NYSE:FIX",
"isin": "US1999081045",
"api_ticker": "FIX",
"currency": "USD",
"finder_ticker": "FIX",
"finder_exchange": "\ud83c\uddfa\ud83c\uddf8 NYSE",
"analysis_status": "starting",
"lifecycle_stage": "established",
"price_at_rating": 1733.6,
"signal_short": "HOLD",
"signal_medium": "HOLD",
"signal_long": "HOLD",
"primary_signal": "HOLD",
"short_entry_confirmed": false,
"short_cap_reason": "moot \u2014 no BUY at any horizon (base signal HOLD on Expensive valuation); Technical AND Catalyst entry groups both unmet (the 23 Jul catalyst resolved bearishly \u2014 a beat that sold off \u22125.3%), so short_entry_confirmed=false is recorded but no short-cap was applied",
"quality_score": 85,
"valuation_score": 25,
"timing_score": 33,
"driver_score": 80,
"driver_label": "Tailwind (amplification blocked \u2014 base HOLD)",
"economic_alignment_stance": "Trend-Following",
"economic_alignment_conviction": 73,
"economic_alignment_pressure": "Tailwind",
"economic_alignment_source": "sector-map",
"macro_report_date": "2026-07-20",
"warranted_multiple": 16.9,
"actual_multiple": 42.6,
"val_multiple_basis": "clean TTM P/E on $40.66 dil EPS (fwd FY26 ~37\u00d7 / FY27 ~32\u00d7, both \u2265 23\u00d7 Industrials guardrail)",
"warranted_ratio": 2.52,
"val_band": "expensive",
"discount_rate_r": 0.111,
"risk_free_10y": 0.046,
"g_near": 0.1,
"g_term": 0.03,
"nonop_pct_of_net_income": 1.5,
"clean_pe": 42.6,
"clean_peg": 1.76,
"competitive_share_trajectory": "improving (FIX backlog +73% YoY grew faster than EMCOR's +33%, revenue +50% vs ~+20%; gaining data-centre MEP share via prefab/modular/self-perform scale)",
"competitive_threat_level": "moderate-rising (58% hyperscaler revenue concentration; skilled-labour scarcity; margin-mix shift to lower-margin new construction as high-margin service shrinks)",
"hard_gate_state": "Gate 3 (Valuation Ceiling) triggered \u2014 caps at HOLD; Gate 2 (Earnings Event) now CLEARED post-print; Gates 1/4/5 and Severe-Driver clear",
"gates_triggered": [
"Valuation Ceiling (42.6\u00d7 vs 16.9\u00d7 warranted; \u2265 23\u00d7 Industrials guardrail)"
],
"do_not_buy_triggers": [],
"dnb_checked": "Trigger 2(a) deep-expensive-alone: NOT fired (exceptional proven growth \u2014 rev +50%, EPS +92%, backlog +73% \u2014 breaks the 'no growth' condition). AI-concentration tail split into two limbs: limb (a) earnings-quality/non-operating-gains unwind \u2014 NOT fired (clean-earnings ~$61B contractor, not a top-weight earnings-inflated mega-cap); limb (b) hyperscaler capex guide-down \u2014 genuine DEMAND risk (58% of revenue) but idiosyncratic driver risk carried in \u00a711 Bear / \u00a712 thesis-invalidation, NOT a systemic DNB. Name is HOLD via Valuation Ceiling regardless, so firing DNB 2(b) would only over-escalate.",
"entry_groups_met": 0,
"entry_conviction": "Wait",
"exit_groups_live": 0,
"exit_action": "Hold",
"fair_value_est": 800,
"stop_loss": 1540,
"target_price": 2015,
"scenario_base_target": 1830,
"scenario_bull_target": 2150,
"scenario_bear_target": 1200,
"overall_confidence": 48,
"next_update_date": "2026-08-08",
"next_update_basis": "default +14d (Q2 printed 23 Jul; next catalyst Q3 earnings ~late-Oct, beyond the 14-day cap)",
"next_check_date": "2026-08-08"
}
Second report for FIX (post-Q2). The 23 Jul print was a blowout — revenue +50% YoY to a record $3.27bn, diluted EPS $12.53 (+92%), gross margin 25.9%, and a record $14.06bn backlog (+73% YoY) — yet the stock fell −5.3%, the market treating the beat as priced-in and flagging the margin-mix shift toward lower-margin new construction. The read is unchanged: an exceptional business (net cash, ROIC far above WACC, clean earnings) at a demanding price (42.6× clean / ~37× fwd vs a ~17× warranted multiple). HOLD on all three horizons; the Earnings-Event gate has now cleared, but the Valuation-Ceiling gate still caps. No BUY, so FIX does NOT fill the Industrials × US grid cell's live-Short-BUY slot.