
| 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 | $23,784 | $23,886 | $32,356 | $35,732 | $20,471 | $16,918 | $21,903 | $23,792 | $43,744 | $48,417 | $30,470 | $33,352 | $45,574 | $32,123 | $31,680 | $37,074 | $27,081 | $15,944 | $34,612 | $31,485 | $31,290 | $17,148 | $11,284 | $8,087 | $5,607 | $16,027 | $17,714 | $13,003 | $13,120 | $7,870 | $6,286 | $3,782 | $4,207 | $3,134 | $3,793 | $5,427 | $4,550 | $2,889 | $2,589 | $2,582 | $2,821 |
| Enterprise value | $29,755 | $30,082 | $38,943 | $42,358 | $27,661 | $25,200 | $31,008 | $32,154 | $52,376 | $56,831 | $35,772 | $38,871 | $51,068 | $34,484 | $33,670 | $38,861 | $28,290 | $17,451 | $35,257 | $30,362 | $32,218 | $18,403 | $13,006 | $8,576 | $6,886 | $18,461 | $19,704 | $14,915 | $14,273 | $7,903 | $6,321 | $4,033 | $4,878 | $3,570 | $4,344 | $5,520 | $4,375 | $3,088 | $2,271 | $2,345 | $2,815 |
| P/E (TTM) at period end | 18.54× | 9.55× | 12.27× | 22.73× | 14.05× | – | – | 14.37× | – | – | – | 9.53× | 21.45× | 12.19× | 11.16× | 20.20× | 23.65× | 7.17× | 9.93× | 13.41× | 13.27× | – | – | – | 6.93× | 31.99× | 40.44× | – | 16.99× | 14.11× | 34.22× | 21.27× | – | – | 142.60× | 27.49× | 34.03× | 34.15× | 53.83× | – | 98.29× |
| P/S (TTM) at period end | 1.07× | 1.04× | 1.41× | 1.76× | 1.34× | 1.17× | 0.98× | 0.99× | 2.12× | 3.05× | 1.29× | 1.01× | 1.55× | 1.13× | 1.28× | 2.06× | 1.85× | 0.87× | 2.27× | 2.43× | 3.10× | 0.86× | 0.69× | 0.64× | 0.43× | 1.34× | 1.44× | 0.90× | 0.81× | 0.56× | 1.07× | 0.66× | 0.66× | 0.48× | 0.54× | 0.78× | 0.80× | 0.59× | 0.77× | 0.74× | 0.59× |
| P/B at period end | 2.27× | 2.27× | 3.45× | 4.50× | 3.05× | 3.40× | 2.73× | 2.50× | 5.26× | 5.15× | 1.97× | 2.05× | 3.36× | 2.04× | 2.40× | 3.57× | 3.10× | 2.06× | 5.04× | 4.27× | 4.91× | 4.36× | 4.43× | 2.27× | 1.18× | 4.08× | 4.13× | 3.20× | 5.08× | 3.65× | 3.59× | 1.95× | 2.23× | 1.64× | 1.75× | 2.42× | 2.15× | 1.37× | 1.24× | 1.20× | 0.99× |
| EV / EBITDA (TTM) | 8.76× | 6.14× | 7.66× | 11.61× | 10.23× | – | 26.35× | 7.89× | 17.88× | – | 21.42× | 5.38× | 10.14× | 5.96× | 5.52× | 9.41× | 9.67× | 3.68× | 8.64× | 8.15× | 12.33× | 13.85× | 10.51× | 21.82× | 4.26× | 19.13× | 21.61× | 9.65× | 7.25× | 5.32× | 9.45× | 8.12× | 15.27× | 16.37× | 11.13× | 9.43× | 9.04× | – | – | – | – |
| EV / Sales (TTM) | 1.34× | 1.31× | 1.69× | 2.09× | 1.81× | 1.74× | 1.38× | 1.34× | 2.54× | 3.58× | 1.51× | 1.18× | 1.74× | 1.21× | 1.36× | 2.16× | 1.93× | 0.95× | 2.31× | 2.34× | 3.19× | 0.93× | 0.80× | 0.68× | 0.53× | 1.55× | 1.60× | 1.03× | 0.88× | 0.57× | 1.07× | 0.70× | 0.77× | 0.55× | 0.62× | 0.80× | 0.77× | 0.63× | 0.67× | 0.67× | 0.59× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 12.3% | 23.8% | 28.1% | 19.8% | 21.7% | (59.2%) | (14.1%) | 17.4% | (5.6%) | (61.2%) | (4.3%) | 21.5% | 15.6% | 16.7% | 21.5% | 17.7% | 13.1% | 28.8% | 50.8% | 31.8% | 37.0% | (24.9%) | (32.2%) | (28.0%) | 17.0% | 12.8% | 10.2% | (0.4%) | 29.9% | 25.8% | 10.5% | 9.2% | (8.5%) | (7.2%) | 1.2% | 8.8% | 6.3% | 4.0% | 2.3% | (24.0%) | 1.0% |
| Return on invested capital | 10.0% | 17.8% | 20.2% | 14.0% | 12.9% | (16.8%) | (2.6%) | 12.6% | – | (28.7%) | (0.6%) | 17.1% | 12.6% | 15.5% | 20.9% | 15.9% | 12.3% | 29.8% | 32.7% | 37.8% | 29.6% | 9.9% | 10.4% | (2.8%) | 10.7% | 4.5% | 4.0% | – | 23.0% | 31.2% | 14.8% | 6.6% | (4.4%) | (5.8%) | 1.0% | 8.1% | 6.7% | 5.0% | 1.0% | (29.0%) | 0.6% |
| Dividend yield | 2.4% | 2.5% | 1.8% | 1.2% | 0.8% | 1.6% | 2.9% | 2.6% | 1.4% | 1.3% | 2.0% | 1.6% | 1.0% | 1.0% | 1.0% | 0.9% | 1.2% | 2.0% | 0.9% | 1.0% | 0.8% | 1.3% | 1.9% | 2.7% | 3.8% | 1.4% | 1.2% | 2.0% | 1.0% | 3.0% | 1.8% | 3.0% | 2.7% | 3.4% | 2.8% | 2.0% | 2.3% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | 2.04× | 2.05× | 2.06× | 2.05× | 2.31× | 2.14× | 2.30× | 2.32× | 2.22× | 2.90× | 3.76× | 2.50× | 2.73× | 2.75× | 2.81× | 3.22× | 2.99× | 2.66× | 3.14× | 2.36× | 2.11× | 1.40× | 1.21× | 1.70× | 1.92× | 1.42× | 1.99× | 1.55× | 0.86× | 1.59× | 1.77× | 3.75× | 3.16× | 3.07× | 3.22× | 3.29× | 3.99× | – | 2.24× | 2.26× | 2.10× |
| Debt / equity | 0.68× | 0.72× | 0.81× | 1.00× | 1.36× | 1.98× | 1.29× | 1.09× | 1.31× | 1.32× | 0.99× | 0.48× | 0.58× | 0.31× | 0.37× | 0.37× | 0.52× | 0.34× | 0.41× | 0.38× | 0.50× | 1.01× | 1.35× | 0.43× | 0.32× | 0.67× | 0.54× | 0.48× | 0.52× | 0.11× | 0.12× | 0.35× | 0.38× | 0.34× | 0.31× | 0.09× | 0.09× | 0.09× | 0.11× | 0.13× | 0.22× |
| Effective tax rate | 27.0% | 22.2% | 20.8% | 24.4% | (17.3%) | 8.6% | (0.6%) | 8.7% | 165.8% | 24.4% | 29.3% | 27.1% | 23.4% | 32.3% | 32.3% | 32.1% | 30.8% | 31.5% | 26.2% | 31.4% | (6.3%) | 37.1% | 38.2% | (35.1%) | 40.3% | 38.5% | 37.8% | 442.9% | 38.9% | 30.8% | 35.6% | 38.8% | 14.2% | 4.7% | 70.6% | 43.7% | 45.6% | 44.9% | 26.0% | 6.8% | 79.9% |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 853 | 883 | 902 | 908 | 892 | 881 | 875 | 877 | 870 | 861 | 853 | 852 | 902 | 928 | 922 | 911 | 902 | 909 | 955 | 1,054 | 1,038 | 882 | 874 | 864 | 860 | 892 | 886 | 878 | 514 | 523 | 496 | 457 | 528 | 436 | 532 | 476 | 424 | 413 | 418 | 424 | 410 |
| 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 | $22,476 | $22,184 | $22,944 | $23,018 | $20,297 | $15,295 | $14,445 | $22,408 | $23,995 | $20,620 | $15,887 | $23,633 | $32,870 | $29,402 | $28,503 | $24,829 | $17,973 | $14,675 | $18,279 | $15,264 | $12,955 | $10,100 | $19,884 | $16,271 | $12,572 | $13,046 | $11,944 | $12,313 | $14,504 | $16,272 | $13,947 | $5,883 | $5,740 | $6,351 | $6,525 | $7,019 | $6,926 | $5,661 | $4,897 | $3,368 | $3,509 | $4,779 |
| Cost of revenue | ($19,111) | ($18,700) | ($18,643) | ($18,658) | ($16,984) | ($13,279) | ($12,900) | ($20,123) | ($21,009) | ($4,142) | ($3,770) | ($5,099) | ($6,479) | ($5,972) | ($5,322) | ($4,379) | ($3,508) | ($3,255) | ($3,970) | ($3,358) | ($9,426) | ($7,743) | ($18,752) | ($15,268) | ($12,379) | ($11,575) | ($11,218) | ($11,608) | ($12,522) | ($13,638) | ($11,839) | ($5,180) | ($5,046) | ($5,813) | ($5,986) | ($6,293) | ($6,057) | ($4,936) | – | ($2,957) | ($3,637) | ($4,140) |
| Gross profit | $3,365 | $3,484 | $4,301 | $4,360 | $3,313 | $2,016 | $1,545 | $2,285 | $2,986 | $16,478 | $12,117 | $18,534 | $26,391 | $23,430 | $23,181 | $20,450 | $14,465 | $11,420 | $14,309 | $11,906 | $3,529 | $2,357 | $1,132 | $1,003 | $193 | $1,471 | $726 | $705 | $1,982 | $2,634 | $2,108 | $703 | $694 | $538 | $540 | $726 | $869 | $725 | – | $411 | ($127) | $638 |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | – | ($411) | ($426) | ($408) | ($345) | ($321) | ($309) | ($404) | ($390) | ($360) | ($329) | ($487) | ($601) | ($588) | ($460) | ($401) | ($366) | ($325) | ($326) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($271) | ($239) | ($239) | ($226) | ($240) | ($204) | ($182) | ($227) | ($254) | ($256) | ($226) | ($200) | ($293) | ($333) | ($275) | ($281) | ($229) | ($207) | ($282) | ($293) | ($342) | ($294) | ($361) | ($330) | ($335) | ($387) | ($352) | ($351) | ($437) | ($665) | ($621) | ($34) | ($198) | ($218) | ($322) | ($336) | ($283) | ($241) | – | ($174) | ($187) | ($206) |
| Total operating expenses | ($538) | ($1,224) | ($479) | ($277) | ($606) | ($216) | ($3,981) | ($2,733) | ($519) | ($15,104) | ($18,887) | ($18,699) | ($21,294) | ($20,292) | ($19,022) | ($15,713) | ($11,456) | ($9,426) | ($10,299) | ($8,408) | ($284) | ($193) | ($312) | ($283) | ($305) | ($387) | ($264) | ($304) | ($937) | ($1,229) | ($1,119) | ($293) | ($459) | ($670) | ($682) | ($630) | ($533) | ($486) | – | ($388) | ($467) | ($549) |
| Total costs and expenses | ($19,649) | ($19,924) | ($19,122) | ($18,935) | ($17,590) | ($13,495) | ($16,881) | ($22,856) | ($21,528) | ($19,246) | ($22,657) | ($23,798) | ($27,773) | ($26,264) | ($24,344) | ($20,092) | ($14,964) | ($12,681) | ($14,269) | ($11,766) | ($9,710) | ($7,936) | ($19,064) | ($15,551) | ($12,684) | ($11,962) | ($11,482) | ($11,912) | ($13,459) | ($14,867) | ($12,958) | ($5,474) | ($5,506) | ($6,483) | ($6,667) | ($6,923) | ($6,590) | ($5,422) | ($4,686) | ($3,345) | ($4,104) | ($4,690) |
| Operating income | $2,827 | $2,260 | $3,822 | $4,083 | $2,707 | $1,800 | ($2,436) | ($448) | $2,467 | $1,374 | ($6,770) | ($165) | $5,097 | $3,138 | $4,159 | $4,737 | $3,009 | $1,994 | $4,010 | $3,498 | $3,245 | $2,164 | $820 | $720 | ($112) | $1,084 | $462 | $401 | $1,045 | $1,405 | $989 | $409 | $235 | ($133) | ($142) | $96 | $336 | $239 | $211 | $23 | ($595) | $89 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | $4,004 | $3,396 | $4,901 | $5,081 | $3,647 | $2,704 | ($1,378) | $1,177 | $4,073 | $2,930 | ($5,267) | $1,670 | $7,223 | $5,038 | $5,787 | $6,096 | $4,128 | $2,925 | $4,748 | $4,081 | $3,725 | $2,612 | $1,329 | $1,238 | $393 | $1,615 | $965 | $912 | $1,545 | $1,969 | $1,487 | $669 | $497 | $319 | $218 | $390 | $585 | $484 | – | – | – | – |
| Interest income | – | $88 | $97 | $81 | $29 | $9 | $38 | $23 | $44 | $112 | $59 | $16 | $13 | $8 | $7 | $5 | $11 | $12 | $39 | $124 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($335) | ($352) | ($353) | ($395) | ($463) | ($520) | ($505) | ($569) | ($554) | ($593) | ($639) | ($447) | ($383) | ($331) | ($298) | ($263) | ($297) | ($297) | ($167) | ($168) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $2,381 | $1,771 | $3,234 | $3,363 | $2,110 | $1,252 | ($3,220) | ($1,122) | $1,814 | $682 | ($7,625) | ($936) | $4,712 | $2,764 | $3,822 | $4,449 | $2,655 | $1,682 | $3,849 | $3,460 | $3,199 | $1,997 | $634 | $612 | ($228) | $954 | $335 | $307 | $35 | $1,264 | $806 | $387 | $291 | ($188) | ($130) | $90 | $351 | $246 | $153 | $65 | ($553) | $142 |
| Income tax expense | ($371) | ($479) | ($718) | ($701) | ($515) | $216 | $278 | ($7) | ($157) | ($1,131) | $1,858 | $274 | ($1,275) | ($648) | ($1,235) | ($1,439) | ($853) | ($518) | ($1,211) | ($907) | ($1,003) | $125 | ($235) | ($234) | ($80) | ($384) | ($129) | ($116) | ($155) | ($492) | ($248) | ($138) | ($113) | $27 | $6 | ($64) | ($154) | ($112) | ($69) | ($17) | $37 | ($114) |
| Net income | $2,001 | $1,283 | $2,501 | $2,638 | $1,572 | $1,457 | ($2,945) | ($1,131) | $1,656 | ($463) | ($5,763) | ($671) | $3,500 | $2,125 | $2,635 | $2,839 | $1,835 | $1,145 | $2,224 | $3,486 | $2,348 | $2,358 | ($979) | ($820) | ($998) | $809 | $501 | $438 | ($15) | $772 | $558 | $184 | $178 | ($161) | ($137) | $27 | $197 | $134 | $85 | $48 | ($515) | $29 |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $2.39 | $1.50 | $2.83 | $2.92 | $1.73 | $1.63 | ($3.34) | ($1.29) | $1.89 | ($0.53) | ($6.69) | ($0.79) | $4.11 | $2.36 | $2.84 | $3.08 | $2.01 | $1.27 | $2.45 | $3.65 | $2.23 | $2.27 | ($1.11) | ($0.94) | ($1.16) | $0.94 | $0.56 | $0.49 | ($0.0167) | $0.88 | $0.57 | $0.34 | $0.39 | ($0.31) | ($0.31) | $0.05 | $0.41 | $0.32 | $0.20 | $0.11 | ($1.21) | $0.07 |
| Basic EPS (GAAP) | $2.39 | $1.50 | $2.84 | $2.93 | $1.74 | $1.63 | ($3.34) | ($1.29) | $1.89 | ($0.53) | ($6.69) | ($0.79) | $4.13 | $2.37 | $2.85 | $3.09 | $2.02 | $1.27 | $2.52 | $3.79 | $2.32 | $2.33 | ($1.12) | ($0.94) | ($1.16) | $0.95 | $0.57 | $0.50 | ($0.0167) | $0.90 | $0.57 | $0.34 | $0.39 | ($0.31) | ($0.31) | $0.05 | $0.41 | $0.32 | $0.20 | $0.11 | ($1.21) | $0.07 |
| Basic shares outstanding | 836 | 853 | 882 | 899 | 904 | 892 | 881 | 875 | 875 | 870 | 861 | 853 | 848 | 898 | 926 | 918 | 908 | 900 | 883 | 919 | 1,014 | 1,010 | 874 | 868 | 864 | 856 | 884 | 880 | 878 | 506 | 523 | 496 | 457 | 528 | 436 | 532 | 476 | 424 | 413 | 418 | 424 | 410 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | 15.0% | 15.7% | 18.7% | 18.9% | 16.3% | 13.2% | 10.7% | 10.2% | 12.4% | 79.9% | 76.3% | 78.4% | 80.3% | 79.7% | 81.3% | 82.4% | 80.5% | 77.8% | 78.3% | 78.0% | 27.2% | 23.3% | 5.7% | 6.2% | 1.5% | 11.3% | 6.1% | 5.7% | 13.7% | 16.2% | 15.1% | 11.9% | 12.1% | 8.5% | 8.3% | 10.3% | 12.5% | 12.8% | – | 12.2% | (3.6%) | 13.4% |
| Operating margin | 12.6% | 10.2% | 16.7% | 17.7% | 13.3% | 11.8% | (16.9%) | (2.0%) | 10.3% | 6.7% | (42.6%) | (0.7%) | 15.5% | 10.7% | 14.6% | 19.1% | 16.7% | 13.6% | 21.9% | 22.9% | 25.0% | 21.4% | 4.1% | 4.4% | (0.9%) | 8.3% | 3.9% | 3.3% | 7.2% | 8.6% | 7.1% | 7.0% | 4.1% | (2.1%) | (2.2%) | 1.4% | 4.8% | 4.2% | 4.3% | 0.7% | (16.9%) | 1.9% |
| Net margin | 8.9% | 5.8% | 10.9% | 11.5% | 7.7% | 9.5% | (20.4%) | (5.0%) | 6.9% | (2.2%) | (36.3%) | (2.8%) | 10.6% | 7.2% | 9.2% | 11.4% | 10.2% | 7.8% | 12.2% | 22.8% | 18.1% | 23.3% | (4.9%) | (5.0%) | (7.9%) | 6.2% | 4.2% | 3.6% | (0.1%) | 4.7% | 4.0% | 3.1% | 3.1% | (2.5%) | (2.1%) | 0.4% | 2.9% | 2.4% | 1.7% | 1.4% | (14.7%) | 0.6% |