
| 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 | FY2002 | FY2001 | FY2000 | FY1999 | FY1998 | FY1997 | FY1996 | FY1995 | FY1994 | FY1993 | FY1992 | FY1991 | FY1990 | FY1989 | FY1988 | FY1987 | FY1986 | FY1985 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valuation | |||||||||||||||||||||||||||||||||||||||||
| Market cap | $133,489 | $140,366 | $93,227 | $75,880 | $59,989 | $57,785 | $42,305 | $35,257 | $32,913 | $20,746 | $18,584 | $15,940 | $16,337 | $12,730 | $12,336 | $13,072 | $11,996 | $9,893 | $13,611 | $18,754 | $23,001 | $18,062 | $18,124 | $10,871 | $10,997 | $7,589 | $5,328 | $12,276 | $8,631 | $5,101 | $3,753 | $2,677 | $3,011 | $1,935 | $1,446 | $1,245 | $1,088 | $643 | $885 | $867 | $460 |
| Enterprise value | $130,243 | $146,490 | $98,226 | $79,186 | $63,743 | $57,887 | $45,182 | $37,793 | $33,077 | $20,114 | $18,897 | $15,848 | $16,851 | $12,624 | $13,071 | $13,781 | $12,934 | $10,912 | $15,397 | $19,352 | $23,507 | $17,950 | $18,954 | $11,775 | $11,854 | $8,142 | $6,133 | $12,592 | $8,975 | $5,702 | $4,110 | $3,060 | $3,249 | $2,504 | $2,090 | $1,885 | $1,734 | $1,122 | $1,102 | $967 | $619 |
| P/E (TTM) at period end | 11.80× | 16.59× | 24.12× | 109.18× | 18.05× | 10.18× | 10.73× | 13.59× | 20.67× | 20.12× | 14.66× | 12.44× | 14.02× | 14.11× | 12.15× | 12.24× | 11.34× | – | 11.51× | 11.38× | 16.50× | 10.96× | 14.44× | 16.29× | 26.73× | 164.63× | 18.05× | 26.88× | 21.58× | 16.26× | 14.98× | 9.76× | 11.26× | 12.58× | 43.95× | 13.33× | 13.95× | 5.95× | 9.69× | 15.67× | 18.05× |
| P/S (TTM) at period end | 1.52× | 1.86× | 1.50× | 1.53× | 1.26× | 1.35× | 1.08× | 1.10× | 1.23× | 0.89× | 0.89× | 0.82× | 0.90× | 0.75× | 0.78× | 0.86× | 0.82× | 0.77× | 0.93× | 1.27× | 1.61× | 1.31× | 1.52× | 1.17× | 1.47× | 1.12× | 0.87× | 2.32× | 1.87× | 1.47× | 1.25× | 1.11× | 1.54× | 1.11× | 0.97× | 9.10× | 0.78× | 0.48× | 0.88× | 1.18× | 0.94× |
| P/B at period end | 4.40× | 5.48× | 4.60× | 4.78× | 3.29× | 3.39× | 3.09× | 3.26× | 3.54× | 2.61× | 2.55× | 2.30× | 2.64× | 2.12× | 2.12× | 2.16× | 2.09× | 2.35× | 2.76× | 2.74× | 3.77× | 3.50× | 3.60× | 2.89× | 3.38× | 2.64× | 1.94× | 4.80× | 4.04× | 3.04× | 2.54× | 2.32× | 3.02× | 3.08× | 3.10× | 3.05× | 2.50× | 1.54× | 2.24× | 2.78× | 3.89× |
| EV / EBITDA (TTM) | 8.79× | 12.99× | 18.00× | 53.79× | 13.54× | 7.55× | 8.37× | 10.74× | 13.44× | 11.50× | 8.78× | 7.47× | 8.69× | 8.21× | 7.65× | 7.76× | 7.87× | – | 8.43× | 7.63× | 10.93× | 6.54× | 9.73× | 11.05× | 17.73× | 74.43× | 12.67× | 17.56× | 14.59× | 12.25× | 11.22× | 7.67× | 8.35× | 1.97× | 2.09× | – | 1.63× | – | – | – | – |
| EV / Sales (TTM) | 1.49× | 1.94× | 1.58× | 1.60× | 1.34× | 1.36× | 1.16× | 1.18× | 1.23× | 0.86× | 0.91× | 0.82× | 0.93× | 0.74× | 0.83× | 0.91× | 0.89× | 0.85× | 1.05× | 1.31× | 1.64× | 1.30× | 1.59× | 1.27× | 1.58× | 1.20× | 1.00× | 2.38× | 1.95× | 1.64× | 1.36× | 1.27× | 1.66× | 1.44× | 1.40× | 13.79× | 1.24× | 0.83× | 1.10× | 1.32× | 1.26× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 37.3% | 33.1% | 19.1% | 4.4% | 18.2% | 33.3% | 28.8% | 24.0% | 17.1% | 13.0% | 17.4% | 18.5% | 18.8% | 15.0% | 17.5% | 17.7% | 18.4% | (1.7%) | 24.0% | 24.1% | 22.8% | 32.0% | 25.0% | 17.7% | 12.7% | 1.6% | 10.7% | 17.9% | 18.7% | 18.7% | 17.0% | 23.8% | 26.8% | 24.5% | 7.1% | 22.9% | 17.9% | 25.9% | 23.1% | 17.8% | 21.5% |
| Return on invested capital | 31.1% | 26.9% | 15.2% | 4.1% | 15.4% | 26.3% | 21.7% | 18.2% | 13.9% | 10.6% | 14.3% | 15.1% | 15.6% | 12.5% | 13.7% | 14.7% | 13.6% | (1.1%) | 16.6% | 20.5% | 18.9% | 25.7% | 19.3% | 12.7% | 9.5% | 0.9% | 7.8% | 13.8% | 13.8% | 12.9% | 11.7% | 15.1% | 18.2% | 81.5% | 87.4% | 8.4% | 87.7% | 121.4% | 137.3% | 137.0% | 173.9% |
| Dividend yield | 2.2% | 0.5% | 0.3% | 0.3% | 6.2% | 2.7% | 3.9% | 1.9% | 1.2% | 2.5% | 2.2% | 5.6% | 1.1% | 6.7% | 2.1% | 5.8% | – | 1.0% | 10.3% | 0.1% | 0.1% | 0.1% | 0.1% | 0.2% | 0.2% | 0.3% | 0.4% | 0.1% | 0.2% | 0.4% | 0.6% | 0.9% | 0.8% | 1.1% | 1.2% | 0.9% | 1.1% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | 2.24× | 2.87× | 2.42× | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Debt / equity | 0.23× | 0.27× | 0.34× | 0.40× | 0.27× | 0.35× | 0.36× | – | – | 0.40× | 0.37× | 0.31× | 0.30× | 0.37× | 0.51× | 0.32× | 0.38× | 0.52× | 0.44× | 0.17× | 0.21× | 0.25× | 0.30× | 0.40× | 0.34× | 0.26× | 0.38× | 0.30× | 0.36× | 0.46× | 0.46× | 0.59× | 0.48× | 0.90× | 1.38× | 1.57× | 1.48× | 1.15× | 0.55× | 0.32× | 1.34× |
| Effective tax rate | 20.5% | 20.8% | 20.4% | 21.7% | 20.4% | 20.5% | 22.9% | 17.2% | 25.3% | 28.1% | 32.0% | 32.8% | 32.2% | 31.5% | 31.7% | 31.7% | 32.1% | 68.5% | 30.2% | 32.3% | 32.3% | 32.7% | 32.5% | 32.0% | 30.0% | (45.0%) | 28.4% | 30.9% | 30.9% | 29.0% | 27.6% | 27.8% | 28.4% | 21.9% | – | (9.2%) | 9.4% | 18.1% | 15.1% | 22.2% | (4.5%) |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 588 | 588 | 588 | 587 | 587 | 588 | 587 | 587 | 586 | 585 | 589 | 595 | 604 | 608 | 637 | 663 | 672 | 674 | 718 | 774 | 799 | 865 | 882 | 893 | 901 | 892 | 895 | 896 | 904 | 916 | 928 | 917 | 896 | 901 | 964 | 943 | 1,017 | 1,056 | 1,044 | 1,006 | 806 |
| 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 | FY2002 | FY2001 | FY2000 | FY1999 | FY1998 | FY1997 | FY1996 | FY1995 | FY1994 | FY1993 | FY1992 | FY1991 | FY1990 | FY1989 | FY1988 | FY1987 | FY1986 | FY1985 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue and gross profit | ||||||||||||||||||||||||||||||||||||||||||
| Revenue | $91,725 | $87,671 | $75,372 | $62,109 | $49,611 | $47,702 | $42,658 | $39,022 | $31,979 | $26,839 | $23,441 | $20,854 | $19,391 | $18,171 | $17,084 | $15,775 | $15,216 | $14,564 | $12,840 | $14,687 | $14,786 | $14,303 | $13,782 | $11,892 | $9,294 | $7,488 | $6,771 | $6,124 | $5,292 | $4,608 | $3,478 | $3,012 | $2,415 | $1,955 | $1,739 | $1,493 | $137 | $1,393 | $1,345 | $1,000 | $732 | $491 |
| Cost of revenue | – | – | – | – | – | – | – | ($28,494) | – | – | – | – | – | – | – | – | – | – | ($11,373) | ($11,326) | ($12,240) | ($12,125) | ($11,212) | ($9,900) | ($8,205) | ($6,816) | ($6,627) | ($5,585) | ($4,532) | ($3,911) | ($2,927) | ($2,571) | ($1,940) | ($1,491) | ($446) | ($476) | – | ($297) | – | – | – | – |
| Gross profit | – | – | – | – | – | – | – | $10,504 | – | – | – | – | – | – | – | – | – | – | $1,467 | $3,361 | $2,547 | $2,178 | $2,570 | $1,992 | $1,090 | $672 | $144 | $539 | $760 | $697 | $551 | $441 | $476 | $464 | $1,293 | $1,017 | – | $1,096 | – | – | – | – |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | – | ($11,329) | ($9,462) | ($6,242) | ($5,859) | ($5,655) | ($5,570) | ($4,975) | ($4,196) | ($3,481) | ($2,972) | ($2,712) | ($2,467) | ($2,351) | ($2,206) | ($2,088) | ($1,740) | ($19) | ($20) | ($20) | ($24) | ($25) | ($25) | ($26) | ($22) | ($20) | ($21) | ($41) | ($31) | ($44) | ($42) | ($30) | ($32) | ($37) | – | – | – | – | – | – | – | – |
| Total operating expenses | – | – | – | – | – | – | – | ($5,344) | – | – | – | – | – | – | – | – | – | – | ($1,689) | ($1,668) | ($114) | ($119) | ($120) | ($133) | ($108) | ($85) | ($112) | ($127) | ($99) | ($118) | ($110) | ($95) | ($96) | ($91) | ($44) | ($48) | – | ($49) | – | – | – | – |
| Total costs and expenses | ($77,393) | ($73,170) | ($64,380) | ($56,937) | ($48,445) | ($43,273) | ($35,268) | ($33,862) | ($28,649) | ($24,547) | ($21,830) | ($18,806) | ($17,367) | ($16,333) | ($15,641) | ($14,155) | ($13,523) | ($13,007) | ($13,062) | ($12,994) | ($12,353) | ($12,244) | ($11,331) | ($10,032) | ($8,313) | ($6,901) | ($6,739) | ($5,712) | ($4,631) | ($4,030) | ($3,037) | ($2,666) | ($2,036) | ($1,582) | ($490) | ($524) | ($48) | ($346) | ($16) | ($11) | ($6) | ($9) |
| Operating income | $14,332 | $14,501 | $10,992 | $5,172 | $1,166 | $4,429 | $7,390 | $5,160 | $3,330 | $2,292 | $1,612 | $2,048 | $2,024 | $1,838 | $1,443 | $1,620 | $1,692 | $1,557 | ($222) | $1,693 | $2,433 | $2,059 | $2,451 | $1,860 | $981 | $588 | $32 | $412 | $661 | $578 | $442 | $346 | $380 | $373 | $1,249 | $970 | $88 | $1,047 | $1,329 | $989 | $726 | $482 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | – | $14,814 | $11,276 | $5,457 | $1,472 | $4,708 | $7,665 | $5,400 | $3,520 | $2,462 | $1,749 | $2,151 | $2,121 | $1,940 | $1,538 | $1,708 | $1,775 | $1,644 | ($89) | $1,826 | $2,537 | $2,151 | $2,743 | $1,949 | $1,065 | $669 | $109 | $484 | $717 | $615 | $466 | $366 | $399 | $389 | $1,273 | $998 | – | $1,064 | – | – | – | – |
| Interest income | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($314) | ($278) | ($279) | ($268) | ($244) | ($219) | ($217) | ($190) | ($166) | ($153) | ($141) | ($136) | ($117) | ($118) | ($124) | ($133) | ($134) | ($139) | ($137) | ($109) | ($77) | ($83) | ($81) | ($96) | ($75) | ($52) | ($78) | ($76) | ($61) | ($65) | ($62) | ($57) | ($55) | ($40) | ($44) | ($48) | ($48) | ($49) | ($16) | ($11) | ($6) | ($9) |
| Pre-tax income | $14,693 | $14,223 | $10,713 | $4,904 | $922 | $4,210 | $7,173 | $5,160 | $3,164 | $2,139 | $1,471 | $1,912 | $1,907 | $1,720 | $1,318 | $1,487 | $1,565 | $1,557 | ($222) | $1,693 | $2,433 | $2,059 | $2,451 | $1,860 | $981 | $588 | $32 | $412 | $661 | $578 | $442 | $346 | $380 | $373 | $179 | $970 | $86 | $86 | $132 | $108 | $71 | $24 |
| Income tax expense | ($3,071) | ($2,915) | ($2,233) | ($1,001) | ($200) | ($859) | ($1,469) | ($1,180) | ($543) | ($541) | ($414) | ($611) | ($626) | ($555) | ($415) | ($472) | ($497) | ($499) | $152 | ($510) | ($786) | ($665) | ($802) | ($604) | ($314) | ($176) | $14 | ($117) | ($204) | ($178) | ($128) | ($95) | ($106) | ($106) | ($39) | – | $8 | ($8) | ($24) | ($16) | ($16) | $1 |
| Net income | $11,622 | $11,308 | $8,480 | $3,903 | $722 | $3,351 | $5,705 | $3,970 | $2,615 | $1,592 | $1,031 | $1,268 | $1,281 | $1,165 | $902 | $1,016 | $1,068 | $1,058 | ($70) | $1,182 | $1,648 | $1,394 | $1,649 | $1,255 | $667 | $411 | $46 | $295 | $457 | $400 | $314 | $250 | $274 | $267 | $154 | $33 | $93 | $78 | $108 | $91 | $55 | $26 |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $19.86 | $19.23 | $14.40 | $6.58 | $1.18 | $5.66 | $9.66 | $6.72 | $4.42 | $2.72 | $1.76 | $2.15 | $2.15 | $1.93 | $1.48 | $1.59 | $1.61 | $1.57 | ($0.10) | $1.65 | $2.10 | $1.74 | $1.91 | $1.42 | $0.75 | $0.46 | $0.0517 | $0.33 | $0.51 | $0.44 | $0.34 | $0.27 | $0.30 | $0.30 | $0.17 | $0.0341 | $0.0991 | $0.11 | $0.10 | $0.0874 | $0.0549 | $0.0316 |
| Basic EPS (GAAP) | $19.90 | $19.29 | $14.45 | $6.61 | $1.19 | $5.69 | $9.71 | $6.75 | $4.45 | $2.74 | $1.77 | $2.16 | $2.17 | $1.95 | $1.50 | $1.61 | $1.62 | $1.59 | ($0.10) | $1.66 | $2.13 | $1.77 | $1.94 | $1.45 | $0.76 | $0.47 | $0.0525 | $0.34 | $0.53 | $0.46 | $0.35 | $0.27 | $0.30 | $0.30 | $0.19 | $0.0341 | $0.11 | $0.0767 | $0.11 | $0.0874 | $0.0549 | $0.0316 |
| Basic shares outstanding | 585 | 586 | 586 | 585 | 584 | 584 | 585 | 584 | 582 | 581 | 582 | 586 | 591 | 599 | 603 | 632 | 658 | 667 | 668 | 710 | 774 | 788 | 852 | 867 | 876 | 884 | 878 | 875 | 870 | 864 | 909 | 922 | 917 | 893 | 796 | 964 | 877 | 1,017 | 1,007 | 1,044 | 1,006 | 806 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | – | – | – | – | – | – | – | 26.9% | – | – | – | – | – | – | – | – | – | – | 11.4% | 22.9% | 17.2% | 15.2% | 18.7% | 16.8% | 11.7% | 9.0% | 2.1% | 8.8% | 14.4% | 15.1% | 15.8% | 14.7% | 19.7% | 23.7% | 74.4% | 68.1% | – | 78.7% | – | – | – | – |
| Operating margin | 15.6% | 16.5% | 14.6% | 8.3% | 2.4% | 9.3% | 17.3% | 13.2% | 10.4% | 8.5% | 6.9% | 9.8% | 10.4% | 10.1% | 8.4% | 10.3% | 11.1% | 10.7% | (1.7%) | 11.5% | 16.5% | 14.4% | 17.8% | 15.6% | 10.6% | 7.8% | 0.5% | 6.7% | 12.5% | 12.6% | 12.7% | 11.5% | 15.7% | 19.1% | 71.8% | 64.9% | 64.6% | 75.2% | 98.8% | 98.9% | 99.2% | 98.2% |
| Net margin | 12.7% | 12.9% | 11.3% | 6.3% | 1.5% | 7.0% | 13.4% | 10.2% | 8.2% | 5.9% | 4.4% | 6.1% | 6.6% | 6.4% | 5.3% | 6.4% | 7.0% | 7.3% | (0.5%) | 8.1% | 11.1% | 9.7% | 12.0% | 10.6% | 7.2% | 5.5% | 0.7% | 4.8% | 8.6% | 8.7% | 9.0% | 8.3% | 11.4% | 13.7% | 8.8% | 2.2% | 68.3% | 5.6% | 8.0% | 9.1% | 7.6% | 5.2% |