
| Line item | FY2026 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valuation | ||||||||||||||||||||||||||||||||||||||||
| Market cap | $166,359 | $140,284 | $108,167 | $94,590 | $85,851 | $76,392 | $70,428 | $59,322 | $95,812 | $89,370 | $84,981 | $45,426 | $40,440 | $32,706 | $25,448 | $18,470 | $16,155 | $8,147 | $14,000 | $13,422 | $11,906 | $12,240 | $11,692 | $9,822 | $11,428 | $8,922 | $5,134 | $9,135 | $5,452 | $2,962 | $1,329 | $970 | $2,068 | $2,107 | $1,274 | $823 | $897 | $1,411 | $772 | $1,802 |
| Enterprise value | $173,618 | $147,727 | $115,109 | $101,857 | $92,132 | $81,426 | $78,675 | $58,768 | $95,000 | $88,301 | $84,233 | $44,334 | $39,270 | $31,433 | $24,633 | $17,442 | $15,202 | $8,472 | $14,123 | $13,375 | $12,249 | $12,633 | $12,145 | $10,040 | $11,639 | $9,148 | $5,182 | $8,895 | $5,292 | $2,759 | $1,889 | $1,219 | $2,226 | $2,184 | $1,521 | $1,055 | $1,146 | $1,634 | $748 | $1,816 |
| P/E (TTM) at period end | 30.28× | 28.84× | 24.18× | 27.04× | 26.15× | 848.80× | 21.52× | 19.39× | 36.74× | 38.89× | 37.31× | 20.51× | 18.92× | 17.15× | 17.01× | 13.79× | 13.30× | 8.86× | 18.14× | 18.19× | 17.24× | 20.08× | 19.19× | 16.98× | 22.84× | 16.58× | 9.84× | 21.53× | 17.89× | 8.16× | 50.54× | 11.74× | 16.63× | 20.50× | 63.39× | 11.11× | 10.83× | – | 11.58× | 34.51× |
| P/S (TTM) at period end | 2.76× | 2.49× | 2.00× | 1.89× | 1.77× | 2.38× | 1.69× | 1.52× | 2.67× | 2.69× | 2.75× | 1.56× | 1.47× | 1.26× | 1.10× | 0.84× | 0.80× | 0.43× | 0.76× | 0.78× | 0.75× | 0.82× | 0.88× | 0.82× | 1.07× | 0.93× | 0.58× | 1.15× | 0.74× | 0.44× | 0.33× | 0.25× | 0.57× | 0.65× | 0.46× | 0.34× | 0.42× | 0.73× | 0.47× | 1.29× |
| P/B at period end | 16.33× | 16.71× | 14.81× | 14.86× | 14.30× | 13.10× | 11.84× | 11.75× | 18.61× | 19.81× | 19.73× | 10.65× | 9.56× | 8.92× | 7.93× | 5.96× | 5.59× | 3.82× | 6.57× | 5.86× | 6.29× | 7.40× | 7.53× | 6.97× | 8.52× | 7.32× | 4.59× | 7.48× | 4.68× | 2.63× | 1.74× | 1.60× | 3.50× | 4.17× | 4.89× | 3.04× | 3.93× | 2.60× | 3.02× | 8.95× |
| EV / EBITDA (TTM) | 20.61× | 19.95× | 17.03× | 17.72× | 16.38× | 56.04× | 14.89× | 10.53× | 18.52× | 17.96× | 17.86× | 9.81× | 9.29× | 7.96× | 52.51× | 37.24× | 6.26× | 4.54× | 8.68× | 7.86× | 8.49× | 9.76× | 9.70× | 8.57× | 10.54× | 8.60× | 5.07× | 10.56× | 8.12× | 5.20× | 7.83× | 4.99× | 7.49× | 8.33× | 7.41× | 5.34× | 6.01× | – | – | – |
| EV / Sales (TTM) | 2.88× | 2.62× | 2.12× | 2.04× | 1.90× | 2.53× | 1.89× | 1.51× | 2.65× | 2.66× | 2.72× | 1.52× | 1.43× | 1.21× | 1.06× | 0.79× | 0.75× | 0.45× | 0.77× | 0.78× | 0.77× | 0.85× | 0.91× | 0.84× | 1.09× | 0.96× | 0.59× | 1.12× | 0.72× | 0.41× | 0.48× | 0.32× | 0.61× | 0.67× | 0.55× | 0.43× | 0.53× | 0.85× | 0.45× | 1.30× |
| Returns | ||||||||||||||||||||||||||||||||||||||||
| Return on equity | 53.9% | 58.0% | 61.3% | 55.0% | 54.7% | 1.5% | 55.0% | 60.6% | 50.7% | 51.0% | 52.9% | 51.9% | 50.5% | 52.0% | 46.6% | 43.2% | 42.0% | 43.1% | 36.2% | 32.2% | 36.5% | 36.9% | 39.3% | 41.0% | 37.3% | 44.2% | 46.6% | 34.8% | 26.2% | 32.2% | 3.4% | 13.6% | 21.0% | 20.3% | 7.7% | 27.4% | 36.3% | (30.9%) | 26.0% | 25.9% |
| Return on invested capital | 31.0% | 29.9% | 30.5% | 26.9% | 28.9% | 5.4% | 23.1% | 77.7% | 61.5% | 66.0% | 65.3% | 71.0% | 70.6% | 81.1% | (0.4%) | 0.3% | 59.9% | 37.6% | 34.7% | 35.5% | 31.8% | 30.6% | 31.2% | 36.5% | 35.9% | 38.2% | 45.5% | 44.3% | 30.8% | 25.5% | 7.1% | 11.4% | 18.5% | 20.6% | 16.9% | 17.8% | 18.3% | 8.2% | 30.3% | 25.3% |
| Dividend yield | 1.1% | 1.2% | 1.4% | 1.4% | 1.5% | 0.4% | 1.5% | 1.6% | 0.8% | 0.7% | 0.6% | 1.0% | 1.0% | 1.0% | 1.1% | 1.2% | 1.2% | 2.2% | 1.1% | 0.9% | 0.9% | 0.7% | 0.6% | 0.6% | 0.4% | 0.5% | 0.8% | 0.5% | 0.8% | 1.2% | 3.4% | 5.0% | 2.1% | 1.7% | 2.5% | 3.8% | 2.8% | – | – | – |
| Financial health | ||||||||||||||||||||||||||||||||||||||||
| Current ratio | 1.14× | 1.18× | 1.21× | 1.21× | 1.27× | 1.46× | 1.24× | 1.53× | 1.66× | 1.63× | 1.54× | 1.67× | 1.72× | 1.52× | 1.68× | 1.63× | 1.66× | 1.31× | 1.45× | 1.57× | 1.39× | 1.32× | 1.45× | 1.43× | 1.61× | 1.40× | 1.24× | 1.33× | 1.38× | 1.41× | 1.32× | 1.38× | 1.49× | 1.43× | 1.35× | 1.57× | 1.53× | 2.07× | 1.61× | 1.91× |
| Debt / equity | 0.28× | 0.34× | 0.39× | 0.53× | 0.56× | 1.04× | 0.38× | 0.44× | 0.43× | 0.49× | 0.38× | 0.38× | 0.30× | 0.21× | 0.24× | 0.25× | 0.27× | 0.36× | 0.39× | 0.34× | 0.41× | 0.41× | 0.43× | 0.48× | 0.50× | 0.29× | 0.38× | 0.18× | 0.21× | 0.24× | 1.01× | 0.48× | 0.37× | 0.36× | 1.21× | 1.17× | 1.33× | 0.64× | 0.12× | 0.15× |
| Effective tax rate | 24.7% | 25.0% | 25.0% | 24.5% | 25.4% | (1.1%) | 25.7% | 26.7% | 32.4% | 38.3% | 37.7% | 37.6% | 35.6% | 38.0% | 38.0% | 38.1% | 37.8% | 36.9% | 37.9% | 37.7% | 31.6% | 38.3% | 38.2% | 38.3% | 38.2% | 37.8% | 38.3% | 38.5% | 41.3% | 41.6% | 41.9% | 41.7% | 39.7% | 39.9% | 42.2% | 40.0% | 41.4% | 45.7% | 43.7% | 48.2% |
| Share count | ||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 1,128 | 1,142 | 1,159 | 1,178 | 1,216 | 1,215 | 1,227 | 1,259 | 1,292 | 1,329 | 1,367 | 1,407 | 1,453 | 1,495 | 1,548 | 1,626 | 1,710 | 1,769 | 1,872 | 1,920 | 1,966 | 2,039 | 2,125 | 2,219 | 2,298 | 2,314 | 2,542 | 2,677 | 2,797 | 2,688 | 2,253 | 2,320 | 2,342 | 2,419 | 2,297 | 2,196 | 1,963 | 1,815 | 1,569 | 2,217 |
| Line item | TTM | FY2026 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue and gross profit | |||||||||||||||||||||||||||||||||||||||||
| Revenue | $62,363 | $60,372 | $56,360 | $54,217 | $49,936 | $48,550 | $32,137 | $41,717 | $38,973 | $35,865 | $33,184 | $30,945 | $29,078 | $27,423 | $25,878 | $23,191 | $21,942 | $20,288 | $19,000 | $18,337 | $17,104 | $15,956 | $14,861 | $13,328 | $11,981 | $10,709 | $9,579 | $8,795 | $7,949 | $7,389 | $6,689 | $3,975 | $3,843 | $3,627 | $3,261 | $2,758 | $2,446 | $2,149 | $1,921 | $1,644 | $1,395 |
| Cost of revenue | ($42,408) | ($41,679) | ($39,112) | ($37,951) | ($36,149) | ($34,714) | ($24,534) | ($29,846) | ($27,831) | ($25,502) | ($23,566) | ($22,035) | ($20,777) | ($19,605) | ($18,521) | ($16,854) | ($16,040) | ($14,968) | ($14,429) | ($13,842) | ($12,970) | ($12,215) | ($11,357) | ($10,101) | ($9,080) | ($8,123) | ($7,012) | ($6,419) | ($5,821) | ($5,552) | ($5,072) | ($3,064) | ($2,851) | ($2,655) | ($2,405) | ($2,061) | ($1,827) | ($1,602) | ($1,757) | ($1,495) | ($1,270) |
| Gross profit | $19,955 | $18,693 | $17,248 | $16,266 | $13,787 | $13,836 | $7,603 | $11,871 | $11,142 | $10,362 | $9,618 | $8,910 | $8,302 | $7,818 | $7,357 | $6,337 | $5,902 | $5,320 | $4,570 | $4,495 | $4,134 | $3,741 | $3,503 | $3,227 | $2,902 | $2,586 | $2,567 | $2,376 | $2,128 | $1,837 | $1,617 | $911 | $992 | $971 | $856 | $697 | $619 | $546 | $164 | $148 | $124 |
| Operating expenses | |||||||||||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($12,040) | ($11,515) | ($10,946) | ($10,469) | ($8,927) | ($9,081) | ($7,021) | ($7,455) | ($6,924) | ($6,375) | ($5,768) | ($5,206) | ($4,695) | ($4,467) | ($4,250) | ($3,890) | ($3,710) | ($3,329) | ($3,136) | ($2,997) | ($2,854) | ($2,703) | ($2,488) | ($2,213) | ($1,939) | ($1,686) | ($1,503) | ($1,355) | ($1,286) | ($1,186) | ($1,087) | ($670) | ($748) | ($674) | ($594) | ($492) | ($422) | ($356) | ($12) | – | – |
| Total operating expenses | ($11,956) | ($11,515) | ($10,946) | ($10,469) | ($8,927) | ($9,081) | ($7,021) | ($7,455) | ($6,379) | ($5,959) | ($5,360) | ($4,810) | ($4,371) | ($4,138) | ($3,915) | ($6,354) | ($5,891) | ($3,328) | ($3,105) | ($3,237) | ($2,854) | ($2,703) | ($2,488) | ($2,213) | ($1,939) | ($1,686) | ($1,679) | ($1,515) | ($1,422) | ($1,311) | ($1,214) | ($749) | ($824) | ($742) | ($657) | ($548) | ($470) | ($398) | ($48) | ($24) | ($19) |
| Total costs and expenses | ($54,364) | ($53,194) | ($50,058) | ($48,420) | ($45,076) | ($43,795) | ($31,555) | ($37,301) | ($34,210) | ($31,461) | ($28,926) | ($26,845) | ($25,147) | ($23,743) | ($22,437) | ($23,208) | ($21,932) | ($18,297) | ($17,534) | ($17,078) | ($15,824) | ($14,918) | ($13,845) | ($12,314) | ($11,018) | ($9,809) | ($8,691) | ($7,934) | ($7,243) | ($6,862) | ($6,286) | ($3,813) | ($3,675) | ($3,397) | ($3,062) | ($2,609) | ($2,297) | ($2,000) | ($1,805) | ($1,519) | ($1,289) |
| Operating income | $7,999 | $7,178 | $6,302 | $5,797 | $4,860 | $4,755 | $582 | $4,416 | $4,763 | $4,403 | $4,258 | $4,100 | $3,931 | $3,680 | $3,442 | ($17) | $10 | $1,992 | $1,465 | $1,258 | $1,280 | $1,038 | $1,016 | $1,014 | $963 | $900 | $888 | $861 | $706 | $527 | $404 | $162 | $168 | $230 | $199 | $148 | $149 | $149 | $115 | $125 | $105 |
| Earnings | |||||||||||||||||||||||||||||||||||||||||
| EBITDA | $9,318 | $8,425 | $7,406 | $6,761 | $5,747 | $5,623 | $1,453 | $5,284 | $5,583 | $5,129 | $4,917 | $4,717 | $4,520 | $4,229 | $3,950 | $469 | $468 | $2,427 | $1,867 | $1,628 | $1,703 | $1,443 | $1,295 | $1,252 | $1,171 | $1,104 | $1,064 | $1,022 | $842 | $652 | $530 | $241 | $244 | $297 | $262 | $205 | $198 | $191 | – | – | – |
| Interest income | $186 | $195 | $257 | $249 | $78 | $4 | $13 | $49 | $56 | $33 | $18 | $14 | $16 | $15 | $12 | $11 | $10 | $9 | $22 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | $130 | ($79) | ($78) | ($82) | ($91) | ($123) | ($199) | ($61) | ($69) | ($69) | ($69) | ($68) | ($65) | ($57) | ($49) | ($49) | ($49) | ($49) | ($38) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $8,045 | $7,299 | $6,483 | $5,967 | $4,636 | $4,398 | $89 | $4,406 | $4,173 | $3,857 | $3,723 | $3,658 | $3,550 | $3,319 | $3,077 | $2,411 | $2,164 | $1,952 | $1,451 | $1,260 | $1,264 | $1,009 | $990 | $987 | $938 | $874 | $865 | $854 | $704 | $522 | $366 | $89 | $142 | $211 | $173 | $121 | $124 | $129 | $101 | $118 | $101 |
| Income tax expense | ($1,978) | ($1,805) | ($1,619) | ($1,493) | ($1,138) | ($1,115) | $1 | ($1,134) | ($1,113) | ($1,249) | ($1,425) | ($1,381) | ($1,335) | ($1,182) | ($1,171) | ($915) | ($825) | ($738) | ($536) | ($478) | ($477) | ($319) | ($380) | ($377) | ($359) | ($334) | ($327) | ($327) | ($271) | ($216) | ($152) | ($37) | ($59) | ($84) | ($69) | ($51) | ($49) | ($53) | ($46) | ($52) | ($49) |
| Net income | $6,067 | $5,494 | $4,864 | $4,474 | $3,498 | $3,283 | $90 | $3,272 | $3,060 | $2,608 | $2,298 | $2,278 | $2,215 | $2,137 | $1,907 | $1,496 | $1,343 | $1,214 | $881 | $772 | $738 | $690 | $610 | $609 | $578 | $500 | $538 | $522 | $424 | $305 | $363 | $26 | $83 | $124 | $103 | $20 | $74 | $83 | ($168) | $67 | $52 |
| Per share | |||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $5.41 | $4.87 | $4.26 | $3.86 | $2.97 | $2.70 | $0.07 | $2.67 | $2.43 | $2.02 | $1.73 | $1.67 | $1.57 | $1.47 | $1.27 | $0.965 | $0.825 | $0.71 | $0.50 | $0.415 | $0.39 | $0.35 | $0.30 | $0.29 | $0.25 | $0.23 | $0.23 | $0.21 | $0.16 | $0.11 | $0.13 | $0.0075 | $0.0325 | $0.05 | $0.0425 | $0.0088 | $0.0338 | $0.04 | ($0.0925) | $0.0425 | $0.0235 |
| Basic EPS (GAAP) | $5.46 | $4.93 | $4.31 | $3.90 | $3.00 | $2.74 | $0.08 | $2.71 | $2.47 | $2.05 | $1.75 | $1.69 | $1.60 | $1.50 | $1.30 | $0.985 | $0.84 | $0.725 | $0.525 | $0.435 | $0.41 | $0.37 | $0.31 | $0.30 | $0.28 | $0.23 | $0.23 | $0.21 | $0.17 | $0.11 | $0.15 | $0.0075 | $0.0325 | $0.05 | $0.0425 | $0.0088 | $0.0338 | $0.04 | ($0.0925) | $0.0425 | $0.0235 |
| Basic shares outstanding | 1,112 | 1,114 | 1,128 | 1,146 | 1,166 | 1,200 | 1,200 | 1,208 | 1,241 | 1,274 | 1,311 | 1,347 | 1,385 | 1,427 | 1,467 | 1,522 | 1,601 | 1,671 | 1,676 | 1,772 | 1,816 | 1,866 | 1,955 | 2,033 | 2,140 | 2,210 | 2,300 | 2,517 | 2,545 | 2,572 | 2,389 | 2,253 | 2,320 | 2,342 | 2,419 | 2,297 | 2,196 | 1,963 | 1,815 | 1,569 | 2,217 |
| Margins | |||||||||||||||||||||||||||||||||||||||||
| Gross margin | 32.0% | 31.0% | 30.6% | 30.0% | 27.6% | 28.5% | 23.7% | 28.5% | 28.6% | 28.9% | 29.0% | 28.8% | 28.5% | 28.5% | 28.4% | 27.3% | 26.9% | 26.2% | 24.1% | 24.5% | 24.2% | 23.4% | 23.6% | 24.2% | 24.2% | 24.1% | 26.8% | 27.0% | 26.8% | 24.9% | 24.2% | 22.9% | 25.8% | 26.8% | 26.3% | 25.3% | 25.3% | 25.4% | 8.5% | 9.0% | 8.9% |
| Operating margin | 12.8% | 11.9% | 11.2% | 10.7% | 9.7% | 9.8% | 1.8% | 10.6% | 12.2% | 12.3% | 12.8% | 13.3% | 13.5% | 13.4% | 13.3% | (0.1%) | 0.0% | 9.8% | 7.7% | 6.9% | 7.5% | 6.5% | 6.8% | 7.6% | 8.0% | 8.4% | 9.3% | 9.8% | 8.9% | 7.1% | 6.0% | 4.1% | 4.4% | 6.3% | 6.1% | 5.4% | 6.1% | 6.9% | 6.0% | 7.6% | 7.6% |
| Net margin | 9.7% | 9.1% | 8.6% | 8.3% | 7.0% | 6.8% | 0.3% | 7.8% | 7.9% | 7.3% | 6.9% | 7.4% | 7.6% | 7.8% | 7.4% | 6.5% | 6.1% | 6.0% | 4.6% | 4.2% | 4.3% | 4.3% | 4.1% | 4.6% | 4.8% | 4.7% | 5.6% | 5.9% | 5.3% | 4.1% | 5.4% | 0.7% | 2.1% | 3.4% | 3.2% | 0.7% | 3.0% | 3.9% | (8.7%) | 4.1% | 3.7% |