Loading institutional data...
Loading institutional data...
Held by 323 of 5,944 reporting institutions (95th percentile) — extremely crowded.
Data as of Q1 2026
Loading snapshot...
Loading financials...
Loading valuation...
Loading quality & risk...
Loading dividends & returns...
Loading capital allocation...
Loading debt & leverage...
Loading performance...
Loading peer comparison...
Loading ownership map...
Loading crowding analysis...
Loading conviction analysis...
Loading buy/sell flow...
Loading ownership trends...
Loading top holders...
Loading top holders...
Solve the discounted cash flow backwards, then stress-test the assumptions.
To be worth $346.03 today, the market must believe free cash flow compounds 17.2%/yr for a decade (off $160M normalized FCF).
The market's 17.2% is more optimistic than its 2-yr track record.
2-stage DCF · 0.02B shares (market data) · net debt $806M
mean -4.4% · volatility σ 9% · implied rate exceeded in 0/2 yrs
Central path = implied 17.2%/yr growth; shaded band = ±1σ (9%) of this company's historical FCF volatility, widening with time. The wider the band, the less certain the growth.
Reverse DCF: rather than guessing a fair value, we solve for the growth the current price implies, then you stress-test the assumptions. Enterprise value of the FCF stream, less net debt, ÷ shares. Educational — not a recommendation.
Total shares institutions bought (green) vs sold (red) each quarter across all holders.
Inferred from quarter-over-quarter change in each fund's 13F position (new stakes count as buys, exits as sells). Not tick-level trades.
Total return (dividends reinvested) vs the market, from quarter-end prices.
Above 0 = ahead of the S&P 500 since the window start; below 0 = behind. Rising means it's pulling ahead.
How far the stock fell below its prior peak. Deeper, longer drawdowns = a rougher ride to the same return.
Quarter-end, dividend-adjusted (total return). Beta & volatility from quarterly returns (annualized). Benchmark is the S&P 500 (SPY total return). Annual returns compound the quarters ending in each calendar year; the first and last years in a window may be partial. Past performance doesn't predict future results.
Ranked against 633 sector peers with collected financials. Valuation from latest close × latest fiscal-year fundamentals; 13F conviction as of 2026-03-31.
Percentile is “goodness” within the peer set (100 = best). For valuation and leverage that means cheaper / less-levered ranks higher.
| Company | Mkt cap ▼ | P/E | EV/EBITDA | P/S | Rev gr | Gross | Net | ROE | ROIC | Net D/EBITDA | 13F |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LTM | $33.13T | — | — | — | — | — | — | — | — | — | 160 |
| CAT | $405.3B | 46.3× | 32.2× | 6.0× | 4.3% | 33.8% | 13.1% | 41.7% | 15.4% | 2.7× | 3,616 |
| GE | $399.8B | 46.8× | — | 8.7× | 18.5% | — | 19.0% | 46.6% | 22.2% | — | 3,077 |
| RTX | $298.4B | 44.8× | 21.3× | 3.4× | 9.7% | — | 7.6% | 10.3% | 10.3% | 0.0× | 3,277 |
| ABBNY | $187.8B | 50.7× | 33.5× | 5.8× | 9.5% | 34.8% | 11.9% | 28.5% | 20.4% | 0.9× | 48 |
| UNP | $175.3B | 24.7× | 16.7× | 7.2× | 1.1% | — | 29.1% | 38.7% | 14.2% | 2.6× | 2,648 |
| ETN | $173.5B | 42.8× | — | 6.3× | 10.3% | 37.6% | 14.9% | 21.0% | 13.9% | — | 2,398 |
| DE | $165.5B | 33.1× | — | 3.6× | -11.7% | — | 11.0% | 19.4% | 12.6% | — | 2,491 |
| HON | $157.6B | 33.7× | 18.9× | 4.2× | 7.8% | 36.9% | 12.6% | 34.0% | 9.8% | 3.6× | 2,694 |
| HTHIF | $153.6B | 0.7× | — | 0.0× | 3.9% | 25.2% | 2.6% | 16.6% | 7.4% | — | 2 |
| LMT | $132.3B | 26.9× | 17.0× | 1.8× | 5.6% | 10.2% | 6.7% | 74.6% | 18.4% | 2.4× | 2,807 |
| PH | $127.9B | 36.8× | 28.7× | 6.4× | -0.4% | 36.9% | 17.8% | 25.8% | 16.7% | 1.6× | 1,845 |
| HWM | $117.0B | 78.5× | 51.2× | 14.2× | 11.1% | — | 18.3% | 28.2% | 18.4% | 1.2× | 1,399 |
| ADP | $109.5B | 27.1× | — | 5.3× | 7.1% | 46.0% | 19.8% | 65.9% | 40.1% | — | 2,179 |
| TT | $107.8B | 37.3× | 26.5× | 5.1× | 7.5% | — | 13.7% | 34.0% | 22.1% | 1.1× | 1,658 |
| VRT | $106.3B | 81.5× | 50.3× | 10.4× | 27.7% | 36.3% | 13.0% | 33.8% | 19.5% | 1.4× | 1,748 |
| GD | $103.9B | 24.9× | 18.1× | 2.0× | 10.1% | — | 8.0% | 16.4% | 12.5% | 1.3× | 2,123 |
| PWR | $102.2B | 100.4× | 50.3× | 3.6× | 20.3% | 15.0% | 3.7% | 11.7% | 11.7% | 0.0× | 1,659 |
| JCI | $100.1B | 30.6× | — | 4.2× | 2.8% | 36.4% | 13.9% | 25.5% | 14.4% | — | 1,487 |
| MMM | $96.6B | 30.4× | 18.4× | 3.9× | 1.5% | 39.9% | 13.0% | 69.1% | 18.8% | 2.1× | 2,051 |
| CSX | $95.1B | 33.2× | 15.3× | 6.8× | -3.1% | — | 20.5% | 22.0% | 22.0% | — | 1,791 |
| EMR | $91.4B | 40.2× | — | 5.1× | 3.0% | 52.8% | 12.7% | 11.3% | 6.9% | — | 2,112 |
| UPS | $91.4B | 16.4× | 10.1× | 1.0× | -2.6% | — | 6.3% | 34.3% | 13.8% | 2.2× | 2,025 |
| WM | $90.4B | 33.5× | 12.7× | 3.6× | 14.2% | 40.4% | 10.7% | 27.1% | 25.3% | 0.1× | 2,262 |
| CMI | $89.7B | 31.7× | 16.9× | 2.7× | -1.3% | 25.3% | 8.8% | 23.9% | 23.9% | — | 1,877 |
| CSW | $5.6B | 51.6× | 34.9× | 5.2× | 23.3% | 41.9% | 10.4% | 10.7% | 5.9% | 4.6× | 323 |
Peers = companies sharing CSW's sector (Industrials) with collected SEC financials. Multiples use the most recent end-of-day close and latest fiscal-year fundamentals (trailing, not forward). Missing cells mean the peer never reported that line item, has no collected price, or has a non-positive denominator. Not investment advice.
Is the value real, and is the business safe? Academic scores + earnings quality + solvency, from SEC filings.
3/8 of the 9 checks — 1 couldn't be scored (see above), so the score is out of the 8 with data.
Safe > 2.99 · grey 1.81–2.99 · distress < 1.81
Eight indices comparing this year to last (receivables, margins, asset quality, growth, accruals, leverage). Above −1.78 suggests possible manipulation; below −2.22 is clean.
A screen, not proof — high growth alone can raise it.
Earnings are backed by cash (FCF ≥ net income) — high quality. Lower/negative accruals = higher quality (Sloan).
Coverage data unavailable; leverage rising year-over-year.
F-Score (0–9 fundamental momentum), Altman Z (distress risk), and Beneish M (earnings-manipulation screen) are academic models computed from the SEC filings. Screens and context — educational, not recommendations.
What the company returns to shareholders — and whether it's covered by cash.
The dividend is comfortably covered — only 12% of free cash flow, leaving room to grow it and fund buybacks. Last year: $18M dividends + $133M buybacks = $151M returned on $149M FCF.
Yields use the latest fiscal-year dividends/buybacks over current market cap. Dividends and buybacks from the SEC cash-flow statement; payout coverage vs net income and free cash flow. Educational — not a recommendation.
How management deployed cash over 10 years — and what it earned on reinvestment.
A cash-return story — far more went to shareholders than back into the business (mature, low-reinvestment).
Insufficient data. Current ROIC on all capital: 6%. Rough measure (includes maintenance capex).
Cash uses aggregated from the SEC cash-flow statement over 10 fiscal years. "Return on reinvestment" is a rough proxy — operating-income change ÷ cumulative CapEx + M&A — and includes maintenance capex. Educational — not a recommendation.
How much the company owes, how it's trended, and how comfortably it's serviced.
Cash of $34M covers the $30M due within a year 1.1× over. Scheduled principal only (excludes interest & revolver draws). As of 2025-03-31 (10-Q).
Green ≤ 1.5× · amber ≤ 3× · red > 3× (leverage relative to cash earnings).
Interest expense isn't separately reported — often netted into “other income (expense), net.”
Cash of $34M fully covers short-term debt of $29M.
Mostly long-term debt (balance-sheet current vs non-current split). See the maturity ladder above for the year-by-year repayment schedule.
Debt, cash, interest and equity from the SEC balance sheet & income statement. Effective rate = interest ÷ average debt. Maturity ladder from the SEC long-term-debt repayment schedule. Educational — not a recommendation.
EOD close · as of 2026-08-05
Where each multiple sits in its own 12-yr range · 100th pct blended
Dot = today · shaded = middle 50% · line = median. Lower percentile = cheaper vs its own 12-yr history.
Is the profit real, and how strong is the balance sheet?
FY2026 · every deduction from revenue to net income
DuPont — the three levers
Watch the leverage lever — a chunk of ROE comes from the balance sheet.
What the company owes vs. what it holds
Year-by-year maturities aren't in SEC companyfacts (footnote-only), so this shows the debt/cash structure and net leverage instead.
Latest year: profit growth vs revenue growth
Profit and sales moved in opposite directions this year.
Each line as % of revenue — the trend in color
| % of revenue | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | FY2026 |
|---|---|---|---|---|---|---|---|---|
| Cost of Revenue | 53.9 | 54.2 | 56.0 | 59.1 | 58.0 | 55.8 | 55.2 | 58.1 |
| Gross Profit | 46.1 | 45.8 | 44.0 | 40.9 | 42.0 | 44.2 | 44.8 | 41.9 |
| R&D | — | — | — | — | 0.6 | 0.7 | 0.6 | 0.5 |
| SG&A | 28.8 | 28.5 | 29.9 | 25.3 | 23.6 | 24.0 | 24.1 | 24.9 |
| Operating Income | 17.3 | 17.1 | 14.1 | 15.5 | 18.3 | 20.1 | 20.6 | 15.6 |
| Income Tax | 4.4 | 3.3 | 2.6 | 3.9 | 3.9 | 4.8 | 4.9 | 3.0 |
| Net Income | 13.0 | 11.8 | 9.6 | 10.7 | 12.7 | 12.9 | 15.6 | 10.4 |
Green = margin-favorable vs the row's own range · red = unfavorable.
The metrics that matter, over time
A 30-second read on CSW: price, valuation, headline fundamentals, and an auto-generated scorecard from SEC filings. Flags are rule-based signals, not recommendations.
EOD close · as of 2026-08-05 · 16d old
How a revenue dollar becomes profit — FY2026
Each value shows its share of revenue below it (common-size).
| Line Item | FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $1.08B 100.0% | $878.3M 100.0% | $792.8M 100.0% | $757.9M 100.0% | $626.4M 100.0% | $419.2M 100.0% | $385.9M 100.0% | $350.2M 100.0% | $326.2M 100.0% | $287.5M 100.0% |
| Cost of Revenue | $628.9M 58.1% | $485.0M 55.2% | $442.1M 55.8% | $439.7M 58.0% | $370.5M 59.1% | $234.7M 56.0% | $209.0M 54.2% | $188.8M 53.9% | $178.3M 54.7% | $158.5M 55.1% |
| Gross Profit | $453.7M 41.9% | $393.3M 44.8% | $350.7M 44.2% | $318.2M 42.0% | $256.0M 40.9% | $184.6M 44.0% | $176.8M 45.8% | $161.4M 46.1% | $147.9M 45.3% | $129.0M 44.9% |
| Research & Development | $5.8M 0.5% | $5.3M 0.6% | $5.9M 0.7% | $4.8M 0.6% | — | — | — | — | — | — |
| Selling, General & Admin | $269.5M 24.9% | $212.1M 24.1% | $190.1M 24.0% | $179.1M 23.6% | $158.6M 25.3% | $125.3M 29.9% | $110.0M 28.5% | $100.9M 28.8% | $98.3M 30.1% | $95.6M 33.3% |
| Operating Income | $168.5M 15.6% | $181.2M 20.6% | $159.1M 20.1% | $139.1M 18.3% | $97.4M 15.5% | $59.2M 14.1% | $65.9M 17.1% | $60.4M 17.3% | $49.7M 15.2% | $32.0M 11.1% |
| Other Income (Expense), net | -$737K -0.1% | -$862K -0.1% | -$5.9M -0.7% | $42K 0.0% | -$466K -0.1% | -$6.0M -1.4% | -$7.1M -1.8% | $2.4M 0.7% | $905K 0.3% | $2.8M 1.0% |
| Pretax Income | $145.6M 13.4% | $180.1M 20.5% | $140.5M 17.7% | $125.9M 16.6% | $91.5M 14.6% | $50.9M 12.1% | $57.4M 14.9% | $61.4M 17.5% | $48.2M 14.8% | $32.2M 11.2% |
| Income Tax Expense | $32.7M 3.0% | $42.6M 4.9% | $37.9M 4.8% | $29.3M 3.9% | $24.1M 3.9% | $10.8M 2.6% | $12.7M 3.3% | $15.4M 4.4% | $15.6M 4.8% | $14.4M 5.0% |
| Net Income | $112.0M 10.4% | $136.7M 15.6% | $102.5M 12.9% | $96.6M 12.7% | $67.3M 10.7% | $40.1M 9.6% | $45.7M 11.8% | $45.6M 13.0% | -$11.9M -3.6% | $11.1M 3.9% |
| Per Share | ||||||||||
| EPS (Basic) | $6.73 | $8.41 | $6.54 | $6.22 | $4.21 | $2.67 | $3.04 | $2.96 | $-0.76 | $0.70 |
| EPS (Diluted) | $6.70 | $8.38 | $6.52 | $6.20 | $4.20 | $2.65 | $3.01 | $2.93 | $-0.76 | $0.70 |
| Weighted Avg Shares (Basic) | 16.7M | 16.2M | 15.5M | 15.5M | 15.8M | 15.0M | 15.0M | 15.4M | 15.7M | 15.8M |
| Weighted Avg Shares (Diluted) | 16.7M | 16.3M | 15.6M | 15.5M | 15.8M | 15.1M | 15.2M | 15.5M | 15.7M | 15.8M |
Source: SEC EDGAR XBRL filings (annual, fiscal year). Quarterly flow items are derived from cumulative filings; balance-sheet figures are as-of each period end. Ratios and margins are computed, not reported.
Top 40 institutional holders — bubble size is position value, color is the move since last quarter. Hover any holder for detail.
Drag any bubble to rearrange · size = dollar value of the position