Revenue
2018
2019
2020
2021
2022
2023
2024
2025
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2015 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $646.8M | $518.8M | $516.4M | $496.8M | $490.4M | $568.2M | $553.3M | $546.5M | $485.7M | $0 |
| Gross profit | $169.3M | $144.3M | $119.3M | $93.7M | $85.9M | $81.4M | $71.9M | $59.4M | $65.6M | — |
| Operating expenses | $119.9M | $105.7M | $90.0M | $81.7M | $71.9M | $64.2M | $63.8M | $58.4M | $59.6M | $0 |
| Operating income | $49.5M | $38.6M | $29.3M | $12.0M | $14.0M | $17.2M | $8.1M | $1.1M | $6.0M | −$390,974 |
| EBITDAderived | $67.6M | $50.5M | $37.5M | $20.2M | $19.9M | $23.3M | $14.4M | $6.8M | $15.1M | $2.2M |
| Net income | $39.1M | $30.9M | $20.8M | $6.8M | $6.7M | $5.8M | −$1.8M | −$1.8M | $712,000 | −$339,604 |
| Basic EPSper diluted share | $3.37 | $2.75 | $1.93 | $0.65 | $0.67 | $0.74 | -$0.23 | -$0.52 | -$0.13 | -$0.18 |
| Diluted EPSper diluted share | $3.23 | $2.57 | $1.76 | $0.64 | $0.66 | $0.72 | -$0.23 | -$0.52 | -$0.13 | -$0.18 |
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Jun 15, 2026Form 4 · 10b5-1 | Sharp JayExecutive Vice President | SellCommon Stock | 200 | $81.32 | $16.3K | 73.5K |
| Jun 15, 2026Form 4 · 10b5-1 | Sharp JayExecutive Vice President | SellCommon Stock | 2.0K | $80.34 | $162.4K | 73.7K |
| Jun 15, 2026Form 4 · 10b5-1 | Sharp JayExecutive Vice President | SellCommon Stock | 1.9K | $79.67 | $148.3K | 75.7K |
| Jun 15, 2026Form 4 · 10b5-1 | Sharp JayExecutive Vice President | SellCommon Stock | 788 | $78.46 | $61.8K | 77.5K |
| Apr 30, 2026Form 4 · 10b5-1 | Brooks Jayme L.Chief Financial Officer | SellCommon Stock | 3.4K | $100.00 | $344.0K | 125.2K |