Revenue
2018
2019
2020
2021
2022
2023
2024
2025
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $212.5M | $186.8M | $160.1M | $141.6M | $119.1M | $102.0M | $93.7M | $103.3M | $118.9M | — | $137.2M | $130.2M | $109.0M | $89.8M | — | — |
| Gross profit | $58.2M | $48.6M | $42.4M | $26.8M | $28.7M | $26.9M | $22.1M | $25.9M | $30.7M | $35.0M | $29.9M | $28.9M | $27.6M | $26.6M | $21.3M | $20.2M |
| Operating expenses | $42.0M | $34.7M | $25.4M | $24.4M | $22.8M | $22.0M | $24.1M | $29.0M | $31.2M | $28.9M | $25.5M | $24.6M | $19.6M | $17.8M | $16.2M | $13.9M |
| Operating income | $16.2M | $13.9M | $17.0M | $2.3M | $5.9M | $4.9M | −$1.9M | −$3.1M | −$526,000 | $6.1M | $4.4M | $4.2M | $8.0M | $8.8M | $5.1M | $6.3M |
| EBITDAderived | $20.2M | $17.2M | $20.2M | $5.3M | $8.8M | $8.2M | $1.4M | $367,000 | $2.6M | $9.1M | $7.5M | $7.5M | $10.4M | $11.2M | $7.4M | $8.4M |
| Net income | $13.9M | $9.0M | $11.4M | $924,000 | $3.3M | $3.2M | $453,000 | −$3.1M | −$346,000 | $3.5M | $2.0M | $2.0M | $5.0M | $5.6M | $2.9M | $3.6M |
| Basic EPSper diluted share | $0.91 | $0.61 | $0.77 | $0.06 | $0.21 | $0.21 | $0.03 | -$0.19 | -$0.02 | $0.22 | $0.12 | $0.12 | $0.31 | $0.34 | $0.17 | $0.22 |
| Diluted EPSper diluted share | $0.89 | $0.60 | $0.75 | $0.06 | $0.21 | $0.21 | $0.03 | -$0.19 | -$0.02 | $0.22 | $0.12 | $0.12 | $0.31 | $0.34 | $0.17 | $0.22 |
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Jun 25, 2026Form 4 | SMOLYANSKY LUDMILAOther | SellCommon Stock, no par value · indirect | 45.6K | $29.65 | $1.35M | 607.2K |
| Jun 24, 2026Form 4 | SMOLYANSKY EDWARDTenPercentOwner | SellCommon Stock, no par value | 1.8K | $30.52 | $54.7K | 1.01M |
| Jun 24, 2026Form 4 | SMOLYANSKY EDWARDTenPercentOwner | SellCommon Stock, no par value | 36.7K | $29.82 | $1.09M | 1.02M |
| Jun 24, 2026Form 4 | SMOLYANSKY LUDMILAOther | SellCommon Stock, no par value · indirect | 40.0K | $30.12 | $1.20M | 652.8K |
| Jun 22, 2026Form 4 | SMOLYANSKY EDWARDTenPercentOwner | SellCommon Stock, no par value · indirect | 50.0K | $26.20 | $1.31M | 1.18M |