Loading institutional data...
Loading institutional data...
Held by 108 of 2,417 reporting institutions (90th percentile) — extremely crowded.
Data as of Q3 2026
Loading snapshot...
Loading financials...
Loading valuation...
Loading analysis...
Loading dividends & returns...
Loading capital allocation...
Loading debt & leverage...
Loading performance...
Loading peer comparison...
Loading insider activity...
Loading ownership map...
Loading crowding analysis...
Loading conviction analysis...
Loading buy/sell flow...
Loading ownership trends...
Loading top holders...
Loading top holders...
What the company returns to shareholders — and whether it's covered by cash.
No dividend to cover. Last year: $0 dividends + $54.5M buybacks = $54.5M returned on $134.5M 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 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.
Modest payoff on reinvested capital. Current ROIC on all capital: 18%. 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 is easily covered by operating profit. Interest last disclosed in FY2017 (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.
Solve the discounted cash flow backwards, then stress-test the assumptions.
Average free cash flow across the last 2 positive fiscal years (FY2023, FY2025). Smooths the cycle. Stock compensation is NOT charged — it is added back inside operating cash flow.
To be worth $51.14 today, the market must believe free cash flow compounds 14.6%/yr for a decade (off $178.9M on the 3-yr avg basis).
On the basis ($169.3M) the requirement is 15.4%/yr. Shares issued to employees are added back in operating cash flow, so this basis treats them as free.
The market's 14.6% is more optimistic than its 9-yr track record.
Default is 10.9% — this company's computed cost of capital (computed WACC), the same rate the Analysis tab discounts at.
2-stage DCF · 0.10B shares (market data) · net debt -$3.8M
mean 98.2% · volatility σ 268% · implied rate exceeded in 4/8 yrs
Central path = implied 14.6%/yr growth; shaded band = ±1σ (268%) 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.
Ranked against 8 sector peers with collected financials. Valuation from latest close × latest fiscal-year fundamentals; 13F conviction as of 2026-09-30.
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| FBIN | $5.3B | 18.1× | 12.0× | 1.2× | -3.2% | 44.6% | 6.7% | 12.5% | 6.1% | 3.6× | 116 |
| TREX | $5.2B | 28.7× | 16.2× | 4.4× | 2.0% | 39.2% | 16.2% | 18.4% | 18.4% | -0.0× | 108 |
| LPX | $5.1B | 35.3× | — | 1.9× | -7.9% | 21.8% | 5.4% | 8.4% | 7.0% | — | 85 |
| CVCO | $4.8B | 25.8× | 18.0× | 2.1× | 11.4% | 23.5% | 8.5% | 17.3% | 17.3% | -0.9× | 76 |
| SKY | $4.6B | 23.1× | 13.3× | 1.7× | 7.3% | 26.4% | 7.8% | 13.2% | 13.0% | -2.0× | 70 |
| UFPI | $4.5B | 16.4× | 7.6× | 0.7× | -5.0% | 16.8% | 4.7% | 9.6% | 9.0% | -1.4× | 77 |
| KOP | $785M | 15.2× | 7.6× | 0.4× | -10.2% | 23.8% | 3.0% | 9.8% | 3.8% | 4.1× | 42 |
| LEGH | $698M | 16.9× | 13.7× | 4.2× | -10.7% | 48.5% | 25.4% | 7.9% | 7.9% | -0.2× | 19 |
| JELD | $109M | — | — | 0.0× | -14.9% | 16.0% | -19.3% | -674% | -49.1% | — | 13 |
Peers = companies sharing TREX's sector (Lumber & Wood Products (No Furniture)) 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.
EOD close · as of 2026-10-30
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.
Each value shows its share of revenue below it (common-size).
| Line Item | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $1.17B 100.0% | $1.15B 100.0% | $1.09B 100.0% | $1.11B 100.0% | $1.20B 100.0% | $880.8M 100.0% | $745.3M 100.0% | $684.3M 100.0% | $565.2M 100.0% | $479.6M 100.0% |
| Cost of Revenue | $714.3M 60.8% | $649.6M 56.4% | $644.0M 58.8% | $702.1M 63.5% | $736.4M 61.5% | $521.4M 59.2% | $438.8M 58.9% | $389.4M 56.9% | $321.8M 56.9% | $292.5M 61.0% |
| Gross Profit | $460.0M 39.2% | $501.9M 43.6% | $450.8M 41.2% | $404.0M 36.5% | $460.5M 38.5% | $359.5M 40.8% | $306.5M 41.1% | $294.9M 43.1% | $243.4M 43.1% | $187.1M 39.0% |
| Research & Development | $4.2M 0.4% | $3.5M 0.3% | $3.3M 0.3% | $500K 0.0% | $6.0M 0.5% | $3.4M 0.4% | $3.4M 0.5% | $4.5M 0.7% | $3.8M 0.7% | $3.7M 0.8% |
| Selling, General & Admin | $202.0M 17.2% | $180.0M 15.6% | $176.2M 16.1% | $141.8M 12.8% | $139.6M 11.7% | $125.8M 14.3% | $118.3M 15.9% | $118.2M 17.3% | $101.0M 17.9% | $83.1M 17.3% |
| Operating Income | $258.0M 22.0% | $321.9M 28.0% | $274.6M 25.1% | $246.7M 22.3% | $275.4M 23.0% | $233.6M 26.5% | $188.2M 25.2% | $176.7M 25.8% | $142.4M 25.2% | $104.0M 21.7% |
| Interest Expense | — | — | — | — | — | — | — | — | $461K 0.1% | $1.1M 0.2% |
| Pretax Income | $258.0M 22.0% | $321.9M 28.0% | $274.6M 25.1% | $246.8M 22.3% | $275.4M 23.0% | $234.6M 26.6% | $189.7M 25.5% | $176.9M 25.8% | $141.9M 25.1% | $102.8M 21.4% |
| Income Tax Expense | $67.5M 5.8% | $83.5M 7.2% | $70.5M 6.4% | $62.2M 5.6% | $66.7M 5.6% | $59.0M 6.7% | $45.0M 6.0% | $42.3M 6.2% | $46.8M 8.3% | $35.0M 7.3% |
| Net Income | $190.4M 16.2% | $238.4M 20.7% | $204.1M 18.6% | $184.6M 16.7% | $208.7M 17.4% | $175.6M 19.9% | $144.7M 19.4% | $134.6M 19.7% | $95.1M 16.8% | $67.8M 14.1% |
| Per Share | ||||||||||
| EPS (Basic) | $1.78 | $2.20 | $1.88 | $1.65 | $1.81 | $1.52 | $1.24 | $1.15 | $1.62 | $1.16 |
| EPS (Diluted) | $1.78 | $2.20 | $1.88 | $1.65 | $1.80 | $1.51 | $1.24 | $1.14 | $1.61 | $1.15 |
| Weighted Avg Shares (Basic) | 107.0M | 108.2M | 108.7M | 111.7M | 115.5M | 115.9M | 116.9M | 117.5M | 58.8M | 58.8M |
| Weighted Avg Shares (Diluted) | 107.1M | 108.3M | 108.8M | 111.9M | 115.8M | 116.3M | 117.3M | 118.1M | 59.2M | 59.2M |
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 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
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.
Last reported position per insider, carried forward. Steps can be a holding disclosed for the first time rather than a trade.
| Date | Insider | What it was | Shares | Price | Value |
|---|---|---|---|---|---|
| 2026-10-01 | Rose B Andrew Director | Grant | 589 | $43.50 | $26k |
| 2026-10-01 | Keffer David Christian Director | Grant | 147 | $43.50 | $6k |
| 2026-08-24 | Taylor Brian J. SVP, Chief Commercial Officer | Grant | 9,520 | $47.27 | $450k |
| 2026-08-07 | Fernandez Amy M. SVP, CLO and Secretary | Open-market sale |
Every row is classified by what it MEANT, not by its SEC code. A code is not a meaning: code P (“purchase”) also covers dividend reinvestment and employee stock purchase plans, and code S (“sale”) also covers 10b5-1 plan sales scheduled months earlier and option exercises sold the same day.
Across 30 days of all filings, $5.08bn of insider selling contained $3.50bn of plan sales and $0.46bn of exercise-and-sell. Only 29% was discretionary. Reading an unclassified feed badly overstates how much insiders decided.
Buys and sales are counted separately and never netted. They are different decisions by different people; a company where one officer bought while another sold is not “neutral”.
The holding line carries each insider's last reported position forward, so it shows the total held rather than a sawtooth of whoever traded that day. It covers only insiders who filed in the window.
“Filed late” counts calendar days past the two-business-day deadline with five days' grace, so a Thursday or Friday trade crossing a weekend is never flagged. It describes the company's filing discipline, not the trade.
Insider activity is descriptive. Nothing here is investment advice.
| 1,050 |
| $50.07 |
| $53k |
| 2026-07-29 | Volas Gerald Director | Grant | 2,831 | $42.39 | $120k |
| 2026-07-29 | Tasi Irene Director | Grant | 1,101 | $42.39 | $47k |
| 2026-07-29 | Rose B Andrew Director | Grant | 1,629 | $42.39 | $69k |
| 2026-07-29 | Robinson Patricia B Director | Grant | 2,831 | $42.39 | $120k |
| 2026-07-29 | Lovett Gena C Director | Grant | 2,831 | $42.39 | $120k |
| 2026-07-29 | Keffer David Christian Director | Grant | 2,831 | $42.39 | $120k |
| 2026-07-29 | Juster Kristine L Director | Grant | 2,831 | $42.39 | $120k |
| 2026-07-29 | Gratz Jay M Director | Grant | 2,831 | $42.39 | $120k |
| 2026-07-29 | Cline James E Director | Grant | 2,831 | $42.39 | $120k |
| 2026-07-01 | Rose B Andrew Director | Grant | 526 | $48.69 | $26k |
| 2026-07-01 | Keffer David Christian Director | Grant | 131 | $48.69 | $6k |
| 2026-06-25 | Rudolph Jacob T. SVP, CHRO | 10b5-1 plan sale | 1,400 | $50.00 | $70k |
| 2026-04-01 | Keffer David Christian Director | Grant | 175 | $36.57 | $6k |
| 2026-04-01 | Rose B Andrew Director | Grant | 700 | $36.57 | $26k |
| 2026-03-03 | 3 co-filers Group filing | Open-market buy | 986 | $40.14 | $40k |
| 2026-03-03 | 3 co-filers Group filing | Open-market buy | 11,022 | $40.74 | $449k |
| 2026-03-02 | 3 co-filers Group filing | Open-market buy | 372 | $40.26 | $15k |
| 2026-03-01 | 3 co-filers EVP, Chief Operating Officer | Grant | 3,623 | $41.42 | $150k |
| 2026-03-01 | 3 co-filers SVP, CLO and Secretary | Grant | 1,910 | $41.42 | $79k |
| 2026-03-01 | 3 co-filers SVP, CHRO | Grant | 1,250 | $41.42 | $52k |
| 2026-03-01 | 3 co-filers President and CEO | Grant | 9,609 | $41.42 | $398k |
| 2026-03-01 | 3 co-filers SVP, CHRO | Other | 663 | $41.42 | $27k |
| 2026-03-01 | 3 co-filers SVP, CLO and Secretary | Other | 1,083 | $41.42 | $45k |
| 2026-03-01 | 3 co-filers EVP, Chief Operating Officer | Other | 1,928 | $41.42 | $80k |
| 2026-03-01 | 3 co-filers President and CEO | Other | 5,678 | $41.42 | $235k |
| 2026-03-01 | 3 co-filers EVP, Chief Operating Officer | Tax withholding | 8,271 | $41.42 | $343k |
| 2026-03-01 | 3 co-filers SVP, CLO and Secretary | Tax withholding | 4,496 | $41.42 | $186k |
| 2026-03-01 | 3 co-filers President and CEO | Tax withholding | 23,127 | $41.42 | $958k |
| 2026-03-01 | 3 co-filers SVP, CHRO | Tax withholding | 2,850 | $41.42 | $118k |
| 2026-02-24 | 3 co-filers SVP, Chief Financial Officer | Grant | 13,848 | $41.45 | $574k |
| 2026-02-24 | 2 co-filers SVP, CHRO | Grant | 6,321 | $41.45 | $262k |
| 2026-02-24 | 2 co-filers SVP, CLO and Secretary | Grant | 10,181 | $41.45 | $422k |
| 2026-02-24 | 2 co-filers EVP, Chief Operating Officer | Grant | 18,914 | $41.45 | $784k |
| 2026-02-24 | 2 co-filers SVP, CHRO | Grant | 6,321 | $41.45 | $262k |
| 2026-02-24 | 3 co-filers SVP, Chief Financial Officer | Grant | 13,848 | $41.45 | $574k |
| 2026-02-24 | 2 co-filers EVP, Chief Operating Officer | Grant | 18,914 | $41.45 | $784k |
EOD close · as of 2026-10-30
Where each multiple sits in its own 14-yr range · 32th 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 18% against ROIC 18% — 0% of the return on equity comes from leverage and buybacks rather than from the operating business.
Equity is the year-end figure. On average equity over the two year-ends, ROE is 19.8% — the two diverge when buybacks or issuance move equity during the year.
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
Profit and sales moved in opposite directions this year.
Each line as % of revenue — the trend in color
| % of revenue | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 |
|---|---|---|---|---|---|---|---|---|
| Cost of Revenue | 56.9 | 58.9 | 59.2 | 61.5 | 63.5 | 58.8 | 56.4 | 60.8 |
| Gross Profit | 43.1 | 41.1 | 40.8 | 38.5 | 36.5 | 41.2 | 43.6 | 39.2 |
| R&D | 0.7 | 0.5 | 0.4 | 0.5 | 0.0 | 0.3 | 0.3 | 0.4 |
| SG&A | 17.3 | 15.9 | 14.3 | 11.7 | 12.8 | 16.1 | 15.6 | 17.2 |
| Operating Income | 25.8 | 25.2 | 26.5 | 23.0 | 22.3 | 25.1 | 28.0 | 22.0 |
| Income Tax | 6.2 | 6.0 | 6.7 | 5.6 | 5.6 | 6.4 | 7.2 | 5.8 |
| Net Income | 19.7 | 19.4 | 19.9 | 17.4 | 16.7 | 18.6 | 20.7 | 16.2 |
Green = margin-favorable vs the row's own range · red = unfavorable.
The metrics that matter, over time
A 30-second read on TREX: price, valuation and headline fundamentals from SEC filings. The four questions at the top of the page are where the judgements live.
The spread has compressed 3 years running.
| Period | ROIC | Cost of capital | Spread |
|---|---|---|---|
| FY2019 | 39.1% | 10.9% (today's — no rate published for this year) | 28.2pts |
| FY2020 | 33.3% | 10.9% (today's — no rate published for this year) | 22.4pts |
| FY2021 | 31.7% | 10.9% (today's — no rate published for this year) | 20.8pts |
| FY2022 | 31.7% | 10.9% (today's — no rate published for this year) | 20.8pts |
| FY2023 | 26.5% | 10.9% (today's — no rate published for this year) | 15.6pts |
| FY2024 | 25.4% | 10.9% (today's — no rate published for this year) | 14.5pts |
| FY2025 | 17.6% | 10.9% (today's — no rate published for this year) | 6.7pts |
| Now | 18.4% | 10.9% | 7.5pts |
| Fiscal year | Gross margin | Operating margin | Net margin |
|---|---|---|---|
| FY2016 | 39.0% | 21.7% | 14.1% |
| FY2017 | 43.1% | 25.2% | 16.8% |
| FY2018 | 43.1% | 25.8% | 19.7% |
| FY2019 | 41.1% | 25.2% | 19.4% |
| FY2020 | 40.8% | 26.5% | 19.9% |
| FY2021 | 38.5% | 23.0% | 17.4% |
| FY2022 | 36.5% | 22.3% | 16.7% |
| FY2023 | 41.2% | 25.1% | 18.6% |
| FY2024 | 43.6% | 28.0% | 20.7% |
| FY2025 | 39.2% | 22.0% | 16.2% |
Return on equity (18%) and return on invested capital (18%) 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.
$14M of goodwill — 1% of invested capital. The gap is what was paid above the fair value of what was bought; it is real capital shareholders provided, so neither bar is the whole answer.
The spread has been narrowing over the last three years.
Cash conversion of 0.42x sits below the level that would make the earnings clearly cash-backed.
The cash conversion cycle has lengthened +24 days over 3 years to 119 — that many more days of the company's own cash funding the same volume of business.
Debt is present but there is no positive EBITDA or no reported interest expense, so coverage cannot be measured.
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.
Missing from our data, so excluded from this answer: interest_expense.
At $51.14, free cash flow must compound 14.78%/yr for 10 years. It has done 7.11%/yr over 6 years.
| Fiscal year | FCF growth | Price requires |
|---|---|---|
| FY2020 | −83.8% | 14.8% |
| FY2021 | 581.8% | 14.8% |
| FY2022 | −59.5% | 14.8% |
| FY2023 | 458.4% | 14.8% |
| FY2024 | −139.6% | 14.8% |
The percentile ranks the FISCAL-YEAR point, because the distribution behind each strip is built from fiscal-year closes — ranking a TTM figure inside it would compare two different bases. TTM basis: TTM.
The implied rate has been matched or beaten in 2 of the last 5 years.
| Step | Amount | Running total |
|---|---|---|
| Net income | $190M | $190M |
| Share-based comp | $9M | $200M |
| Other non-cash & working capital | $159M | $358M |
| Operating cash flow | $358M | $358M |
| Capex | −$224M | $135M |
| Free cash flow | $135M | $135M |
| FCF after SBC | $125M | $125M |
| Fiscal year | Revenue growth | Receivables growth | Gap |
|---|---|---|---|
| FY2020 | 18.2% | 36.0% | 17.9 points |
| FY2021 | 35.9% | 41.5% | 5.6 points |
| FY2022 | -7.6% | -35.1% | -27.5 points |
| FY2023 | -1.0% | -58.0% | -57.0 points |
| FY2024 | 5.2% | 114.8% | 109.6 points |
| FY2025 | 2.0% | -45.6% | -47.5 points |
| Fiscal year | DSO | DIO | DPO | Cash conversion cycle |
|---|---|---|---|---|
| FY2019 | 38.4 days | 46.7 days | 12.7 days | 72.4 days |
| FY2020 | 44.2 days | 47.8 days | 27 days | 65 days |
| FY2021 | 46.1 days | 41.5 days | 12.3 days | 75.3 days |
| FY2022 | 32.4 days | 73.5 days | 10.4 days | 95.5 days |
| FY2023 | 13.7 days | 60.7 days | 13.6 days | 60.8 days |
| FY2024 | 28 days | 144.4 days | 34.4 days | 138 days |
| FY2025 | 14.9 days | 122 days | 17.8 days | 119.1 days |
| Fiscal year | Accruals / assets |
|---|---|
| FY2019 | -2.0 percent |
| FY2020 | -1.5 percent |
| FY2021 | -5.4 percent |
| FY2022 | -3.4 percent |
| FY2023 | -19.9 percent |
| FY2024 | 6.9 percent |
| FY2025 | -11.5 percent |
Below the line, the asset base is being consumed faster than it is replaced.
Depreciation here includes amortisation of acquired intangibles — goodwill written down over time, customer lists, acquired technology. Capex does not replace those and is not meant to, so an acquisitive or asset-light company sits below 1.0 permanently and correctly. The signal is cleanest for capital-intensive businesses, where the two measure the same physical base. For that reason this informs the earnings-quality verdict but never caps it.
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.