Loading institutional data...
Loading institutional data...
Strong institutional accumulation: ownership increased +6.57% quarter-over-quarter.
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...
How management deployed cash over 10 years — and what it earned on reinvestment.
A reinvestment story — most cash went back into growth rather than to shareholders.
Operating income fell despite reinvestment — a warning on capital productivity. Current ROIC on all capital: -94%. 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-08-05 · 15d old
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 | $396.9M 100.0% | $432.5M 100.0% | $480.8M 100.0% | $537.8M 100.0% | $494.3M 100.0% | $449.0M 100.0% | $461.7M 100.0% | $357.6M 100.0% | $337.7M 100.0% | $326.1M 100.0% |
| Cost of Revenue | $170.7M 43.0% | $182.5M 42.2% | $198.0M 41.2% | $212.3M 39.5% | $182.6M 36.9% | $162.2M 36.1% | $178.0M 38.6% | $129.1M 36.1% | $118.7M 35.2% | $112.2M 34.4% |
| Cost of Services | — | — | — | — | — | — | — | — | $136.9M 40.5% | $128.2M 39.3% |
| Gross Profit | — | — | — | — | — | — | $279.1M 60.5% | $229.2M 64.1% | $219.0M 64.8% | $213.9M 65.6% |
| Selling, General & Admin | $218.4M 55.0% | $232.7M 53.8% | $253.9M 52.8% | $278.5M 51.8% | $257.6M 52.1% | $245.1M 54.6% | $253.2M 54.8% | $201.1M 56.2% | $190.6M 56.5% | $181.3M 55.6% |
| Total Operating Expenses | $510.1M 128.5% | $431.7M 99.8% | $474.0M 98.6% | $505.1M 93.9% | $455.7M 92.2% | $432.8M 96.4% | $462.8M 100.2% | $335.1M 93.7% | $310.1M 91.8% | $295.3M 90.6% |
| Operating Income | -$113.2M -28.5% | $740K 0.2% | $6.8M 1.4% | $32.7M 6.1% | $38.6M 7.8% | -$16.2M -3.6% | $1.1M 0.2% | $22.4M 6.3% | $27.5M 8.2% | $30.8M 9.4% |
| Interest Expense | — | — | — | $2.5M 0.5% | $4.2M 0.9% | $5.3M 1.2% | $8.1M 1.7% | — | — | — |
| Other Income (Expense), net | $3.8M 0.9% | $4.1M 0.9% | $2.4M 0.5% | $222K 0.0% | -$1.2M -0.2% | -$374K -0.1% | -$515K -0.1% | $674K 0.2% | $301K 0.1% | $740K 0.2% |
| Pretax Income | -$119.4M -30.1% | $2.6M 0.6% | $6.3M 1.3% | $30.7M 5.7% | $33.2M 6.7% | $12.9M 2.9% | -$9.6M -2.1% | $23.5M 6.6% | $27.4M 8.1% | $30.7M 9.4% |
| Income Tax Expense | -$49K -0.0% | $8.4M 1.9% | $3.2M 0.7% | $8.9M 1.7% | $8.3M 1.7% | $2.9M 0.7% | -$29K -0.0% | $8.1M 2.3% | $12.2M 3.6% | $13.1M 4.0% |
| Net Income | -$119.4M -30.1% | -$5.7M -1.3% | $3.0M 0.6% | $21.8M 4.1% | $24.8M 5.0% | $10.0M 2.2% | -$9.6M -2.1% | $15.4M 4.3% | $15.1M 4.5% | $17.7M 5.4% |
| Per Share | ||||||||||
| EPS (Basic) | $-6.28 | $-0.30 | $0.16 | $1.15 | $1.30 | $-0.53 | $0.52 | $0.85 | $0.84 | $0.98 |
| EPS (Diluted) | $-6.28 | $-0.30 | $0.16 | $1.14 | $1.28 | $0.53 | $0.52 | $0.84 | $0.83 | $0.97 |
| Weighted Avg Shares (Basic) | 19.0M | 19.1M | 19.2M | 19.0M | 19.1M | 18.8M | 18.5M | 18.1M | 17.9M | 18.0M |
| Weighted Avg Shares (Diluted) | 19.0M | 19.1M | 19.3M | 19.2M | 19.4M | 18.9M | 18.5M | 18.4M | 18.2M | 18.3M |
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.
Solve the discounted cash flow backwards, then stress-test the assumptions.
To be worth $11.63 today, the market must believe free cash flow compounds -3.0%/yr for a decade (off $17M normalized FCF).
The market's -3.0% is more optimistic than its 9-yr track record.
2-stage DCF · 0.02B shares · net debt -$63M
mean -14.0% · volatility σ 84% · implied rate exceeded in 4/8 yrs
Central path = implied -3.0%/yr growth; shaded band = ±1σ (84%) 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.
Is the value real, and is the business safe? Academic scores + earnings quality + solvency, from SEC filings.
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.
Cash-conversion data unavailable. Lower/negative accruals = higher quality (Sloan).
Coverage data unavailable; leverage falling 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.
No dividend to cover. Last year: $0 dividends + $3M buybacks = $3M returned on $18M 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 much the company owes, how it's trended, and how comfortably it's serviced.
Green ≤ 1.5× · amber ≤ 3× · red > 3× (leverage relative to cash earnings).
Interest is easily covered by operating profit. Effective rate ~4.9% on $50M of debt. Interest last disclosed in FY2022 (no longer broken out).
Cash of $63M fully covers short-term debt of $35M.
Mostly short-term debt (balance-sheet current vs non-current split). A year-by-year maturity schedule wasn't disclosed for this issuer.
Debt, cash, interest and equity from the SEC balance sheet & income statement. Effective rate = interest ÷ average debt. Educational — not a recommendation.
EOD close · as of 2026-08-05
Where each multiple sits in its own 14-yr range · 10th 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
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 1871.0× 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 | 36.1 | 38.6 | 36.1 | 36.9 | 39.5 | 41.2 | 42.2 | 43.0 |
| Gross Profit | 64.1 | 60.5 | — | — | — | — | — | — |
| SG&A | 56.2 | 54.8 | 54.6 | 52.1 | 51.8 | 52.8 | 53.8 | 55.0 |
| Operating Income | 6.3 | 0.2 | -3.6 | 7.8 | 6.1 | 1.4 | 0.2 | -28.5 |
| Income Tax | 2.3 | -0.0 | 0.7 | 1.7 | 1.7 | 0.7 | 1.9 | -0.0 |
| Net Income | 4.3 | -2.1 | 2.2 | 5.0 | 4.1 | 0.6 | -1.3 | -30.1 |
Green = margin-favorable vs the row's own range · red = unfavorable.
The metrics that matter, over time
A 30-second read on FORR: price, valuation, headline fundamentals, and an auto-generated scorecard from SEC filings. Flags are rule-based signals, not recommendations.
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.
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
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.
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 |
| FORR | $221M | — | — | 0.6× | -8.2% | 57.0% | -30.1% | -94.3% | -94.3% | 0.0× | 100 |
Peers = companies sharing FORR'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.