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 | $158.3M | $145.9M | $161.3M | $166.6M | $140.8M | $114.5M | $124.2M | $118.2M | $112.0M | $108.9M | $109.0M | $103.8M | $92.0M | $83.2M | $79.8M | $76.1M | $116.1M |
| Gross profit | $48.2M | $41.4M | $49.2M | $48.8M | $42.7M | $32.8M | $39.0M | $38.3M | $34.8M | $35.2M | $33.4M | $32.2M | $27.6M | $24.3M | $24.1M | $22.5M | $23.8M |
| Gross margin | 30.44% | 28.34% | 30.52% | 29.30% | 30.36% | 28.68% | 31.36% | 32.37% | 31.08% | 32.29% | 30.64% | 31.05% | 29.96% | 29.24% | 30.20% | 29.50% | 20.48% |
| Research & development | $0 | $0 | $0 | $0 | $0 | $0 | $0 | $0 | $0 | $0 | $0 | $0 | $0 | $0 | $0 | $0 | — |
| Operating expenses | $37.5M | $3.5M | $35.1M | $35.1M | $32.3M | $30.5M | $40.6M | $98.9M | $33.1M | $35.9M | $33.1M | $29.4M | $95.8M | $32.4M | $24.8M | $40.2M | $35.4M |
| Operating income | $10.7M | $37.9M | $14.1M | $13.7M | $10.5M | $2.4M | −$1.6M | −$60.7M | $1.7M | −$715,000 | $268,000 | $2.8M | −$68.3M | −$8.1M | −$667,000 | −$17.7M | −$11.6M |
| Operating margin | 6.74% | 25.95% | 8.76% | 8.24% | 7.45% | 2.06% | −1.30% | −51.32% | 1.52% | −0.66% | 0.25% | 2.73% | −74.16% | −9.69% | −0.84% | −23.26% | −9.97% |
| EBITDA | $14.3M | $41.6M | $18.1M | $17.7M | $14.3M | $6.2M | $2.1M | −$57.2M | $5.4M | $3.1M | $3.9M | $6.4M | −$64.9M | −$2.2M | $6.2M | −$10.0M | −$3.3M |
| EBITDA margin | 9.05% | 28.48% | 11.22% | 10.63% | 10.18% | 5.40% | 1.67% | −48.38% | 4.85% | 2.81% | 3.56% | 6.20% | −70.53% | −2.68% | 7.72% | −13.10% | −2.84% |
| Net income | −$37.8M | $67.2M | −$2.3M | $33.8M | $51.2M | $14.7M | $25.8M | −$41.0M | $116.1M | $15.3M | −$23.9M | $28.5M | −$55.3M | $74.5M | $81.7M | $70.4M | −$11.8M |
| Net profit margin | −23.90% | 46.07% | −1.43% | 20.32% | 36.35% | 12.82% | 20.80% | −34.70% | 103.63% | 14.07% | −21.94% | 27.44% | −60.12% | 89.59% | 102.31% | 92.44% | −10.12% |
| Basic EPSper basic share | -$0.77 | $1.38 | -$0.05 | $0.69 | $1.05 | $0.30 | $0.53 | -$0.84 | $2.38 | $0.31 | -$0.49 | $0.59 | -$1.14 | $1.53 | $1.68 | $1.40 | -$0.24 |
| Diluted EPSper diluted share | -$0.77 | $1.38 | -$0.05 | $0.69 | $1.05 | $0.30 | $0.53 | -$0.84 | $2.38 | $0.31 | -$0.49 | $0.59 | -$1.14 | $1.53 | $1.68 | $1.40 | -$0.24 |
Reported shareholders
Reported holdings Number of shares
| Holder | Shares held |
|---|---|
DIMENSIONAL FUND ADVISORS LP | 2.06M |
BlackRock, Inc. | 540.1K |
VANGUARD CAPITAL MANAGEMENT LLC | 324.99K |
Aristides Capital LLC | 312.96K |
BRIDGEWAY CAPITAL MANAGEMENT, LLC | 310.99K |
MILLENNIUM MANAGEMENT LLC | 257.97K |
GEODE CAPITAL MANAGEMENT, LLC | 217.43K |
Empowered Funds, LLC | 217.13K |
RENAISSANCE TECHNOLOGIES LLC | 182.71K |
STATE STREET CORP | 133.78K |
SEGALL BRYANT & HAMILL, LLC | 93.21K |
NORTHERN TRUST CORP | 84.97K |
MORGAN STANLEY | 82.92K |
Bank of New York Mellon Corp | 66.51K |
GOLDMAN SACHS GROUP INC | 59.73K |
Connor, Clark & Lunn Investment Management Ltd. | 58.42K |
VANGUARD PORTFOLIO MANAGEMENT LLC | 55.94K |
VANGUARD FIDUCIARY TRUST CO | 50.85K |
MOORE CECIL H JR | 49.55K |
Squarepoint Ops LLC | 48.38K |
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 12, 2025Form 4 | Kramer Kevin BDirector | BuyCommon Stock $0.125 par value per share | 113 | $7.46 | $842.98 | 15.8K |
| Mar 12, 2025Form 4 | Kramer Kevin BDirector | BuyCommon Stock $0.125 par value per share | 10 | $7.40 | $74.00 | 15.7K |
| Mar 12, 2025Form 4 | Kramer Kevin BDirector | BuyCommon Stock $0.125 par value per share | 1 | $7.37 | $7.37 | 15.7K |
| Mar 12, 2025Form 4 | Kramer Kevin BDirector | BuyCommon Stock $0.125 par value per share | 588 | $7.36 | $4.3K | 15.7K |
| Mar 12, 2025Form 4 | Kramer Kevin BDirector | BuyCommon Stock $0.125 par value per share | 100 | $7.34 | $734.00 | 15.1K |