FIX · Industrials(electrical work) · 10 years of annual accounts filed with the SEC · latest fiscal year ended 2025-12-31
Comfort Systems USA Inc reported revenue of $9.1 billion in fiscal 2025, after growing 21.0% a year over the previous 9 years. Its operating margin widened from 6.2% in 2016 to 14.4%, and it earned 40.1% on its invested capital in the latest year. Of the $3.9 billion its operations generated over 10 years, 38.1% went to acquisitions and 14.6% back into the business; the share count fell 6.3%. On the accounting screens, it passes 7 of 9 Piotroski tests, its Altman Z'' of 4.05 is in the safe zone and its Beneish M-score is below the -1.78 line; none of the six cross-checks between its statements fires.
Revenue, fiscal 20259.1B+21.0% a year over 9 years
Operating margin14.4%gross margin 24.1%
Return on invested capital40.1%26.2% on average over 5 years
Free cash flow after stock pay1.0B11.1% of revenue
Net debt ÷ EBITDANet cash836.7M more cash than debt
Piotroski F-score7/9tests of improvement passed
Is it growing?
Revenue and the operating income it turns into. Growth that does not reach operating income is growth bought with margin.
RevenueOperating income
02.5B5.0B7.5B10.0B
2016Revenue 1.6BOperating income 101.6M
2017Revenue 1.8BOperating income 99.3M
2018Revenue 2.2BOperating income 150.2M
2019Revenue 2.6BOperating income 163.6M
2020Revenue 2.9BOperating income 190.7M
2021Revenue 3.1BOperating income 188.4M
2022Revenue 4.1BOperating income 253.8M
2023Revenue 5.2BOperating income 418.4M
2024Revenue 7.0BOperating income 749.4M
2025Revenue 9.1BOperating income 1.3B
2016201720182019202020212022202320242025
Compound growth a year
3 yrs
5 yrs
9 yrs
Revenue
+30.0%
+26.1%
+21.0%
Operating income
+73.0%
+47.1%
+32.9%
Net income
+60.8%
+46.8%
+35.8%
Earnings per share
+61.8%
+47.9%
+36.8%
Free cash flow per share
+60.7%
+32.5%
+36.3%
Dividend per share
+51.7%
+35.7%
+24.4%
Shares
-0.6%
-0.7%
-0.7%
Falling shares are buybacks: each remaining share owns more of the company.
Does it earn more than its capital costs?
Margins say how much of each sale is kept; return on invested capital says how much the business earns on the money it needs to operate. Growth only creates value when that return is above the cost of the capital.
Return on invested capitalCost of capital today · 9.9%
0.0%20.0%40.0%60.0%
2016Return on invested capital 17.2%
2017Return on invested capital 11.4%
2018Return on invested capital 19.8%
2019Return on invested capital 15.2%
2020Return on invested capital 16.0%
2021Return on invested capital 11.9%
2022Return on invested capital 19.3%
2023Return on invested capital 26.4%
2024Return on invested capital 33.1%
2025Return on invested capital 40.1%
2016201720182019202020212022202320242025
Economic profit
Economic profit
0200.0M400.0M600.0M800.0M
2016Economic profit 27.7M
2017Economic profit 7.1M
2018Economic profit 57.3M
2019Economic profit 43.1M
2020Economic profit 57.3M
2021Economic profit 24.0M
2022Economic profit 118.8M
2023Economic profit 217.9M
2024Economic profit 412.1M
2025Economic profit 782.9M
2016201720182019202020212022202320242025
(return on capital − cost of capital) × capital invested: the profit left after paying for the money used. Today's cost of capital is applied to every year, since a past one cannot be rebuilt honestly.
Return on equity
41.8%
Return on assets
15.9%
Asset turnover
1.41×
Overheads (SG&A)
9.7% of revenue
Is the profit cash, and where does the cash go?
Net income is an accounting opinion; free cash flow is what was left in the bank after investing. Stock-based pay does not leave the bank — shareholders pay it through dilution — so it is shown taken off as well.
Net incomeFree cash flowAfter stock-based pay
0500.0M1.0B1.5B
2016Net income 64.9MFree cash flow 68.0MAfter stock-based pay 62.9M
2017Net income 55.3MFree cash flow 78.6MAfter stock-based pay 72.2M
2018Net income 112.9MFree cash flow 119.9MAfter stock-based pay 112.8M
2019Net income 114.3MFree cash flow 110.3MAfter stock-based pay 104.4M
2020Net income 150.1MFree cash flow 262.4MAfter stock-based pay 255.4M
2021Net income 143.3MFree cash flow 157.8MAfter stock-based pay 147.2M
2022Net income 245.9MFree cash flow 253.2MAfter stock-based pay 242.6M
2023Net income 323.4MFree cash flow 544.7MAfter stock-based pay 531.8M
2024Net income 522.4MFree cash flow 738.0MAfter stock-based pay 721.3M
2025Net income 1.0BFree cash flow 1.0BAfter stock-based pay 1.0B
2016201720182019202020212022202320242025
Where 10 years of operating cash went, 2016–2025
3.9B generated by the business. Each band is its share of that total.
Reinvested in the business 15%573.3M
Acquisitions 38%1.5B
Dividends 6%243.0M
Share buybacks 12%460.7M
Kept, or used to pay down debt 30%1.2B
Over the same years it paid 103.9M in stock. The share count fell 6.3%. 356.8M of the buybacks went beyond offsetting that dilution.
Per share
Earnings per shareFree cash flow per shareDividend per share
$0.00$10.00$20.00$30.00
2016Earnings per share $1.72Free cash flow per share $1.80Dividend per share $0.27
2017Earnings per share $1.47Free cash flow per share $2.09Dividend per share $0.29
2018Earnings per share $3.00Free cash flow per share $3.19Dividend per share $0.33
2019Earnings per share $3.08Free cash flow per share $2.97Dividend per share $0.39
2020Earnings per share $4.09Free cash flow per share $7.14Dividend per share $0.42
2021Earnings per share $3.93Free cash flow per share $4.33Dividend per share $0.48
2022Earnings per share $6.82Free cash flow per share $7.02Dividend per share $0.56
2023Earnings per share $9.01Free cash flow per share $15.18Dividend per share $0.85
2024Earnings per share $14.60Free cash flow per share $20.63Dividend per share $1.20
2025Earnings per share $28.88Free cash flow per share $29.13Dividend per share $1.94
2016201720182019202020212022202320242025
Shares outstanding
Diluted shares
35.0M36.0M37.0M38.0M
2016Diluted shares 37.8M
2017Diluted shares 37.7M
2018Diluted shares 37.6M
2019Diluted shares 37.1M
2020Diluted shares 36.7M
2021Diluted shares 36.5M
2022Diluted shares 36.0M
2023Diluted shares 35.9M
2024Diluted shares 35.8M
2025Diluted shares 35.4M
2016201720182019202020212022202320242025
How strong is the balance sheet?
Debt is not bad in itself; debt the business cannot service in a bad year is. Net debt is debt minus cash, and below zero the company holds more cash than it owes.
Net debt
-1.0B-500.0M0500.0M
2016Net debt -29.5M
2017Net debt 24.0M
2018Net debt 31.3M
2019Net debt 175.3M
2020Net debt 180.8M
2021Net debt 329.3M
2022Net debt 199.0M
2023Net debt -160.9M
2024Net debt -481.6M
2025Net debt -836.7M
2016201720182019202020212022202320242025
Net debt ÷ EBITDA
-0.6×
Interest coverage
146× operating income ÷ interest
Current ratio
1.21 current assets ÷ current liabilities
Cash conversion cycle
—
Three classic screens of the accounts
Each asks a different question of the same statements — is it improving, does it look like a company heading for distress, do the accounts resemble ones that were manipulated. None is a verdict; each shows what moves it.
Piotroski F-score
Is the business improving? Nine yes-or-no tests, this year against last.
7of 9 tests passed
✓ProfitableReturn on assets above zeropassed
✓Cash from operationsOperating cash flow above zeropassed
✓Profitability improvedReturn on assets higher than a year beforepassed
✓Profit backed by cashOperating cash flow above net income (low accruals)passed
✕Less long-term debtLong-term debt as a share of assets fellfailed
✓More liquidCurrent ratio higher than a year beforepassed
✓No new sharesShare count did not growpassed
✓Better gross marginGross margin higher than a year beforepassed
✕Sells more per assetAsset turnover higher than a year beforefailed
Where it misleads: it measures change, not level. An excellent business that stood still for a year scores low; a poor one recovering from a disaster scores high.
Altman Z''-score
Does the balance sheet look like those of companies that went bankrupt?
4.05safe zone
1.12.6
Working capital ÷ assets 0.11 × 6.56+0.73
Retained earnings ÷ assets 0.40 × 3.26+1.31
Operating income ÷ assets 0.20 × 6.72+1.37
Equity ÷ liabilities 0.61 × 1.05+0.64
Where it misleads: buybacks. A company that returns so much cash that its equity turns small or negative sinks the last two ratios without being anywhere near bankruptcy. Banks and insurers do not fit the model at all.
Beneish M-score
Do the accounts resemble those of companies that manipulated their earnings?
-2.43below the -1.78 line
-1.78
Receivables vs sales 1.00 (not reported, set to 1)+0.92
Gross margin slipping 0.87+0.46
Soft assets 0.86+0.35
Sales growth 1.30+1.16
Slower depreciation 1.07+0.12
Overheads vs sales 0.93-0.16
Profit not in cash -0.03-0.12
Leverage rising 0.98-0.32
Where it misleads: fast growth and acquisitions. Sales growth carries a heavy weight, so a company growing 50% a year scores like a suspect without having done anything. It is a screen from a 1999 study, not an accusation.
Where the statements disagree
Cross-checks between the income statement, the balance sheet and the cash flow for the latest year, each with the benign reading and the worrying one.
None of the six cross-checks fires for the latest year: receivables and inventory move with revenue, profit turns into cash, investment keeps up with depreciation, the tax rate is ordinary and debt is moderate.
What is it worth, under which assumptions?
A company is worth the cash it will generate, brought back to today. This model projects revenue with growth that fades over the years, applies a free cash flow margin, and discounts the result at the cost of capital. Every assumption says where it came from, and all of them can be changed.
Value per share, with these assumptions$843.10discounted at 9.9% a year · 57% of it from after year 10
Type a share price on the left to ask the reverse questions: what growth, what margin or what discount rate that price implies.
What the value implies, in the usual multiples
At this model's value
Price ÷ earnings
29.2×
Enterprise value ÷ EBITDA
21.1×
Enterprise value ÷ revenue
3.2×
Free cash flow yield
3.4%
From cash flows to a value per share
10 years of cash flow, today12.4B
Everything after, today16.6B
The whole business29.0B
Plus net cash836.7M
What belongs to shareholders29.9B
Divided among 35.4M shares: <strong>$843.10</strong> each.
The projection next to its history
Reported free cash flow after stock pay, then the model's. A projection that looks nothing like the past needs a reason.
ReportedProjected
01.0B2.0B3.0B4.0B
2016Reported 62.9M
2017Reported 72.2M
2018Reported 112.8M
2019Reported 104.4M
2020Reported 255.4M
2021Reported 147.2M
2022Reported 242.6M
2023Reported 531.8M
2024Reported 721.3M
2025Reported 1.0B
2026Projected 1.1B
2027Projected 1.3B
2028Projected 1.6B
2029Projected 1.9B
2030Projected 2.1B
2031Projected 2.4B
2032Projected 2.7B
2033Projected 2.8B
2034Projected 3.0B
2035Projected 3.1B
2016201820202022202420262028203020322034
Year by year
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
Revenue
11.4B
13.9B
16.7B
19.7B
22.6B
25.4B
28.0B
30.1B
31.6B
32.4B
Growth
25.0%
22.5%
20.0%
17.5%
15.0%
12.5%
10.0%
7.5%
5.0%
2.5%
Cash margin
9.5%
9.5%
9.5%
9.5%
9.5%
9.5%
9.5%
9.5%
9.5%
9.5%
Free cash flow
1.1B
1.3B
1.6B
1.9B
2.1B
2.4B
2.7B
2.8B
3.0B
3.1B
Worth today
981.2M
1.1B
1.2B
1.3B
1.3B
1.4B
1.4B
1.3B
1.3B
1.2B
If the least-known inputs move
Value per share as two inputs change at a time. Neighbouring cells that differ a lot are the conclusion: the value depends on numbers nobody knows to a point.
The discount rate and growth forever
discount ↓ · forever →
1.5%
2.0%
2.5%
3.0%
3.5%
8.9%
873
926
988
1,060
1,145
9.4%
813
858
910
971
1,041
9.9%
759
798
843
894
953
10.4%
712
747
786
829
880
10.9%
671
701
734
772
816
Year-one growth and the final margin
margin ↓ · growth →
21.0%
23.0%
25.0%
27.0%
29.0%
7.6%
614
660
710
762
818
8.5%
671
722
776
835
897
9.5%
728
783
843
907
975
10.4%
784
845
910
979
1,053
11.4%
841
906
976
1,052
1,132
All the inputs moving at once
5,000 valuations, each with growth, final margin, discount rate and growth forever drawn at random around the values on the left (spreads of 3.0%, 2.0%, 1.0% and 0.5%). Not a probability — the spreads are assumptions too — but an honest picture of how wide the answer is.
10th percentile$609.24
Median$844.40
90th percentile$1,172.80
$500.00$1,000.00$1,500.00
Half of the simulations land between <b>$712.38</b> and <b>$1,001.39</b>; one in ten below $609.24, one in ten above $1,172.80.
Does the long run make sense?
8.7×The terminal value prices the business in year 10 at 8.7 times that year's EBITDA.
15%To grow 2.5% forever while reinvesting 17% of its after-tax operating profit, the business must earn 15% on the new capital — it has earned 26% on average over the last five years.
57%of the value comes from after year 10. The more of it, the more the answer depends on the part nobody can see.
Accounts from the company's own SEC filings; lines some companies do not report are shown as a dash rather than estimated. The risk-free rate is the 10-year US Treasury yield. A DCF is a way of making assumptions explicit, not a forecast: it states what the company would be worth if the assumptions held. The scores are screens that point where to look, not verdicts. Nothing here is a recommendation to buy or sell.