Loading institutional data...
Loading institutional data...
Held by 731 of 5,944 reporting institutions (98th 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...
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.
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
Is the value real, and is the business safe? Academic scores + earnings quality + solvency, from SEC filings.
4/8 of the 9 checks — 1 couldn't be scored (see above), so the score is out of the 8 with data.
Insufficient balance-sheet detail (needs retained earnings, working capital, equity).
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.
Cash conversion lags reported earnings — watch accruals. Lower/negative accruals = higher quality (Sloan).
Coverage data unavailable.
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 takes 89% of free cash flow — sustainable but with limited headroom. Last year: $474M dividends + $0 buybacks = $474M returned on $535M FCF.
2 consecutive years of dividend increases · 14%/yr.
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).
Reinvestment has been productive — operating income grew well per dollar put in. Current ROIC on all capital: 21%. 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.
Insufficient EBITDA/debt history.
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 vs short-term debt unavailable.
Short-term / long-term split not separately reported.
Debt, cash, interest and equity from the SEC balance sheet & income statement. Effective rate = interest ÷ average debt. Educational — not a recommendation.
How a revenue dollar becomes profit — FY2025
Each value shows its share of revenue below it (common-size).
| Line Item | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $7.24B 100.0% | $7.62B 100.0% | $7.28B 100.0% | $7.27B 100.0% | $6.28B 100.0% | $5.05B 100.0% | $4.77B 100.0% | $4.55B 100.0% | $4.34B 100.0% | $4.22B 100.0% |
| Cost of Revenue | $5.21B 72.0% | $5.57B 73.2% | $5.29B 72.6% | $5.24B 72.1% | $4.61B 73.4% | $3.83B 75.8% | $3.61B 75.7% | $3.43B 75.4% | $3.28B 75.5% | $3.19B 75.5% |
| Gross Profit | $2.03B 28.0% | $2.04B 26.8% | $1.99B 27.4% | $2.03B 27.9% | $1.67B 26.6% | $1.22B 24.2% | $1.16B 24.3% | $1.12B 24.6% | $1.07B 24.5% | $1.03B 24.5% |
| Selling, General & Admin | $1.34B 18.5% | $1.29B 17.0% | $1.22B 16.8% | $1.22B 16.8% | $1.06B 16.9% | $833.1M 16.5% | $800.3M 16.8% | $757.5M 16.7% | $715.7M 16.5% | $689.0M 16.3% |
| Operating Income | $720.3M 10.0% | $781.8M 10.3% | $794.8M 10.9% | $831.6M 11.4% | $628.5M 10.0% | $401.0M 7.9% | $366.9M 7.7% | $372.1M 8.2% | $353.9M 8.2% | $345.6M 8.2% |
| Pretax Income | $737.7M 10.2% | $802.6M 10.5% | $789.9M 10.8% | $829.4M 11.4% | $627.5M 10.0% | $399.8M 7.9% | $362.9M 7.6% | $369.3M 8.1% | $347.5M 8.0% | $341.9M 8.1% |
| Income Tax Expense | $150.1M 2.1% | $166.9M 2.2% | $155.8M 2.1% | $125.7M 1.7% | $128.8M 2.1% | $76.6M 1.5% | $67.1M 1.4% | $72.8M 1.6% | $90.2M 2.1% | $105.9M 2.5% |
| Net Income | $587.6M 8.1% | $635.7M 8.3% | $634.1M 8.7% | $703.7M 9.7% | $498.7M 7.9% | $269.6M 5.3% | $245.9M 5.2% | $242.9M 5.3% | $208.2M 4.8% | $182.8M 4.3% |
| Per Share | ||||||||||
| EPS (Basic) | $12.27 | $13.34 | $13.72 | $15.46 | $10.83 | $7.03 | $6.51 | $6.50 | $5.81 | $5.16 |
| EPS (Diluted) | $12.25 | $13.30 | $13.67 | $15.41 | $10.78 | $7.01 | $6.50 | $6.49 | $5.81 | $5.15 |
| Weighted Avg Shares (Basic) | 37.8M | 37.4M | 36.4M | — | 35.2M | 35.1M | 34.6M | 34.3M | 32.8M | 32.6M |
| Weighted Avg Shares (Diluted) | 37.9M | 37.5M | 36.5M | — | 35.4M | 35.2M | 34.7M | 34.4M | 32.9M | 32.6M |
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.
No trend data available for this metric.
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.
No current price collected.
No material risks flagged.
Where each multiple sits in its own 14-yr range
Dot = today · shaded = middle 50% · line = median. Lower percentile = cheaper vs its own 14-yr history.
Is the profit real, and how strong is the balance sheet?
FY2025 · every deduction from revenue to net income
DuPont — the three levers
Returns are margin-driven, not leverage-driven — higher quality.
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
High operating leverage: profit moved 1.6× as fast as sales — great in an upturn, painful in a downturn.
Each line as % of revenue — the trend in color
| % of revenue | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 |
|---|---|---|---|---|---|---|---|---|
| Cost of Revenue | 75.4 | 75.7 | 75.8 | 73.4 | 72.1 | 72.6 | 73.2 | 72.0 |
| Gross Profit | 24.6 | 24.3 | 24.2 | 26.6 | 27.9 | 27.4 | 26.8 | 28.0 |
| SG&A | 16.7 | 16.8 | 16.5 | 16.9 | 16.8 | 16.8 | 17.0 | 18.5 |
| Operating Income | 8.2 | 7.7 | 7.9 | 10.0 | 11.4 | 10.9 | 10.3 | 10.0 |
| Income Tax | 1.6 | 1.4 | 1.5 | 2.1 | 1.7 | 2.1 | 2.2 | 2.1 |
| Net Income | 5.3 | 5.2 | 5.3 | 7.9 | 9.7 | 8.7 | 8.3 | 8.1 |
Green = margin-favorable vs the row's own range · red = unfavorable.
The metrics that matter, over time
A 30-second read on WSO: price, valuation, headline fundamentals, and an auto-generated scorecard from SEC filings. Flags are rule-based signals, not recommendations.