Revenue
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 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $93.9M | $80.5M | $94.4M | $82.4M | $73.9M | $1.2M | $67.6M | $66.0M | $60.5M | $59.1M | $68.2M | $75.0M | $63.2M | $58.8M | $70.8M | $73.8M |
| Gross profit | $32.9M | $30.3M | $29.8M | $26.2M | — | — | — | — | $32.8M | $31.6M | $30.2M | $29.3M | $27.6M | $26.9M | $27.3M | $26.4M |
| Gross margin | 34.99% | 37.62% | 31.54% | 31.73% | — | — | — | — | 54.22% | 53.44% | 44.30% | 39.11% | 43.67% | 45.80% | 38.52% | 35.82% |
| Operating expenses | $14.4M | $13.2M | $12.1M | $11.2M | — | — | — | — | $20.6M | $20.4M | $20.2M | $19.7M | $18.8M | $18.1M | $18.0M | $17.5M |
| Operating income | $18.4M | $17.1M | $17.7M | $14.9M | $14.8M | $12.5M | $11.6M | $11.5M | $12.2M | $11.2M | $10.0M | $9.7M | $8.8M | $8.8M | $9.3M | $9.0M |
| Operating margin | 19.65% | 21.21% | 18.73% | 18.10% | 20.01% | 1,082.50% | 17.14% | 17.39% | 20.15% | 18.98% | 14.67% | 12.91% | 13.91% | 14.94% | 13.15% | 12.17% |
| EBITDA | $29.9M | $27.6M | $27.7M | $24.1M | $23.4M | $20.6M | $19.2M | $18.6M | $18.6M | $16.9M | $15.2M | $14.5M | $13.5M | $13.2M | $13.5M | $12.9M |
| EBITDA margin | 31.86% | 34.27% | 29.32% | 29.24% | 31.75% | 1,785.23% | 28.38% | 28.14% | 30.69% | 28.65% | 22.33% | 19.36% | 21.28% | 22.40% | 19.04% | 17.53% |
| Net income | $13.3M | $11.8M | $11.3M | −$31.7M | $10.1M | $10.6M | $8.7M | $7.3M | $6.2M | $5.8M | $5.1M | $4.7M | $4.3M | $4.3M | $4.7M | $4.4M |
| Net profit margin | 14.14% | 14.60% | 11.97% | −38.50% | 13.68% | 913.56% | 12.86% | 11.06% | 10.30% | 9.83% | 7.47% | 6.28% | 6.74% | 7.31% | 6.57% | 6.02% |
| Basic EPSper basic share | $1.29 | $1.16 | $1.14 | -$3.48 | $1.22 | $1.30 | $1.08 | $0.95 | $0.86 | $0.81 | $0.72 | $0.67 | $0.61 | $0.61 | $0.67 | $0.65 |
| Diluted EPSper diluted share | $1.29 | $1.16 | $1.14 | -$3.48 | $1.22 | $1.30 | $1.08 | $0.95 | $0.86 | $0.81 | $0.72 | $0.67 | $0.61 | $0.61 | $0.67 | $0.65 |
Reported shareholders
| Holder | % owned |
|---|---|
AMERIPRISE FINANCIAL INC | 4.45%463.37K shares |
BlackRock, Inc. | 4.10%427.31K shares |
GAMCO INVESTORS, INC. ET AL | 3.92%408.4K shares |
VANGUARD CAPITAL MANAGEMENT LLC | 3.47%361.48K shares |
Russell Investments Group, Ltd. | 2.48%258.02K shares |
GABELLI FUNDS LLC | 2.26%235.8K shares |
GEODE CAPITAL MANAGEMENT, LLC | 2.10%218.41K shares |
Prospera Financial Services Inc | 1.82%189.85K shares |
WILLIAMSON JOHN B III | ≈1.69%176.27K shares |
Ancora Advisors LLC | 1.31%136.89K shares |
Nester Paul W | ≈1.28%132.95K shares |
DIMENSIONAL FUND ADVISORS LP | 1.23%127.91K shares |
STATE STREET CORP | 1.08%112.84K shares |
Teton Advisors, LLC | 0.91%94.5K shares |
North Star Investment Management Corp. | 0.86%90K shares |
RAYMOND JAMES FINANCIAL INC | 0.71%73.95K shares |
Bank of New York Mellon Corp | 0.69%71.86K shares |
NORTHERN TRUST CORP | 0.68%71.31K shares |
BOXLEY ABNEY S III | ≈0.67%69.68K shares |
JOHNSTON ROBERT B | ≈0.62%64.4K shares |
Percentages use 10.42M shares of this listed class outstanding on Jun 30, 2026. ≈ compares the latest reported holding with a share total from a different date; it is not a confirmed current stake.
Gray completes the 100% scale. Reported positions may overlap; holders have different reporting dates.
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Jun 1, 2026Form 4 | Oliver Lawrence T.Senior VP and Secretary | BuyCommon Stock | 8.73 | $22.90 | $199.917 | 30.0K |
| Jun 1, 2026Form 4 | Miles Christen BrookeVP, Human Resources | BuyCommon Stock | 4.37 | $22.90 | $100.073 | 9.8K |
| May 1, 2026Form 4 | Oliver Lawrence T.Senior VP and Secretary | BuyCommon Stock | 8.2 | $24.40 | $200.08 | 30.0K |
| May 1, 2026Form 4 | Miles Christen BrookeVP, Human Resources | BuyCommon Stock | 4.1 | $24.40 | $100.04 | 9.8K |
| Apr 1, 2026Form 4 | Oliver Lawrence T.Senior VP and Secretary | BuyCommon Stock | 9.24 | $21.65 | $200.046 | 29.8K |