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 | $240.2M | $251.5M | $263.6M | $313.8M | $313.6M | $273.6M | $180.5M | $175.8M | $195.8M | $190.0M | $159.5M | $158.8M | $163.7M | $147.6M | $134.3M | $120.7M | $116.0M |
| Gross profit | $64.6M | $62.2M | $61.8M | $73.6M | $77.1M | $74.8M | $42.4M | $45.0M | $63.2M | $62.6M | $43.5M | $61.9M | $70.7M | $67.7M | $41.7M | $37.2M | $33.7M |
| Gross margin | 26.92% | 24.73% | 23.44% | 23.47% | 24.59% | 27.34% | 23.46% | 25.62% | 32.27% | 32.94% | 27.26% | 38.99% | 43.19% | 45.84% | 31.07% | 30.82% | 29.09% |
| Research & development | $3.2M | $3.2M | $3.1M | $2.7M | $2.0M | $1.5M | $1.6M | $1.5M | $1.6M | $1.5M | $1.5M | $1.7M | $1.2M | $1.0M | $1.4M | $1.9M | — |
| Operating expenses | $45.9M | $42.2M | $44.0M | $47.3M | $45.2M | $41.8M | $33.1M | $31.2M | $48.6M | $48.0M | $30.7M | $46.4M | $54.5M | $55.6M | $37.5M | $29.0M | $31.7M |
| Operating income | $18.7M | $20.0M | $17.8M | $26.3M | $31.9M | $33.0M | $9.3M | $13.8M | $14.6M | $14.6M | $12.8M | $15.5M | $16.2M | $12.0M | $4.2M | $8.2M | $2.0M |
| Operating margin | 7.80% | 7.95% | 6.76% | 8.39% | 10.17% | 12.07% | 5.14% | 7.86% | 7.46% | 7.68% | 8.04% | 9.76% | 9.89% | 8.16% | 3.11% | 6.79% | 1.72% |
| EBITDA | $23.8M | $26.0M | $23.5M | $32.4M | $36.7M | $37.0M | $13.3M | $17.7M | $18.5M | $19.8M | $18.0M | $19.9M | $20.0M | $15.4M | $12.9M | $12.5M | $8.0M |
| EBITDA margin | 9.91% | 10.36% | 8.91% | 10.32% | 11.71% | 13.54% | 7.37% | 10.05% | 9.45% | 10.44% | 11.31% | 12.52% | 12.24% | 10.46% | 9.64% | 10.38% | 6.87% |
| Net income | $13.7M | $13.0M | $9.8M | $18.0M | $24.4M | $25.9M | $7.3M | $20.4M | $14.1M | $11.5M | $11.6M | $11.8M | $9.8M | −$4.9M | $4.4M | $6.1M | $1.7M |
| Net profit margin | 5.70% | 5.16% | 3.73% | 5.73% | 7.78% | 9.48% | 4.02% | 11.63% | 7.18% | 6.05% | 7.28% | 7.44% | 5.99% | −3.34% | 3.31% | 5.02% | 1.43% |
| Basic EPSper basic share | $1.00 | $0.94 | $0.72 | $1.33 | $1.78 | $1.84 | $0.50 | $1.42 | $0.98 | $0.81 | $0.82 | $0.85 | $0.73 | -$0.37 | $0.35 | $0.48 | $0.13 |
| Diluted EPSper diluted share | $0.99 | $0.93 | $0.71 | $1.31 | $1.76 | $1.82 | $0.50 | $1.41 | $0.98 | $0.80 | $0.82 | $0.84 | $0.72 | -$0.37 | $0.33 | $0.46 | $0.13 |
Reported shareholders
| Holder | % owned |
|---|---|
Griffin Patrick J | ≈20.53%2.83M shares |
Minerva Advisors LLC | 4.12%567.22K shares |
BlackRock, Inc. | 3.81%524.54K shares |
DIMENSIONAL FUND ADVISORS LP | 3.35%461.3K shares |
Williams Edward E | ≈3.28%451.99K shares |
North Star Investment Management Corp. | 3.05%420.35K shares |
VANGUARD CAPITAL MANAGEMENT LLC | 2.60%358.59K shares |
Rehmann Capital Advisory Group | 2.25%309.21K shares |
GEODE CAPITAL MANAGEMENT, LLC | 1.57%215.67K shares |
STATE STREET CORP | 0.96%132.57K shares |
Baalmann Richard Fenton JR | ≈0.75%102.79K shares |
Bank of New York Mellon Corp | 0.67%91.6K shares |
Mork Capital Management, LLC | 0.58%80K shares |
NORTHERN TRUST CORP | 0.56%77.61K shares |
PEOPLES BANK /OH | 0.47%65.32K shares |
De Lisle Partners LLP | 0.47%64.3K shares |
O'SHAUGHNESSY ASSET MANAGEMENT, LLC | 0.45%61.71K shares |
Northstar Group, Inc. | 0.44%60.5K shares |
VANGUARD PORTFOLIO MANAGEMENT LLC | 0.41%56.82K shares |
VANGUARD FIDUCIARY TRUST CO | 0.39%53.91K shares |
Percentages use 13.77M 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 |
|---|---|---|---|---|---|---|
| May 8, 2026Form 4 | Glazer Walter P. Jr.Director | SellCommon Stock | 1.0K | $19.80 | $20.8K | 360.8K |
| May 7, 2026Form 4 | Glazer Walter P. Jr.Director | SellCommon Stock | 32.6K | $19.83 | $646.0K | 361.8K |
| Dec 11, 2025Form 4 | Baalmann Richard Fenton JRDirector | SellCommon Stock | 5.5K | $13.00 | $71.4K | 100.4K |
| Dec 10, 2025Form 4 | Baalmann Richard Fenton JRDirector | SellCommon Stock | 4.2K | $13.00 | $54.9K | 105.9K |
| Dec 1, 2025Form 4 | Baalmann Richard Fenton JRDirector | SellCommon Stock | 286 | $13.35 | $3.8K | 110.1K |