
| Line item | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | FY2015 | FY2014 | FY2013 | FY2012 | FY2011 | FY2010 | FY2009 | FY2008 | FY2007 | FY2006 | FY2005 | FY2004 | FY2003 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valuation | |||||||||||||||||||||||
| Market cap | $662,599 | $535,019 | $478,374 | $374,382 | $484,216 | $434,697 | $373,917 | $326,267 | $228,772 | $179,774 | $151,428 | $133,777 | $124,419 | $110,743 | $70,633 | $62,287 | $51,615 | $41,015 | – | – | – | – | – |
| Enterprise value | $668,773 | $540,680 | $478,709 | $378,310 | $486,681 | $439,444 | $378,698 | $331,301 | $233,701 | $186,718 | $146,193 | $129,827 | $120,164 | $107,926 | $67,235 | $58,283 | $46,943 | $35,787 | – | – | – | – | – |
| P/E (TTM) at period end | 37.84× | 33.88× | 35.66× | 32.36× | 50.83× | 52.31× | 40.32× | 41.11× | 44.25× | 37.94× | 30.02× | 31.06× | 31.43× | 66.55× | 26.78× | 32.11× | 21.94× | 51.01× | – | – | – | – | – |
| P/S (TTM) at period end | 16.56× | 14.89× | 14.65× | 12.77× | 20.09× | 19.90× | 16.27× | 15.83× | 12.46× | 11.92× | 10.91× | 10.53× | 10.56× | 10.63× | 7.69× | 7.72× | 7.47× | 6.55× | – | – | – | – | – |
| P/B at period end | 17.48× | 13.67× | 12.35× | 10.52× | 12.88× | 12.00× | 10.78× | 9.59× | 6.98× | 5.46× | 5.07× | 4.88× | 4.63× | 4.01× | 2.67× | 2.49× | 2.23× | 1.94× | – | – | – | – | – |
| EV / EBITDA (TTM) | 26.52× | 21.95× | 21.82× | 19.23× | 29.30× | 29.60× | 24.19× | 24.42× | 18.40× | 22.27× | 15.30× | 15.96× | 15.74× | 43.66× | 11.71× | 12.01× | 12.47× | 24.36× | – | – | – | – | – |
| EV / Sales (TTM) | 16.72× | 15.05× | 14.66× | 12.91× | 20.19× | 20.12× | 16.48× | 16.08× | 12.73× | 12.38× | 10.53× | 10.22× | 10.20× | 10.36× | 7.32× | 7.23× | 6.79× | 5.71× | – | – | – | – | – |
| Returns | |||||||||||||||||||||||
| Return on equity | 46.2% | 40.3% | 34.6% | 32.5% | 25.3% | 22.9% | 26.7% | 23.3% | 15.8% | 14.4% | 16.9% | 15.7% | 14.7% | 6.0% | 10.0% | 7.8% | 10.1% | 3.8% | – | 78.0% | 210.7% | – | – |
| Return on invested capital | 43.3% | 40.6% | 40.2% | 36.6% | 28.8% | 24.9% | 27.9% | 24.5% | 16.9% | 13.7% | 23.5% | 21.3% | 20.1% | 8.1% | 14.5% | 13.8% | 11.2% | 4.6% | – | 123.0% | 240.6% | – | – |
| Dividend yield | 0.7% | 0.8% | 0.8% | 0.9% | 0.6% | 0.6% | 0.6% | 0.6% | 0.7% | 0.8% | 0.8% | 0.8% | 0.7% | 0.5% | 0.6% | 0.6% | 0.6% | 0.2% | – | – | – | – | – |
| Financial health | |||||||||||||||||||||||
| Current ratio | 1.08× | 1.28× | 1.45× | 1.45× | 1.75× | 1.91× | 1.56× | 1.61× | 1.90× | 1.78× | 1.87× | 1.59× | 1.80× | 1.48× | 2.66× | 2.50× | 2.08× | 1.56× | 0.76× | 1.14× | 1.12× | – | 0.88× |
| Debt / equity | 0.66× | 0.53× | 0.53× | 0.63× | 0.56× | 0.66× | 0.48× | 0.49× | 0.56× | 0.48× | 0.03× | – | – | – | – | 0.00× | 0.00× | 0.01× | (0.08×) | 0.13× | 0.84× | – | (0.40×) |
| Effective tax rate | 17.1% | 17.4% | 17.9% | 17.5% | 23.4% | 21.2% | 18.8% | 19.6% | 42.7% | 25.2% | 29.6% | 29.6% | 31.4% | 2.9% | 35.5% | 36.1% | 41.2% | 39.8% | 22.8% | 34.8% | 40.2% | 37.3% | – |
| Share count | |||||||||||||||||||||||
| Diluted shares outstanding | 1,966 | 2,029 | 2,085 | 2,136 | 2,188 | 2,223 | 2,272 | 2,329 | 2,395 | 2,414 | 2,457 | 2,523 | 2,624 | – | – | – | 3,032 | 3,076 | 2,848 | 2,848 | 2,848 | 2,974 | 3,100 |
| Line item | TTM | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | FY2015 | FY2014 | FY2013 | FY2012 | FY2011 | FY2010 | FY2009 | FY2008 | FY2007 | FY2006 | FY2005 | FY2004 | FY2003 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue and gross profit | ||||||||||||||||||||||||
| Revenue | $44,488 | $40,000 | $35,926 | $32,653 | $29,310 | $24,105 | $21,846 | $22,977 | $20,609 | $18,358 | $15,082 | $13,880 | $12,702 | $11,778 | $10,421 | $9,188 | $8,065 | $6,911 | $6,263 | $3,590 | $2,948 | $2,665 | $2,429 | $1,980 |
| Cost of revenue | ($8,817) | ($7,855) | ($7,042) | ($6,567) | ($5,733) | ($4,970) | ($4,512) | ($4,165) | ($3,856) | ($3,248) | ($2,764) | ($2,553) | ($2,382) | ($2,400) | ($2,140) | ($1,816) | ($1,647) | ($1,621) | ($1,538) | ($1,088) | ($999) | ($957) | ($1,124) | – |
| Gross profit | $35,671 | $32,145 | $28,884 | $26,086 | $23,577 | $19,135 | $17,334 | $18,812 | $16,753 | $15,110 | $12,318 | $11,327 | $10,320 | $9,378 | $8,281 | $7,372 | $6,418 | $5,290 | $4,725 | $2,502 | $1,949 | $1,708 | $1,305 | – |
| Operating expenses | ||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | ($721) | ($686) | ($620) | ($538) | ($474) | ($507) | ($468) | ($414) | ($357) | ($425) | – | – | – | – | – | – | – |
| Selling, general and administrative | ($2,012) | ($1,926) | ($1,598) | ($1,330) | ($1,194) | ($985) | ($1,096) | ($1,196) | ($1,145) | ($1,060) | ($796) | ($547) | ($507) | ($451) | ($451) | ($414) | ($359) | ($338) | ($332) | ($202) | ($1,197) | ($1,122) | ($517) | – |
| Total operating expenses | ($8,675) | ($8,151) | ($5,289) | ($5,086) | ($4,764) | ($3,331) | ($3,253) | ($3,811) | ($3,799) | ($2,966) | ($4,435) | ($2,263) | ($2,623) | ($2,139) | ($6,142) | ($1,916) | ($1,829) | ($1,752) | ($3,493) | ($3,951) | ($1,220) | ($1,255) | ($801) | – |
| Total costs and expenses | ($17,492) | ($16,006) | ($12,331) | ($11,653) | ($10,497) | ($8,301) | ($7,765) | ($7,976) | ($7,655) | ($6,214) | ($7,199) | ($4,816) | ($5,005) | ($4,539) | ($8,282) | ($3,732) | ($3,476) | ($3,373) | ($5,031) | ($5,039) | ($2,218) | ($2,212) | ($1,925) | ($3,398) |
| Operating income | $26,996 | $23,994 | $23,595 | $21,000 | $18,813 | $15,804 | $14,081 | $15,001 | $12,954 | $12,144 | $7,883 | $9,064 | $7,697 | $7,239 | $2,139 | $5,456 | $4,589 | $3,538 | $1,232 | ($1,449) | $730 | $453 | $504 | ($1,418) |
| Earnings | ||||||||||||||||||||||||
| EBITDA | $28,338 | $25,214 | $24,629 | $21,943 | $19,674 | $16,608 | $14,848 | $15,657 | $13,567 | $12,700 | $8,385 | $9,558 | $8,132 | $7,636 | $2,472 | $5,744 | $4,854 | $3,764 | $1,469 | ($1,323) | $885 | $588 | $616 | – |
| Interest income | – | $791 | $992 | $745 | $69 | – | – | – | – | – | – | – | – | – | $46 | – | $49 | – | – | – | – | – | – | – |
| Interest expense | ($776) | ($589) | ($641) | ($644) | ($538) | ($513) | ($516) | ($533) | ($612) | ($563) | ($427) | ($3) | ($8) | – | ($29) | ($32) | ($72) | ($115) | ($143) | ($81) | ($90) | ($108) | ($111) | – |
| Pre-tax income | $26,956 | $24,194 | $23,916 | $21,037 | $18,136 | $16,063 | $13,790 | $14,884 | $12,806 | $11,694 | $8,012 | $8,995 | $7,724 | $7,257 | $2,207 | $5,656 | $4,638 | $4,000 | $1,336 | ($1,387) | $722 | $456 | $355 | – |
| Income tax expense | ($4,364) | ($4,136) | ($4,173) | ($3,764) | ($3,179) | ($3,752) | ($2,924) | ($2,804) | ($2,505) | ($4,995) | ($2,021) | ($2,667) | ($2,286) | ($2,277) | ($65) | ($2,010) | ($1,674) | ($1,648) | ($532) | $316 | ($251) | ($183) | ($133) | – |
| Net income | $22,592 | $20,058 | $19,743 | $17,273 | $14,957 | $12,311 | $10,866 | $12,080 | $10,301 | $6,699 | $5,991 | $6,328 | $5,438 | $4,980 | $2,144 | $3,650 | $2,966 | $2,353 | $804 | ($1,076) | $455 | $265 | $216 | ($885) |
| Per share | ||||||||||||||||||||||||
| Diluted EPS (GAAP) | $10.45 | $10.20 | $9.73 | $8.28 | $7.00 | $5.63 | $4.89 | $5.32 | $4.42 | $2.80 | $2.48 | $2.58 | $2.16 | $1.90 | – | – | – | $0.78 | $0.24 | ($0.38) | $0.16 | $0.13 | $0.0705 | ($0.29) |
| Basic EPS (GAAP) | $10.65 | $10.22 | $9.74 | $8.29 | $7.01 | $5.63 | $4.90 | $5.32 | $4.43 | $2.80 | $2.49 | $2.58 | $2.16 | $1.90 | $0.79 | $1.29 | $1.01 | $0.79 | $0.28 | ($0.39) | $0.17 | $0.13 | $0.0717 | ($0.29) |
| Basic shares outstanding | 1,683 | 1,714 | 1,621 | 1,618 | 1,651 | 1,691 | 1,697 | 1,742 | 1,792 | 1,845 | 1,906 | 1,954 | 1,993 | 2,080 | 2,096 | 2,036 | 1,928 | 2,987 | 2,672 | 2,752 | 2,752 | 2,752 | 2,926 | 3,100 |
| Margins | ||||||||||||||||||||||||
| Gross margin | 80.2% | 80.4% | 80.4% | 79.9% | 80.4% | 79.4% | 79.3% | 81.9% | 81.3% | 82.3% | 81.7% | 81.6% | 81.2% | 79.6% | 79.5% | 80.2% | 79.6% | 76.5% | 75.4% | 69.7% | 66.1% | 64.1% | 53.7% | – |
| Operating margin | 60.7% | 60.0% | 65.7% | 64.3% | 64.2% | 65.6% | 64.5% | 65.3% | 62.9% | 66.2% | 52.3% | 65.3% | 60.6% | 61.5% | 20.5% | 59.4% | 56.9% | 51.2% | 19.7% | (40.4%) | 24.8% | 17.0% | 20.8% | (71.6%) |
| Net margin | 50.8% | 50.1% | 55.0% | 52.9% | 51.0% | 51.1% | 49.7% | 52.6% | 50.0% | 36.5% | 39.7% | 45.6% | 42.8% | 42.3% | 20.6% | 39.7% | 36.8% | 34.0% | 12.8% | (30.0%) | 15.4% | 9.9% | 8.9% | (44.7%) |