Revenue
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $172.3M | $156.7M | $15.0M | $10.4M | $8.8M | $7.2M | $21.7M | $17.7M | $21.6M | $37.6M | $95.9M | $97.0M | $89.2M | $93.7M | $65.2M | $53.9M | $67.8M |
| Gross profit | $100.5M | $88.0M | −$47.4M | −$36.0M | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Gross margin | 58.34% | 56.13% | −316.14% | −347.46% | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Operating expenses | $135.0M | $123.4M | $20.9M | $14.0M | — | — | — | — | — | — | $80.8M | $75.0M | $67.2M | $73.5M | $50.3M | $42.5M | $50.0M |
| Operating income | $37.3M | $33.3M | $10.5M | $431,000 | −$12.4M | −$3.6M | −$15.2M | −$507,000 | $1.5M | $8.4M | $15.1M | $22.0M | $22.0M | $20.2M | $14.9M | $11.4M | $17.8M |
| Operating margin | 21.65% | 21.26% | 69.68% | 4.16% | −141.06% | −49.79% | −69.69% | −2.86% | 6.80% | 22.40% | 15.79% | 22.67% | 24.67% | 21.57% | 22.81% | 21.08% | 26.20% |
| EBITDA | $74.0M | $64.7M | $37.0M | $24.5M | $13.0M | $21.6M | $8.1M | $21.6M | $22.8M | $30.2M | $37.9M | $43.5M | $40.2M | $35.9M | $28.9M | $23.3M | $29.4M |
| EBITDA margin | 42.92% | 41.26% | 246.58% | 236.94% | 147.67% | 298.78% | 37.32% | 121.80% | 105.27% | 80.31% | 39.52% | 44.85% | 45.00% | 38.33% | 44.28% | 43.21% | 43.44% |
| Net income | $19.9M | $17.2M | $4.7M | −$569,000 | −$9.2M | $1.8M | −$13.9M | −$466,000 | $19.8M | $6.5M | $10.1M | $14.1M | $14.4M | $12.7M | $9.8M | $7.0M | $11.0M |
| Net profit margin | 11.56% | 10.99% | 31.63% | −5.49% | −104.40% | 25.01% | −63.76% | −2.63% | 91.44% | 17.19% | 10.58% | 14.57% | 16.12% | 13.53% | 14.98% | 13.04% | 16.25% |
| Basic EPSper basic share | $1.59 | $1.39 | $0.39 | -$0.05 | -$0.70 | $0.14 | -$1.06 | -$0.04 | $1.54 | $0.51 | $0.81 | $1.14 | $1.17 | $1.04 | $0.80 | $0.58 | $0.91 |
| Diluted EPSper diluted share | $1.57 | $1.37 | $0.38 | -$0.05 | -$0.70 | $0.14 | -$1.06 | -$0.04 | $1.51 | $0.50 | $0.79 | $1.11 | $1.15 | $1.03 | $0.80 | $0.58 | $0.91 |
Reported shareholders
Reported holdings Number of shares
| Holder | Shares held |
|---|---|
BlackRock, Inc. | 961.58K |
DIMENSIONAL FUND ADVISORS LP | 850.08K |
First Eagle Investment Management, LLC | 695.37K |
AEGIS FINANCIAL CORP | 584.87K |
VANGUARD CAPITAL MANAGEMENT LLC | 513.03K |
WEBER CAPITAL MANAGEMENT LLC /ADV | 479.71K |
TWO SIGMA INVESTMENTS, LP | 410.33K |
AMERICAN CENTURY COMPANIES INC | 408.17K |
AMERIPRISE FINANCIAL INC | 380.17K |
ROYCE & ASSOCIATES LP | 363.32K |
MORGAN STANLEY | 322.38K |
GEODE CAPITAL MANAGEMENT, LLC | 320.35K |
STATE STREET CORP | 303.16K |
Pacific Ridge Capital Partners, LLC | 303.02K |
Taylor Stephen Charles | 292.96K |
RENAISSANCE TECHNOLOGIES LLC | 214.14K |
BRIDGEWAY CAPITAL MANAGEMENT, LLC | 199.06K |
AWM Investment Company, Inc. | 189.73K |
CITADEL ADVISORS LLC | 184.75K |
MILLENNIUM MANAGEMENT LLC | 178.87K |
Bars compare reported share counts. A matching total for this share class and reporting period is unavailable, so percentages are not shown.
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Mar 6, 2026Form 4 · 10b5-1 | Taylor Stephen CharlesDirector | SellCommon Stock | 30.0K | $37.23 | $1.12M | 175.4K |
| Mar 5, 2026Form 4 · 10b5-1 | Taylor Stephen CharlesDirector | SellCommon Stock | 70.0K | $37.58 | $2.63M | 205.4K |
| Dec 11, 2025Form 4 | Taylor Stephen CharlesDirector | SellCommon Stock | 10.0K | $33.54 | $335.4K | 275.4K |
| Dec 10, 2025Form 4 | Taylor Stephen CharlesDirector | SellCommon Stock | 10.0K | $33.16 | $331.6K | 285.4K |
| Dec 8, 2025Form 4 | HOLLEY JEAN KDirector | BuyCommon Stock | 2.2K | $32.04 | $70.2K | 14.4K |