
| Metric | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 |
|---|---|---|---|---|---|---|---|---|
| Net sales | $526.0M+6.8% | $492.5M+10.8% | $444.4M-2.9% | $457.7M+37.3% | $333.3M+16.6% | $285.9M+2.4% | $279.3M+62.3% | $172.1M |
| Cost of sales | $422.4M+6.4% | $397.1M+8.3% | $366.7M-1.4% | $371.8M+28.6% | $289.1M+22.8% | $235.4M+1.4% | $232.1M+45.0% | $160.1M |
| Gross profit | $103.6M+8.6% | $95.4M+22.9% | $77.6M-9.6% | $85.9M+94.0% | $44.3M-12.4% | $50.5M+7.1% | $47.2M+290.1% | $12.1M |
| Selling, general, and administrative expense | $52.8M+11.9% | $47.2M+7.7% | $43.8M+6.7% | $41.0M+45.4% | $28.2M+13.1% | $25.0M+34.9% | $18.5M+11.0% | $16.7M |
| Operating income | $50.9M+5.4% | $48.2M+42.5% | $33.9M-24.5% | $44.8M+179.6% | $16.0M-37.3% | $25.6M-10.9% | $28.7M+1065.6% | -$3.0M |
| Other income (loss) | -$1.8M-737.1% | -$213K-177.2% | $276K+184.5% | $97K-70.4% | $328K-67.3% | $1.0M-77.1% | $4.4M+1541.6% | $267K |
| Interest expense | -$2.6M+53.9% | -$5.7M-16.6% | -$4.9M-36.1% | -$3.6M-196.8% | -$1.2M-28.8% | -$933K-97.7% | -$472K+19.0% | -$583K |
| Income before income taxes | $46.5M+9.7% | $42.4M+44.7% | $29.3M-29.2% | $41.4M+172.8% | $15.2M-40.9% | $25.6M-21.5% | $32.6M+91.3% | $17.1M |
| Income tax expense | $11.1M+35.5% | $8.2M-0.5% | $8.2M-19.5% | $10.2M+180.6% | $3.6M-44.8% | $6.6M+39.0% | $4.7M+245.7% | -$3.3M |
| Net income | $35.4M+3.5% | $34.2M+62.3% | $21.1M-32.4% | $31.1M+170.3% | $11.5M-39.5% | $19.1M-31.7% | $27.9M+37.4% | $20.3M |
| Basic (in dollars per share) | $3.62+4.9% | $3.45+63.5% | $2.11-32.8% | $3.14+168.4% | $1.17-40.0% | $1.95-31.8% | $2.86+36.8% | $2.09 |
| Diluted (in dollars per share) | $3.56+4.7% | $3.40+62.7% | $2.09-32.8% | $3.11+168.1% | $1.16-39.9% | $1.93-32.3% | $2.85+36.4% | $2.09 |
| Basic (in shares) | 9.8M-1.4% | 9.9M-0.8% | 10.0M+0.8% | 9.9M+0.6% | 9.9M+0.7% | 9.8M+0.5% | 9.7M+0.2% | 9.7M |
| Diluted (in shares) | 9.9M-1.3% | 10.1M-0.1% | 10.1M+0.7% | 10.0M+0.8% | 9.9M+0.6% | 9.9M+1.0% | 9.8M+0.5% | 9.7M |
Source: SEC EDGAR XBRL. % change vs prior period shown where available.
Source: SEC EDGAR 10-K and 10-Q filings. Up to 10 years annual / 16 quarters shown.