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 | 2009 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $76.3M | $74.4M | $76.2M | $80.3M | $82.7M | $64.1M | $74.9M | $83.2M | $82.4M | $82.9M | $84.2M | $83.4M | $78.3M | $72.7M | $66.1M | $59.9M | $54.5M |
| Gross profit | $43.5M | $41.8M | $45.2M | $46.5M | $47.0M | $36.1M | $42.0M | $50.9M | $49.1M | $51.7M | $52.1M | $52.1M | $49.3M | $45.9M | $40.3M | $36.3M | $32.6M |
| Operating expenses | $44.5M | $41.2M | $40.8M | $45.1M | $44.7M | $41.3M | $43.6M | $46.8M | $44.9M | $41.4M | $41.6M | $40.2M | $38.1M | $36.8M | $32.6M | $29.6M | $27.5M |
| Operating income | −$963,000 | $628,000 | $4.4M | $1.4M | $2.3M | −$6.3M | −$2.6M | $6.0M | $6.4M | $10.3M | $10.5M | $12.0M | $11.3M | $9.1M | $7.7M | $6.6M | $5.1M |
| EBITDAderived | — | — | — | — | — | — | — | $7.8M | $8.3M | $12.0M | $12.0M | $13.4M | $12.5M | $10.2M | $8.7M | $7.6M | $6.2M |
| Net income | $9.1M | $827,000 | $3.8M | $1.2M | $1.4M | −$4.9M | −$1.9M | $4.4M | $2.5M | $6.4M | $6.4M | $7.7M | $7.3M | $5.6M | $4.8M | $4.2M | $3.3M |
| Basic EPSper diluted share | $1.11 | $0.10 | $0.45 | $0.15 | $0.16 | -$0.54 | -$0.21 | $0.48 | $0.27 | $0.69 | $0.64 | $0.76 | $0.71 | $0.55 | $0.47 | $0.41 | $0.32 |
| Diluted EPSper diluted share | $1.10 | $0.09 | $0.45 | $0.15 | $0.16 | -$0.54 | -$0.21 | $0.48 | $0.27 | $0.69 | $0.63 | $0.75 | $0.71 | $0.55 | $0.47 | $0.41 | $0.31 |