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 | $90.3M | $68.8M | $55.2M | $58.2M | $45.0M | $37.7M | $36.6M | $36.8M | $33.6M | $31.7M | $29.1M | $26.1M | $25.4M | $26.4M | $26.0M | $26.5M | $23.9M |
| Operating expenses | $65.4M | $52.9M | $37.2M | $35.6M | $32.7M | $23.8M | $24.3M | $23.8M | $23.3M | $23.5M | $25.6M | $18.8M | $20.8M | $19.1M | $20.7M | $20.6M | $18.7M |
| Net income | $17.7M | $7.0M | $9.6M | $16.8M | $10.4M | $8.9M | $9.6M | $10.1M | $6.4M | $5.9M | $2.7M | $7.6M | $9.9M | $2.8M | −$11.0M | −$3.6M | $2.1M |
| Net profit margin | 19.61% | 10.12% | 17.44% | 28.86% | 23.01% | 23.48% | 26.14% | 27.55% | 19.21% | 18.61% | 9.13% | 29.28% | 38.91% | 10.59% | −42.16% | −13.60% | 8.99% |
| Basic EPSper basic share | $1.97 | $1.00 | $1.54 | $2.69 | $1.87 | $1.82 | $1.92 | $2.05 | $1.30 | $1.20 | $0.31 | $1.32 | $1.83 | $0.48 | -$4.01 | -$1.53 | $0.49 |
| Diluted EPSper diluted share | $1.96 | $1.00 | $1.53 | $2.68 | $1.86 | $1.82 | $1.92 | $2.04 | $1.30 | $1.20 | $0.31 | $1.32 | $1.83 | $0.48 | -$4.01 | -$1.53 | $0.49 |
Reported shareholders
Reported holdings Number of shares
| Holder | Shares held |
|---|---|
WILKINS III JAMES R | 448.49K |
Smith Gerald F JR | 401.49K |
Wagstaff Norman D Jr | 99.34K |
HARVARD SCOTT C | 71.57K |
DYSART DENNIS A | 43.41K |
Holt George Edwin III | 43.39K |
Patel Kirtesh | 32.61K |
Wilkinson William Simmons | 22.62K |
COTTRELL ELIZABETH H | 18.74K |
Funk William Michael | 18.67K |
AIKENS JASON C | 10.11K |
Beck Emily Marlow | 9.43K |
Brannock Boyce E | 8.6K |
Schwartz Brad E | 6.47K |
Lee-Andrews Toni T | 5.6K |
THOMAS BRUCE E | 3.71K |
Bars compare reported share counts. A matching total for this share class and reporting period is unavailable, so percentages are not shown.
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Mar 4, 2026Form 4 | Schwartz Brad EEVP - CFO | BuyCommon Stock, $1.25 par value | 1.0K | $26.91 | $26.9K | 6.5K |
| Aug 7, 2025Form 4 | Schwartz Brad EEVP - CFO | BuyCommon Stock, $1.25 par value | 1.0K | $21.02 | $21.0K | 5.0K |
| Jun 5, 2025Form 4 | Schwartz Brad EEVP - CFO | BuyCommon Stock, $1.25 par value | 1.0K | $19.65 | $19.6K | 4.0K |
| Jun 2, 2025Form 4 | Schwartz Brad EEVP - CFO | BuyCommon Stock, $1.25 par value | 1.0K | $20.20 | $20.2K | 3.0K |
| May 8, 2025Form 4 | Schwartz Brad EEVP - CFO | BuyCommon Stock, $1.25 par value | 1.0K | $19.60 | $19.6K | 2.0K |