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 | $86.5M | $94.1M | $112.3M | $113.3M | $118.9M | $102.1M | $116.2M | $120.8M | $77.4M | $104.5M | $108.7M | $108.7M | $105.2M | $111.2M | $108.9M | $108.2M | $85.8M |
| Gross profit | $49.9M | $54.8M | $66.1M | $60.8M | $67.7M | $58.0M | $64.3M | $63.2M | $39.2M | $48.4M | $48.7M | $49.3M | $47.7M | $52.3M | $50.2M | $51.8M | $41.7M |
| Gross margin | 57.67% | 58.18% | 58.86% | 53.66% | 56.90% | 56.85% | 55.37% | 52.31% | 50.60% | 46.32% | 44.84% | 45.41% | 45.35% | 47.08% | 46.11% | 47.89% | 48.60% |
| Research & development | $8.8M | $10.4M | $11.8M | $12.3M | $10.8M | $8.7M | $10.7M | $11.0M | $5.6M | $5.4M | $6.4M | $4.9M | $4.2M | $4.3M | $3.9M | $4.7M | $4.4M |
| Operating expenses | $98.5M | $61.0M | $64.2M | $67.8M | $65.6M | $57.8M | $63.9M | $62.2M | $39.8M | $51.4M | $50.4M | $42.7M | $46.2M | $44.5M | $41.8M | $41.6M | $33.6M |
| Operating income | −$48.6M | −$6.2M | $1.9M | −$6.9M | $2.1M | $221,000 | $377,000 | $984,000 | −$635,000 | −$3.0M | −$1.7M | $6.6M | $1.5M | $7.8M | $8.4M | $10.2M | $8.1M |
| Operating margin | −56.13% | −6.60% | 1.69% | −6.12% | 1.74% | 0.22% | 0.32% | 0.81% | −0.82% | −2.87% | −1.58% | 6.09% | 1.46% | 7.04% | 7.72% | 9.45% | 9.39% |
| EBITDA | −$42.8M | $771,000 | $8.9M | $642,000 | $9.7M | $7.9M | $8.1M | $8.8M | $2.2M | $1.3M | $2.9M | $10.4M | $5.4M | $12.0M | $12.7M | $14.1M | $11.1M |
| EBITDA margin | −49.46% | 0.82% | 7.92% | 0.57% | 8.15% | 7.69% | 6.98% | 7.28% | 2.89% | 1.20% | 2.62% | 9.62% | 5.16% | 10.83% | 11.70% | 13.07% | 12.94% |
| Net income | −$56.7M | −$12.4M | −$3.4M | −$9.5M | −$288,000 | −$7.8M | −$4.7M | −$2.9M | −$865,000 | −$4.3M | −$19.0M | $2.4M | −$1.8M | $2.4M | $3.8M | $19.0M | $7.2M |
| Net profit margin | −65.51% | −13.18% | −3.04% | −8.40% | −0.24% | −7.65% | −4.03% | −2.42% | −1.12% | −4.12% | −17.52% | 2.17% | −1.74% | 2.13% | 3.50% | 17.58% | 8.43% |
| Basic EPSper basic share | -$12.80 | -$2.80 | -$0.80 | -$2.30 | -$0.10 | -$2.00 | -$1.20 | -$0.80 | -$0.20 | -$1.30 | -$5.70 | $0.70 | -$0.60 | $0.90 | $1.40 | $6.60 | $2.40 |
| Diluted EPSper diluted share | -$12.80 | -$2.80 | -$0.80 | -$2.30 | -$0.10 | -$2.00 | -$1.20 | -$0.80 | -$0.20 | -$1.30 | -$5.70 | $0.70 | -$0.60 | $0.80 | $1.30 | $6.50 | $2.40 |
Reported shareholders
Reported holdings Number of shares
| Holder | Shares held |
|---|---|
Duke John D | 180K |
Cote Jennifer | 159.02K |
Eade Katherine A. | 58.67K |
Snider William | 48.56K |
Frost Mark T | 47.5K |
DENELSKY STEPHEN J | 37.56K |
Gagnon Robert E. | 27.56K |
Benson Seth Benjamin | 27.56K |
Green James W | — |
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 17, 2026Form 4 | DENELSKY STEPHEN JDirector | BuyCommon Stock | 10.0K | $4.87 | $48.7K | 21.0K |
| Mar 17, 2026Form 4 | Snider WilliamDirector | BuyCommon Stock | 8.5K | $4.85 | $41.1K | 32.0K |
| Mar 16, 2026Form 4 | Frost Mark TChief Financial Officer | BuyCommon Stock | 5.0K | $5.00 | $25.0K | 17.5K |
| Mar 16, 2026Form 4 | Snider WilliamDirector | BuyCommon Stock | 12.5K | $4.99 | $62.5K | 23.5K |
| Mar 16, 2026Form 4 | Duke John DChief Executive Officer | BuyCommon Stock | 5.0K | $5.01 | $25.1K | 105.0K |