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 | $503.5M | $388.2M | $340.9M | $321.6M | $355.8M | $352.6M | $308.5M | $323.3M | $333.6M | $341.9M | $355.6M | $347.2M | $420.2M | $472.5M | $431.0M | $479.0M | $478.5M |
| Gross profit | $80.3M | $78.6M | $67.5M | $55.1M | $64.4M | $84.9M | $71.9M | $75.9M | $87.2M | $85.7M | $89.4M | $81.3M | $79.4M | $94.9M | $93.8M | $113.6M | $110.1M |
| Gross margin | 15.95% | 20.24% | 19.79% | 17.14% | 18.10% | 24.08% | 23.31% | 23.47% | 26.15% | 25.05% | 25.15% | 23.42% | 18.88% | 20.08% | 21.75% | 23.71% | 23.01% |
| Operating expenses | $40.1M | $33.4M | $32.4M | $33.0M | $34.4M | $28.7M | $25.5M | $28.0M | $25.5M | $23.1M | $26.9M | $35.5M | $21.7M | $35.1M | $20.0M | $16.3M | $18.7M |
| Operating income | $40.2M | $45.2M | $35.0M | $22.1M | $30.0M | $56.2M | $46.4M | $47.9M | $61.7M | $62.5M | $62.5M | $45.8M | $57.6M | $59.7M | $73.7M | $97.3M | $91.3M |
| Operating margin | 7.99% | 11.65% | 10.28% | 6.88% | 8.44% | 15.94% | 15.03% | 14.82% | 18.49% | 18.28% | 17.58% | 13.20% | 13.71% | 12.64% | 17.11% | 20.30% | 19.09% |
| EBITDA | $45.4M | $50.3M | $41.0M | $25.1M | $33.0M | $59.2M | $50.1M | $54.1M | $71.5M | $71.4M | $71.4M | $61.3M | $66.6M | $70.9M | $82.8M | $105.9M | $100.1M |
| EBITDA margin | 9.01% | 12.95% | 12.04% | 7.81% | 9.28% | 16.79% | 16.23% | 16.74% | 21.44% | 20.88% | 20.06% | 17.67% | 15.84% | 15.01% | 19.20% | 22.11% | 20.92% |
| Net income | $33.1M | $41.5M | $34.6M | $20.7M | $25.7M | $47.0M | $42.2M | $39.9M | $53.0M | $44.6M | $40.5M | $26.5M | $41.3M | $38.9M | $48.0M | $63.5M | $62.6M |
| Net profit margin | 6.57% | 10.68% | 10.14% | 6.44% | 7.21% | 13.32% | 13.69% | 12.35% | 15.87% | 13.03% | 11.39% | 7.63% | 9.82% | 8.23% | 11.13% | 13.26% | 13.08% |
| Basic EPSper basic share | $4.63 | $5.82 | $4.86 | $2.92 | $3.63 | $6.67 | $6.02 | $5.70 | $7.58 | $6.39 | $5.83 | $3.82 | $5.97 | $5.64 | $6.98 | $9.26 | $9.13 |
| Diluted EPSper diluted share | $4.63 | $5.82 | $4.86 | $2.92 | $3.63 | $6.67 | $6.02 | $5.70 | $7.58 | $6.39 | $5.83 | $3.82 | $5.97 | $5.64 | $6.98 | $9.26 | $9.13 |
Reported shareholders
Reported holdings Number of shares
| Holder | Shares held |
|---|---|
COHEN MARYJO R | 1.69M |
BlackRock, Inc. | 977.72K |
STATE STREET CORP | 466.12K |
DIMENSIONAL FUND ADVISORS LP | 315.79K |
VANGUARD CAPITAL MANAGEMENT LLC | 224.89K |
Medina Value Partners, LLC | 173.58K |
ADVISORY RESEARCH INC | 161.76K |
GEODE CAPITAL MANAGEMENT, LLC | 150.85K |
RENAISSANCE TECHNOLOGIES LLC | 123.8K |
J. Goldman & Co LP | 123.18K |
VANGUARD PORTFOLIO MANAGEMENT LLC | 104.63K |
GAMCO INVESTORS, INC. ET AL | 87.63K |
MORGAN STANLEY | 80.16K |
MILLENNIUM MANAGEMENT LLC | 74.64K |
Invesco Ltd. | 66.75K |
JPMORGAN CHASE & CO | 64.73K |
Bank of New York Mellon Corp | 60.09K |
KENNEDY CAPITAL MANAGEMENT LLC | 56.66K |
NORTHERN TRUST CORP | 52.78K |
CHARLES SCHWAB INVESTMENT MANAGEMENT INC | 51.6K |
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 17, 2026Form 4 | Peuse David JCFO & TREASURER | SellCommon stock $1.00 par value · indirect | 500 | $140.16 | $70.1K | 308 |
| Mar 11, 2026Form 4 · 10b5-1 | LIEBLE RANDY FDirector | SellCommon stock $1.00 par value | 2.4K | $143.97 | $348.0K | 5.2K |