Revenue
2020
2021
2022
2023
2024
2025
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | |
|---|---|---|---|---|---|---|
| Revenue | $261.1M | $210.8M | $176.4M | $148.9M | $131.4M | $102.0M |
| Gross profit | $215.9M | $171.6M | $145.4M | $122.0M | $106.8M | $83.9M |
| Gross margin | 82.69% | 81.44% | 82.47% | 81.91% | 81.24% | 82.28% |
| Operating expenses | $199.9M | $167.8M | $146.1M | $138.0M | $130.9M | $93.0M |
| Operating income | $16.0M | $3.8M | −$618,000 | −$16.0M | −$24.2M | −$9.1M |
| Operating margin | 6.12% | 1.81% | −0.35% | −10.74% | −18.37% | −8.91% |
| EBITDA | $27.8M | $17.7M | $8.9M | −$6.7M | N/A | N/A |
| EBITDA margin | 10.65% | 8.40% | 5.06% | −4.48% | N/A | N/A |
| Net income | $7.8M | $6.2M | $7.1M | −$14.6M | −$25.9M | −$12.3M |
| Net profit margin | 2.97% | 2.96% | 4.03% | −9.83% | −19.70% | −12.04% |
| Basic EPSper basic share | $1.90 | $1.50 | $1.70 | -$3.50 | -$0.07 | -$0.03 |
| Diluted EPSper diluted share | $1.80 | $1.40 | $1.60 | -$3.50 | -$0.07 | -$0.03 |
Reported major voting-rights holders
| Holder | Voting rights |
|---|---|
| 8.80%May 11, 2026 · 34.21M votes | |
| 6.00%May 11, 2026 · 23.3M votes | |
| 5.57%Mar 18, 2026 · 21.73M votes | |
| 0.06%Mar 24, 2026 · 250K votes |
These are threshold-crossing notices, not a complete ownership register. Percentages show issuer voting rights held through the listed share class, exclude financial instruments, and come from different dates. Positions may overlap.
Gray completes the 100% scale; it is not an estimate of other owners.