Loading institutional data...
Loading institutional data...
Insufficient data to determine institutional momentum.
Data as of Q2 2026
Loading snapshot...
Loading financials...
Loading valuation...
Loading analysis...
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
Solve the discounted cash flow backwards, then stress-test the assumptions.
Average free cash flow across the last 3 positive fiscal years (FY2023, FY2024, FY2025). Smooths the cycle. Stock compensation is NOT charged — it is added back inside operating cash flow.
To be worth $53.37 today, the market must believe free cash flow compounds -3.8%/yr for a decade (off $29.1M on the 3-yr avg basis).
On the basis ($25.3M) the requirement is -1.9%/yr. Shares issued to employees are added back in operating cash flow, so this basis treats them as free.
The market's -3.8% is more conservative than its 9-yr track record.
Default is 8.9% — this company's computed cost of capital (computed WACC), the same rate the Analysis tab discounts at.
2-stage DCF · 0.01B shares (market data) · net debt -$392.3M
mean 4.9% · volatility σ 30% · implied rate exceeded in 6/9 yrs
Central path = implied -3.8%/yr growth; shaded band = ±1σ (30%) 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 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.
What the company returns to shareholders — and whether it's covered by cash.
The dividend is comfortably covered — only 52% of free cash flow, leaving room to grow it and fund buybacks. Last year: $16.5M dividends + $26.0M buybacks = $42.5M returned on $31.8M FCF.
9 consecutive years of dividend increases · 7%/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).
Insufficient data. Current ROIC on all capital: 14%. 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.
EOD close · as of 2026-10-12
How a revenue dollar becomes profit — FY2025
Dividends and buybacks are cash paid out, shown here against the same year's profit for scale — not funded from it. This year they exceeded net income, so the ribbons are capped at earnings and understate what was actually returned.
Each value shows its share of revenue below it (common-size).
| Line Item | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $190.8M 100.0% | $181.2M 100.0% | $177.0M 100.0% | $182.5M 100.0% | $154.1M 100.0% | $145.0M 100.0% | $157.2M 100.0% | $148.3M 100.0% | $135.3M 100.0% | $125.5M 100.0% |
| Total Operating Expenses | $152.0M 79.7% | $157.7M 87.1% | $142.5M 80.5% | $139.6M 76.5% | — | — | — | — | — | — |
| Interest Expense | — | $20.3M 11.2% | $16.3M 9.2% | $3.5M 1.9% | $1.2M 0.8% | $2.4M 1.6% | $5.2M 3.3% | $3.7M 2.5% | $2.2M 1.6% | $2.0M 1.6% |
| Pretax Income | $38.8M 20.3% | $23.4M 12.9% | $34.5M 19.5% | $42.9M 23.5% | $33.8M 21.9% | $30.3M 20.9% | $37.5M 23.8% | $36.3M 24.5% | $34.9M 25.8% | $32.1M 25.5% |
| Income Tax Expense | $7.6M 4.0% | $4.9M 2.7% | $6.6M 3.7% | $8.0M 4.4% | $5.2M 3.4% | $5.2M 3.6% | $7.1M 4.5% | $6.1M 4.1% | $9.9M 7.3% | $7.7M 6.1% |
| Net Income | $35.1M 18.4% | $19.2M 10.6% | $30.1M 17.0% | $34.9M 19.1% | $28.6M 18.6% | $25.2M 17.4% | $30.4M 19.3% | $30.3M 20.4% | $25.0M 18.5% | $24.3M 19.4% |
| Per Share | ||||||||||
| EPS (Basic) | $2.66 | $1.42 | $2.22 | $2.58 | $2.03 | $1.75 | $2.11 | $2.06 | $1.70 | $1.65 |
| EPS (Diluted) | $2.61 | $1.39 | $2.18 | $2.53 | $2.00 | $1.73 | $2.07 | $2.03 | $1.68 | $1.63 |
| Weighted Avg Shares (Basic) | 13.2M | 13.5M | 13.5M | 13.6M | 14.1M | 14.4M | 14.4M | 14.7M | 14.7M | 14.7M |
| Weighted Avg Shares (Diluted) | 13.5M | 13.8M | 13.8M | 13.8M | 14.3M | 14.6M | 14.7M | 14.9M | 14.9M | 14.9M |
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.
EOD close · as of 2026-10-12
Where each multiple sits in its own 14-yr range · 71th pct blended
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
ROE 14% against ROIC 14% — 0% of the return on equity comes from leverage and buybacks rather than from the operating business.
What the company owes vs. what it holds
This shows debt/cash structure and net leverage. The year-by-year maturity schedule is on the Debt & Leverage tab.
Latest year: profit growth vs revenue growth
Operating leverage needs meaningful revenue change.
Each line as % of revenue — the trend in color
| % of revenue | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 |
|---|---|---|---|---|---|---|---|---|
| Income Tax | 4.1 | 4.5 | 3.6 | 3.4 | 4.4 | 3.7 | 2.7 | 4.0 |
| Net Income | 20.4 | 19.3 | 17.4 | 18.6 | 19.1 | 17.0 | 10.6 | 18.4 |
Green = margin-favorable vs the row's own range · red = unfavorable.
The metrics that matter, over time
A 30-second read on CASS: price, valuation and headline fundamentals from SEC filings. The four questions at the top of the page are where the judgements live.
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.” Interest last disclosed in FY2024 (no longer broken out).
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.
No positive operating income in the last three years, so there is no return on capital to compare against its cost.
| Fiscal year | Gross margin | Operating margin | Net margin |
|---|---|---|---|
| FY2016 | not reported | not reported | 19.4% |
| FY2017 | not reported | not reported | 18.5% |
| FY2018 | not reported | not reported | 20.4% |
| FY2019 | not reported | not reported | 19.3% |
| FY2020 | not reported | not reported | 17.4% |
| FY2021 | not reported | not reported | 18.6% |
| FY2022 | not reported | not reported | 19.1% |
| FY2023 | not reported | not reported | 17.0% |
| FY2024 | not reported | not reported | 10.6% |
| FY2025 | not reported | not reported | 18.4% |
Return on equity (14%) and return on invested capital (14%) are within a couple of points in FY2025, so the headline return is the operating return — there is no meaningful leverage effect to strip out.
No material counter-signal in the checked set: ROIC vs WACC spread, 5-year spread history, gross margin trend, operating margin trend, net margin against 3 years ago, revenue growth, ROIC ex-goodwill gap.
Missing from our data, so excluded from this answer: positive EBIT.
Converts 1.14x of reported profit into free cash flow over 5 years, with accruals negative.
Reported free cash flow is $32M; after share-based compensation it is $28M. The difference is a real cost that the cash flow statement adds back.
No debt, so there is no leverage path to distress.
Balance sheet at 2025-12-31. Undrawn revolving credit is not shown: the tag is collected but not yet mapped through to the API.
No material counter-signal in the checked set: net debt / EBITDA, interest coverage, stressed coverage, maturity schedule vs cash and one year of FCF, liquidity ratios.
At $53.37, free cash flow must compound -3.82%/yr for 10 years. It has done -3.52%/yr over 6 years, though across a reporting-basis change.
| Fiscal year | FCF growth | Price requires |
|---|---|---|
| FY2020 | 16.2% | −3.8% |
| FY2021 | −34.1% | −3.8% |
| FY2022 | 51.6% | −3.8% |
| FY2023 | −45.3% | −3.8% |
| FY2024 | 21.8% | −3.8% |
| FY2025 | 4.4% | −3.8% |
The achieved growth rate spans a reporting-basis change in FY2023, so part of it measures the restatement rather than the business.
| Step | Amount | Running total |
|---|---|---|
| Net income | $35M | $35M |
| Share-based comp | $4M | $39M |
| Other non-cash & working capital | −$2M | $37M |
| Operating cash flow | $37M | $37M |
| Capex | −$6M | $32M |
| Free cash flow | $32M | $32M |
| FCF after SBC | $28M | $28M |
| Fiscal year | Revenue growth | Receivables growth | Gap |
|---|---|---|---|
| FY2020 | -7.8% | not reported | not reported |
| FY2021 | 6.3% | not reported | not reported |
| FY2022 | 18.4% | not reported | not reported |
| FY2023 | -3.0% | not reported | not reported |
| FY2024 | 2.4% | not reported | not reported |
| FY2025 | 5.3% | not reported | not reported |
| Fiscal year | Accruals / assets |
|---|---|
| FY2019 | -0.7 percent |
| FY2020 | -1.0 percent |
| FY2021 | -0.2 percent |
| FY2022 | -0.7 percent |
| FY2023 | -0.3 percent |
| FY2024 | -0.8 percent |
| FY2025 | -0.1 percent |
SBC is added back inside operating cash flow, so reported free cash flow treats shares issued to employees as free. Percent of revenue says how expensive the payroll is; percent of operating cash flow says how much of the cash exists only because the charge was added back. The buyback offset is buybacks over SBC — below 1.0 the repurchase does not cover the shares issued.
Figures are the latest fiscal year (FY2025) from the company's own filings, not a trailing-twelve-month window — Q2 reads fiscal years throughout so the cash-conversion ratios and these share one basis. A blank is a line the filer did not report; it is never read as zero.