Loading institutional data...
Loading institutional data...
Held by 193 of 5,944 reporting institutions (91th 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.
No trend data available for this metric.
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
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: 0%. 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 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 | $149.5M 100.0% | $124.5M 100.0% | $109.1M 100.0% | $82.3M 100.0% | $70.3M 100.0% | $56.4M 100.0% | $44.9M 100.0% | $43.7M 100.0% | $38.7M 100.0% | $65.9M 100.0% |
| Cost of Revenue | $37.9M 25.4% | $33.2M 26.7% | $30.2M 27.7% | $22.9M 27.8% | $22.4M 31.9% | $15.2M 27.0% | $7.1M 15.8% | $8.8M 20.1% | $8.3M 21.6% | $20.3M 30.7% |
| Gross Profit | $111.6M 74.6% | $91.3M 73.3% | $78.9M 72.3% | $59.5M 72.2% | — | — | — | — | — | — |
| Selling, General & Admin | $18.5M 12.4% | $16.3M 13.1% | $14.2M 13.1% | $12.9M 15.7% | $11.2M 15.9% | $11.6M 20.5% | $9.8M 21.8% | $9.8M 22.4% | $10.3M 26.5% | $10.3M 15.6% |
| Total Operating Expenses | — | — | — | — | — | — | — | $45.2M 103.6% | $47.1M 121.8% | $40.7M 61.7% |
| Operating Income | $34.0M 22.7% | $17.6M 14.1% | $26.5M 24.3% | $10.7M 13.0% | $23.3M 33.2% | $12.3M 21.8% | $34.2M 76.1% | $31.4M 71.9% | $7.7M 20.0% | $38.0M 57.6% |
| Interest Expense | $26.9M 18.0% | $22.5M 18.1% | $22.4M 20.5% | $11.1M 13.5% | $8.9M 12.7% | $10.8M 19.2% | $12.5M 27.7% | $10.4M 23.9% | $8.5M 22.1% | $8.8M 13.3% |
| Pretax Income | $10.5M 7.0% | -$2.3M -1.9% | $6.1M 5.6% | $328K 0.4% | $26.9M 38.2% | -$5.0M -8.9% | $22.1M 49.1% | $21.0M 48.1% | -$740K -1.9% | $28.7M 43.6% |
| Income Tax Expense | $446K 0.3% | -$339K -0.3% | $604K 0.6% | -$2.8M -3.4% | -$3.1M -4.4% | -$83.5M -148.1% | $5.5M 12.2% | $6.0M 13.8% | -$22.5M -58.2% | $12.1M 18.4% |
| Net Income | $2.6M 1.7% | -$8.8M -7.1% | $758K 0.7% | -$1.6M -2.0% | $27.6M 39.3% | $78.5M 139.2% | $115.0M 255.8% | $37.2M 85.1% | $41.7M 107.9% | $16.3M 24.7% |
| Per Share | ||||||||||
| EPS (Basic) | $0.08 | $-0.35 | $0.03 | $-0.09 | $1.56 | $5.56 | $23.03 | $6.76 | $7.53 | $2.86 |
| EPS (Diluted) | $0.08 | $-0.35 | $0.03 | $-0.09 | $1.56 | $5.56 | $23.00 | $6.72 | $7.48 | $2.85 |
| Weighted Avg Shares (Basic) | 32.3M | 25.4M | 22.5M | 18.5M | 17.7M | 14.1M | 5.0M | 5.5M | 5.5M | 5.7M |
| Weighted Avg Shares (Diluted) | 32.3M | 25.4M | 22.5M | 18.5M | 17.7M | 14.1M | 5.0M | 5.5M | 5.6M | 5.7M |
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.
Is the value real, and is the business safe? Academic scores + earnings quality + solvency, from SEC filings.
6/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).
Needs granular two-year detail (receivables, PP&E, D&A, SG&A) — not fully reported.
Cash-conversion data unavailable. Lower/negative accruals = higher quality (Sloan).
Interest coverage is thin — monitor; 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.
Free-cash-flow coverage unavailable. Last year: $49M dividends + $9M buybacks = $58M returned.
1 consecutive years of dividend increases · 33%/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 much the company owes, how it's trended, and how comfortably it's serviced.
Cash of $6M covers the $0 due within a year 6467000.0× over. Scheduled principal only (excludes interest & revolver draws). As of 2015-06-30 (10-Q).
Green ≤ 1.5× · amber ≤ 3× · red > 3× (leverage relative to cash earnings).
Thin coverage — earnings barely cover interest. Effective rate ~4.4% on $616M of debt.
Cash vs short-term debt unavailable.
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.
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.
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
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
High operating leverage: profit moved 4.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 | 20.1 | 15.8 | 27.0 | 31.9 | 27.8 | 27.7 | 26.7 | 25.4 |
| Gross Profit | — | — | — | — | 72.2 | 72.3 | 73.3 | 74.6 |
| SG&A | 22.4 | 21.8 | 20.5 | 15.9 | 15.7 | 13.1 | 13.1 | 12.4 |
| Operating Income | 71.9 | 76.1 | 21.8 | 33.2 | 13.0 | 24.3 | 14.1 | 22.7 |
| Income Tax | 13.8 | 12.2 | -148.1 | -4.4 | -3.4 | 0.6 | -0.3 | 0.3 |
| Net Income | 85.1 | 255.8 | 139.2 | 39.3 | -2.0 | 0.7 | -7.1 | 1.7 |
Green = margin-favorable vs the row's own range · red = unfavorable.
The metrics that matter, over time
A 30-second read on CTO: price, valuation, headline fundamentals, and an auto-generated scorecard from SEC filings. Flags are rule-based signals, not recommendations.