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 | $916.7M | $826.6M | $703.6M | $565.6M | $505.2M | $425.5M | $424.6M | $433.7M | $402.4M | $393.8M | $377.7M | $364.8M | $334.1M | $319.7M | $262.9M | $276.6M | $250.3M |
| Gross profit | $382.1M | $329.2M | $276.4M | $220.0M | $205.5M | $168.2M | $163.5M | $162.3M | $155.7M | $150.6M | $135.8M | $131.1M | $117.0M | $122.2M | $89.8M | $102.8M | $97.0M |
| Gross margin | 41.68% | 39.83% | 39.29% | 38.89% | 40.67% | 39.54% | 38.51% | 37.43% | 38.70% | 38.24% | 35.95% | 35.95% | 35.01% | 38.24% | 34.16% | 37.17% | 38.75% |
| Research & development | $21.6M | $19.2M | $19.0M | $15.8M | $14.7M | $11.6M | $11.9M | $11.1M | $10.6M | $10.6M | $10.6M | $9.5M | $10.5M | $9.6M | $8.1M | $7.2M | — |
| Operating expenses | $198.6M | $171.2M | $158.4M | $132.7M | $126.8M | $103.1M | $101.4M | $105.5M | $99.2M | $97.9M | $93.4M | $85.1M | $77.9M | $77.8M | $62.3M | $58.0M | $54.8M |
| Operating income | $183.4M | $157.9M | $118.0M | $87.3M | $78.7M | $65.2M | $62.1M | $56.9M | $56.6M | $52.7M | $42.4M | $46.0M | $39.1M | $44.5M | $27.5M | $44.8M | $42.2M |
| Operating margin | 20.01% | 19.11% | 16.78% | 15.43% | 15.58% | 15.31% | 14.64% | 13.11% | 14.06% | 13.38% | 11.22% | 12.62% | 11.70% | 13.91% | 10.47% | 16.20% | 16.87% |
| EBITDA | $209.2M | $178.1M | $137.6M | $107.0M | $100.0M | $84.6M | $80.9M | $75.7M | $75.5M | $69.5M | $58.5M | $60.4M | $52.6M | $56.6M | $37.0M | $53.3M | $49.0M |
| EBITDA margin | 22.82% | 21.55% | 19.55% | 18.92% | 19.80% | 19.88% | 19.06% | 17.46% | 18.75% | 17.65% | 15.48% | 16.57% | 15.75% | 17.69% | 14.06% | 19.28% | 19.56% |
| Net income | $141.6M | $124.9M | $92.6M | $66.5M | $60.9M | $49.3M | $47.2M | $27.8M | $34.6M | $32.3M | $25.9M | $29.7M | $24.6M | $28.0M | $19.2M | $28.7M | $34.2M |
| Net profit margin | 15.45% | 15.12% | 13.16% | 11.76% | 12.05% | 11.60% | 11.11% | 6.41% | 8.59% | 8.20% | 6.87% | 8.14% | 7.37% | 8.77% | 7.29% | 10.36% | 13.65% |
| Basic EPSper basic share | $4.82 | $4.26 | $3.16 | $2.28 | $2.09 | $1.70 | $1.63 | $0.96 | $1.20 | $1.12 | — | — | — | — | $0.64 | $0.96 | $1.16 |
| Diluted EPSper diluted share | $4.79 | $4.23 | $3.14 | $2.26 | $2.08 | $1.69 | $1.61 | $0.95 | $1.19 | $1.11 | — | — | — | — | $0.64 | $0.96 | $1.14 |
Reported shareholders
Reported holdings Number of shares
| Holder | Shares held |
|---|---|
BlackRock, Inc. | 4.89M |
VANGUARD PORTFOLIO MANAGEMENT LLC | 2.5M |
STATE STREET CORP | 1.65M |
VANGUARD CAPITAL MANAGEMENT LLC | 1.32M |
GEODE CAPITAL MANAGEMENT, LLC | 1.01M |
Impax Asset Management Group plc | 945.69K |
FIRST TRUST ADVISORS LP | 771.86K |
MORGAN STANLEY | 739.88K |
Boston Trust Walden Corp | 728.96K |
UBS Group AG | 629.41K |
Amundi | 590.08K |
Pictet Asset Management Holding SA | 574.48K |
DIMENSIONAL FUND ADVISORS LP | 517.5K |
Invesco Ltd. | 505.34K |
NEUBERGER BERMAN GROUP LLC | 499.52K |
BANK OF AMERICA CORP /DE/ | 460.6K |
JPMORGAN CHASE & CO | 434.71K |
NORTHERN TRUST CORP | 380.01K |
NORGES BANK | 374.3K |
CHARLES SCHWAB INVESTMENT MANAGEMENT INC | 335.4K |
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 |
|---|---|---|---|---|---|---|
| Apr 23, 2026Form 4 | Wrocklage RobertEVP-N.A. Muncipal Utility | BuyCommon Stock | 1.0K | $122.35 | $122.3K | 23.3K |
| Apr 21, 2026Form 4 | Htwe RichardVP-Global Operations | BuyCommon Stock | 1.7K | $116.13 | $197.4K | 7.6K |
| Apr 21, 2026Form 4 | Tarantino Christina M.VP-Controller | BuyCommon stock | 870 | $113.80 | $99.0K | 1.8K |
| Apr 21, 2026Form 4 | Callahan Edward F.VP-Engineering | BuyCommon Stock | 858 | $116.30 | $99.8K | 1.2K |
| Apr 21, 2026Form 4 | Bockhorst KennethChairman, President & CEO | BuyCommon Stock | 2.2K | $117.53 | $258.6K | 51.7K |