Loading institutional data...
Loading institutional data...
Held by 177 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.
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.
Reinvestment has been productive — operating income grew well per dollar put in. Current ROIC on all capital: 9%. 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 $2M is below the $3M due within a year — relies on refinancing or operating cash flow. Scheduled principal only (excludes interest & revolver draws). As of 2025-12-31 (10-K).
Insufficient EBITDA/debt history.
Green ≤ 1.5× · amber ≤ 3× · red > 3× (leverage relative to cash earnings).
Interest is easily covered by operating profit. Effective rate ~30.8% on $8M of debt.
Cash of $2M is below short-term debt of $3M — relies on refinancing/operations.
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.
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 |
| NWPX | $1.2B | 34.9× | — | 2.3× | 6.8% | 19.7% | 6.7% | 9.0% | 8.8% | — | 177 |
Peers = companies sharing NWPX'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.
Solve the discounted cash flow backwards, then stress-test the assumptions.
To be worth $124.23 today, the market must believe free cash flow compounds 13.6%/yr for a decade (off $39M normalized FCF).
The market's 13.6% is more optimistic than its 6-yr track record.
2-stage DCF · 0.01B shares · net debt $6M
mean -21.9% · volatility σ 84% · implied rate exceeded in 2/4 yrs
Central path = implied 13.6%/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
Needs granular two-year detail (receivables, PP&E, D&A, SG&A) — not fully reported.
Earnings are backed by cash (FCF ≥ net income) — high quality. Lower/negative accruals = higher quality (Sloan).
Comfortably covers interest.
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 + $18M buybacks = $18M returned on $47M 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.
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
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 | $526.0M 100.0% | $492.5M 100.0% | $444.4M 100.0% | $457.7M 100.0% | $333.3M 100.0% | $285.9M 100.0% | $279.3M 100.0% | $172.1M 100.0% | $132.8M 100.0% | $149.4M 100.0% |
| Cost of Revenue | $422.4M 80.3% | $397.1M 80.6% | $366.7M 82.5% | $371.8M 81.2% | $289.1M 86.7% | $235.4M 82.3% | $232.1M 83.1% | $160.1M 93.0% | $127.0M 95.6% | $149.7M 100.2% |
| Gross Profit | $103.6M 19.7% | $95.4M 19.4% | $77.6M 17.5% | $85.9M 18.8% | $44.3M 13.3% | $50.5M 17.7% | $47.2M 16.9% | $12.1M 7.0% | $5.8M 4.4% | $64K 0.0% |
| Selling, General & Admin | $52.8M 10.0% | $47.2M 9.6% | $43.8M 9.9% | $41.0M 9.0% | $28.2M 8.5% | $25.0M 8.7% | $18.5M 6.6% | $16.7M 9.7% | $14.1M 10.7% | $16.9M 11.3% |
| Operating Income | $50.9M 9.7% | $48.2M 9.8% | $33.9M 7.6% | $44.8M 9.8% | $16.0M 4.8% | $25.6M 8.9% | $28.7M 10.3% | -$3.0M -1.7% | -$9.2M -6.9% | -$10.0M -6.7% |
| Interest Expense | $2.6M 0.5% | $5.7M 1.1% | $4.9M 1.1% | $3.6M 0.8% | $1.2M 0.4% | $933K 0.3% | $472K 0.2% | $583K 0.3% | $490K 0.4% | $509K 0.3% |
| Other Income (Expense), net | -$1.8M -0.3% | -$213K -0.0% | $276K 0.1% | $97K 0.0% | $328K 0.1% | $1.0M 0.4% | $4.4M 1.6% | $267K 0.2% | $201K 0.2% | -$357K -0.2% |
| Pretax Income | $46.5M 8.8% | $42.4M 8.6% | $29.3M 6.6% | $41.4M 9.0% | $15.2M 4.5% | $25.6M 9.0% | $32.6M 11.7% | $17.1M 9.9% | -$9.5M -7.1% | -$10.8M -7.3% |
| Income Tax Expense | $11.1M 2.1% | $8.2M 1.7% | $8.2M 1.8% | $10.2M 2.2% | $3.6M 1.1% | $6.6M 2.3% | $4.7M 1.7% | -$3.3M -1.9% | -$1.1M -0.8% | -$4.1M -2.7% |
| Net Income | $35.4M 6.7% | $34.2M 6.9% | $21.1M 4.7% | $31.1M 6.8% | $11.5M 3.5% | $19.1M 6.7% | $27.9M 10.0% | $20.3M 11.8% | -$10.2M -7.7% | -$9.3M -6.2% |
| Per Share | ||||||||||
| EPS (Basic) | $3.62 | $3.45 | $2.11 | $3.14 | $1.17 | $1.95 | $2.86 | $2.09 | $-1.06 | $-0.97 |
| EPS (Diluted) | $3.56 | $3.40 | $2.09 | $3.11 | $1.16 | $1.93 | $2.85 | $2.09 | $-1.06 | $-0.97 |
| Weighted Avg Shares (Basic) | 9.8M | 9.9M | 10.0M | 9.9M | 9.9M | 9.8M | 9.7M | 9.7M | 9.6M | 9.6M |
| Weighted Avg Shares (Diluted) | 9.9M | 10.1M | 10.1M | 10.0M | 9.9M | 9.9M | 9.8M | 9.7M | 9.6M | 9.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.
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.
EOD close · as of 2026-08-05
Nothing notable to watch.
No material risks flagged.
Where each multiple sits in its own 14-yr range · 100th 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
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
Low operating leverage — profit tracks sales closely (stable, less cyclical).
Each line as % of revenue — the trend in color
| % of revenue | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 |
|---|---|---|---|---|---|---|---|---|
| Cost of Revenue | 93.0 | 83.1 | 82.3 | 86.7 | 81.2 | 82.5 | 80.6 | 80.3 |
| Gross Profit | 7.0 | 16.9 | 17.7 | 13.3 | 18.8 | 17.5 | 19.4 | 19.7 |
| SG&A | 9.7 | 6.6 | 8.7 | 8.5 | 9.0 | 9.9 | 9.6 | 10.0 |
| Operating Income | -1.7 | 10.3 | 8.9 | 4.8 | 9.8 | 7.6 | 9.8 | 9.7 |
| Income Tax | -1.9 | 1.7 | 2.3 | 1.1 | 2.2 | 1.8 | 1.7 | 2.1 |
| Net Income | 11.8 | 10.0 | 6.7 | 3.5 | 6.8 | 4.7 | 6.9 | 6.7 |
Green = margin-favorable vs the row's own range · red = unfavorable.
The metrics that matter, over time
A 30-second read on NWPX: price, valuation, headline fundamentals, and an auto-generated scorecard from SEC filings. Flags are rule-based signals, not recommendations.