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 | $19.0M | $19.1M | $30.4M | $24.5M | $19.6M | $16.9M | $17.8M | $15.3M | $13.6M | $13.3M | — | — | — | — | — | — |
| Operating expenses | $113.9M | $112.5M | $107.6M | $90.5M | $77.7M | $70.7M | $66.9M | $66.7M | $48.6M | $43.9M | $42.9M | $41.5M | $43.4M | $38.1M | $37.2M | $36.1M |
| Net income | $46.2M | $31.7M | $43.0M | $39.4M | $40.5M | $32.2M | $33.9M | $14.1M | $15.9M | $17.2M | $12.7M | $9.5M | $6.2M | $5.6M | $4.0M | −$1.3M |
| Basic EPSper diluted share | $2.64 | $2.01 | $2.73 | $2.60 | $2.63 | $2.00 | $2.12 | $1.10 | $1.48 | $1.96 | $1.43 | $0.99 | $0.65 | $0.57 | $0.36 | — |
| Diluted EPSper diluted share | $2.64 | $2.01 | $2.73 | $2.60 | $2.63 | $2.00 | $2.01 | $1.02 | $1.28 | $1.57 | $1.17 | $0.85 | $0.64 | $0.57 | $0.36 | — |
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Nov 18, 2025Form 4 | Weaks Nathan EOther | BuyCommon · indirect | 1.0K | $21.49 | $21.5K | 11.3K |
| Aug 21, 2025Form 4 | Weaks Nathan EOther | BuyCommon · indirect | 500 | $19.85 | $9.9K | 10.3K |
| Aug 18, 2025Form 4 | Weaks Nathan EOther | BuyCommon · indirect | 500 | $19.95 | $10.0K | 9.8K |
| Aug 5, 2025Form 4 | Whinnem IanSVP/CFO | BuyCommon Stock | 1.5K | $19.20 | $28.8K | 2.5K |
| Jul 31, 2025Form 4 | Weaks Nathan EOther | BuyCommon · indirect | 1.0K | $19.35 | $19.4K | 9.3K |