Revenue
2009
2010
2011
2012
2013
2014
2015
2016
2017
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 | $112.9M | $108.0M | $98.9M | $98.9M | $90.9M | $88.1M | $83.6M | $80.4M | $82.2M | $79.1M | $77.0M | $72.5M | $69.1M | $70.6M | $65.1M | $64.9M | $60.9M |
| Operating expenses | $85.2M | $81.8M | $76.4M | $75.0M | $68.6M | $65.8M | $63.7M | $61.5M | $62.6M | $60.3M | $59.4M | $56.4M | $54.6M | $54.7M | $51.3M | $50.6M | $47.3M |
| Operating income | $27.8M | $26.2M | $22.4M | $23.9M | $22.3M | $22.3M | $19.9M | $19.0M | $19.6M | $18.8M | $17.6M | $16.0M | $14.5M | $15.9M | $13.7M | $14.3M | $13.6M |
| Operating margin | 24.60% | 24.22% | 22.70% | 24.17% | 24.54% | 25.29% | 23.84% | 23.57% | 23.83% | 23.79% | 22.83% | 22.14% | 20.97% | 22.47% | 21.11% | 21.99% | 22.40% |
| EBITDA | $41.6M | $39.8M | $35.8M | $36.5M | $34.2M | $33.4M | $30.7M | $29.2M | $29.2M | $28.0M | $26.4M | $24.7M | $22.7M | $23.8M | $21.1M | $21.3M | $20.2M |
| EBITDA margin | 36.82% | 36.85% | 36.19% | 36.93% | 37.62% | 37.94% | 36.76% | 36.37% | 35.45% | 35.41% | 34.30% | 34.11% | 32.91% | 33.71% | 32.50% | 32.83% | 33.16% |
| Net income | $22.8M | $20.4M | $16.7M | $18.0M | $16.8M | $16.8M | $14.9M | $14.3M | $14.0M | $13.0M | $11.3M | $9.5M | $8.3M | $9.8M | $6.7M | $7.6M | $7.3M |
| Net profit margin | 20.21% | 18.89% | 16.89% | 18.20% | 18.52% | 19.08% | 17.85% | 17.76% | 17.00% | 16.38% | 14.68% | 13.12% | 12.02% | 13.95% | 10.37% | 11.74% | 11.92% |
| Basic EPSper basic share | $2.21 | $1.98 | $1.67 | $1.90 | $1.79 | $1.80 | $1.61 | $1.55 | $1.52 | $1.42 | $1.26 | $1.07 | $0.95 | $1.14 | $0.83 | $1.01 | $0.97 |
| Diluted EPSper diluted share | $2.21 | $1.98 | $1.67 | $1.90 | $1.79 | $1.79 | $1.60 | $1.54 | $1.51 | $1.41 | $1.26 | $1.07 | $0.94 | $1.13 | $0.83 | $1.00 | $0.97 |
Reported shareholders
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Mar 23, 2026Form 4 | TAYLOR DIAN CDirector | SellClass A Non-voting Common Stock | 1.0K | $31.25 | $31.3K | 103.0K |
| Mar 20, 2026Form 4 | TAYLOR DIAN CDirector | SellClass A Non-voting Common Stock | 2.0K | $31.00 | $62.0K | 104.0K |
| Mar 19, 2026Form 4 | TAYLOR DIAN CDirector | SellClass A Non-voting Common Stock | 2.0K | $31.00 | $62.0K | 106.0K |
| Dec 22, 2025Form 4 | TAYLOR DIAN CDirector | SellClass A Non-voting Common Stock · indirect | 2.2K | $31.97 | $71.1K | 38.5K |
| Dec 19, 2025Form 4 | TAYLOR DIAN CDirector | SellClass A Non-voting Common Stock · indirect | 2.2K | $31.73 | $70.6K | 40.7K |