
| 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 | $81,380 | $68,373 | $70,592 | $83,976 | $60,901 | $47,944 | $54,119 | $38,532 | $48,288 | $36,594 | $29,707 | $30,775 | $26,314 | $16,800 | $16,187 | $17,449 | $16,174 | $13,668 | $24,377 | $21,233 | $19,440 | $17,737 | $17,549 | $9,896 | $7,826 | $5,315 | $3,403 | $4,548 | $6,960 | $4,696 | $3,397 | $1,449 | $1,595 | $1,463 | $1,123 | $740 | $768 | $1,197 | $1,084 | $1,648 | $1,853 |
| Enterprise value | $96,718 | $84,214 | $85,423 | $98,223 | $73,618 | $60,989 | $68,708 | $51,353 | $52,329 | $41,123 | $33,884 | $32,837 | $27,092 | $16,868 | $16,883 | $18,509 | $17,136 | $16,108 | $27,819 | $24,730 | $23,330 | $22,015 | $23,101 | $18,246 | $12,975 | $6,611 | $5,486 | $7,335 | $9,688 | $8,030 | $4,751 | $3,366 | $1,655 | $1,743 | $1,470 | $1,555 | $1,917 | $2,217 | $1,999 | $2,176 | $2,048 |
| P/E (TTM) at period end | 19.46× | 16.38× | 34.33× | 17.15× | 8.69× | 15.03× | 24.07× | 11.93× | 16.83× | 17.91× | 14.93× | 14.87× | 13.48× | 8.49× | 7.64× | 8.50× | 9.59× | – | 13.62× | 13.77× | 13.89× | 16.36× | 20.27× | 154.62× | 18.33× | 8.74× | 7.29× | 23.44× | 17.10× | 20.07× | 13.48× | 41.41× | 16.62× | 12.09× | 4.19× | 3.52× | – | – | 11.51× | 40.00× | 8.64× |
| P/S (TTM) at period end | 1.94× | 1.67× | 1.80× | 2.29× | 1.71× | 1.30× | 1.60× | 1.28× | 1.87× | 1.49× | 1.26× | 1.28× | 1.07× | 0.67× | 0.61× | 0.62× | 0.58× | 0.52× | 0.80× | 0.70× | 0.63× | 0.59× | 0.67× | 0.58× | 0.58× | 0.70× | 0.38× | 0.51× | 0.76× | 0.58× | 0.50× | 0.22× | 0.32× | 0.26× | 0.20× | 0.13× | 0.15× | 0.21× | 0.18× | 0.29× | 0.37× |
| P/B at period end | 4.88× | 4.47× | 4.77× | 5.48× | 4.71× | 4.53× | 6.14× | 4.71× | 6.77× | 6.82× | 5.38× | 4.25× | 2.48× | 1.77× | 1.57× | 1.30× | 1.29× | 1.15× | 1.38× | 1.28× | 1.16× | 1.06× | 1.11× | 0.69× | 1.06× | 1.36× | 1.04× | 1.60× | 2.65× | 2.21× | 2.33× | 1.12× | 1.21× | 1.17× | 0.95× | 0.72× | 0.88× | 1.19× | 1.14× | 1.83× | 2.06× |
| EV / EBITDA (TTM) | 16.17× | 14.67× | 22.04× | 19.87× | 10.68× | 11.44× | 13.13× | 11.21× | 14.17× | 11.02× | 9.56× | 8.98× | 7.49× | 4.63× | 4.42× | 5.47× | 6.07× | 6.48× | 7.96× | 7.86× | 7.95× | 7.98× | 10.63× | 9.52× | 7.87× | 4.47× | 4.04× | 6.38× | 7.46× | 7.83× | 5.82× | 7.22× | 3.85× | 4.50× | 2.81× | 3.25× | 7.86× | – | – | – | – |
| EV / Sales (TTM) | 2.31× | 2.05× | 2.17× | 2.68× | 2.06× | 1.66× | 2.03× | 1.71× | 2.03× | 1.68× | 1.44× | 1.37× | 1.10× | 0.67× | 0.64× | 0.66× | 0.62× | 0.61× | 0.92× | 0.82× | 0.76× | 0.74× | 0.88× | 1.06× | 0.96× | 0.87× | 0.61× | 0.82× | 1.06× | 0.99× | 0.70× | 0.50× | 0.33× | 0.31× | 0.26× | 0.28× | 0.37× | 0.38× | 0.33× | 0.39× | 0.41× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 25.1% | 27.3% | 13.9% | 32.0% | 54.2% | 30.1% | 25.5% | 39.4% | 40.2% | 38.1% | 36.0% | 28.6% | 18.4% | 20.8% | 20.5% | 15.3% | 13.4% | (10.6%) | 10.1% | 9.3% | 8.3% | 6.5% | 5.5% | 0.4% | 5.8% | 15.5% | 14.3% | 6.8% | 15.5% | 11.0% | 17.3% | 2.7% | 7.3% | 9.6% | 22.7% | 20.4% | (9.2%) | (3.1%) | 9.9% | 4.6% | 23.8% |
| Return on invested capital | 11.6% | 11.7% | 7.5% | 10.2% | 17.3% | 14.7% | 15.0% | 15.5% | 19.5% | 25.2% | 22.6% | 24.2% | 18.7% | 21.8% | 19.6% | 15.6% | 11.6% | 8.0% | 9.3% | 8.4% | 7.1% | 6.6% | 5.1% | 4.2% | 4.9% | 13.5% | 11.5% | 8.3% | 10.3% | 7.3% | 11.7% | 3.3% | 8.9% | 10.0% | 22.2% | 10.6% | 0.8% | 0.7% | 6.2% | 4.1% | 17.3% |
| Dividend yield | 1.6% | 1.7% | 1.6% | 1.3% | 1.6% | 2.0% | 1.6% | 2.1% | 1.4% | 1.7% | 2.0% | 1.8% | 2.1% | 3.2% | 3.4% | 3.1% | 3.3% | 3.8% | 2.1% | 1.9% | 1.8% | 1.8% | 1.7% | 2.1% | 2.0% | 2.1% | 3.3% | 2.4% | 1.5% | 1.9% | – | 5.5% | 4.8% | 3.9% | 5.0% | 7.6% | 7.3% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | 1.10× | 1.01× | 1.15× | 1.08× | 1.30× | 1.60× | 1.13× | 1.17× | 2.34× | 1.22× | 1.16× | 1.32× | 1.63× | 1.39× | 1.26× | 1.37× | 1.43× | 1.11× | 1.05× | 1.00× | 0.95× | 1.10× | 0.90× | 1.39× | 0.89× | 0.94× | 1.13× | 1.28× | 1.08× | 1.00× | 1.21× | 1.24× | 1.45× | 1.25× | 1.51× | 1.47× | 1.06× | 1.08× | 0.76× | 0.68× | 0.69× |
| Debt / equity | 0.94× | 1.06× | 0.94× | 0.84× | 0.99× | 1.42× | 1.57× | 1.76× | 2.14× | 1.32× | 1.18× | 0.82× | 0.56× | 0.41× | 0.38× | 0.35× | 0.32× | 0.33× | 0.25× | 0.27× | 0.33× | 0.33× | 0.37× | 0.67× | 0.74× | 0.41× | 0.68× | 0.99× | 1.06× | 1.59× | 0.94× | 1.50× | 0.12× | 0.41× | 0.47× | 0.96× | 1.32× | 1.02× | 0.97× | 0.59× | 0.23× |
| Effective tax rate | 17.5% | 16.8% | 12.4% | 16.1% | 21.6% | 14.5% | 11.8% | 13.7% | 32.2% | 23.8% | 28.7% | 29.6% | 31.8% | 33.3% | 32.3% | 19.5% | 30.7% | 44.7% | 32.8% | 31.2% | 32.3% | 32.3% | 28.6% | 30.9% | 38.9% | 35.9% | 36.6% | 37.8% | 37.5% | 39.1% | 38.4% | 46.2% | 43.5% | 32.8% | 3.2% | 32.7% | 27.8% | 42.7% | 31.4% | 16.8% | 38.4% |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 144 | 147 | 152 | 156 | 161 | 168 | 170 | 175 | 176 | 180 | 192 | 212 | 234 | 253 | 282 | 301 | 323 | 342 | 354 | 359 | 363 | 365 | 409 | 229 | 173 | 142 | 140 | 139 | 136 | 127 | 118 | 77 | 96 | 95 | 94 | 94 | 94 | 95 | 94 | 93 | 93 |
| 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 | $43,591 | $41,954 | $41,033 | $39,290 | $36,602 | $35,667 | $36,799 | $33,841 | $30,095 | $25,803 | $24,508 | $23,526 | $23,979 | $24,661 | $25,218 | $26,412 | $28,143 | $27,650 | $26,251 | $30,341 | $30,148 | $30,721 | $29,853 | $26,206 | $17,206 | $13,558 | $7,618 | $8,995 | $8,902 | $9,153 | $8,071 | $6,818 | $6,711 | $5,063 | $5,550 | $5,694 | $5,490 | $5,248 | $5,797 | $6,052 | $5,608 | $5,057 |
| Cost of revenue | ($34,862) | ($33,641) | ($32,671) | ($32,739) | ($29,128) | ($28,399) | ($29,321) | ($26,582) | ($23,304) | ($12,271) | ($11,002) | ($10,333) | ($10,431) | ($10,623) | ($10,415) | ($11,491) | ($12,558) | ($12,648) | ($10,965) | ($14,340) | ($24,660) | ($25,590) | ($25,135) | ($22,322) | ($14,104) | ($11,219) | ($5,065) | ($6,463) | ($6,537) | ($6,622) | ($5,849) | ($5,039) | ($5,210) | ($4,148) | ($4,708) | ($4,640) | ($4,561) | ($4,471) | ($5,017) | ($5,111) | ($4,760) | ($4,012) |
| Gross profit | $8,729 | $8,313 | $8,362 | $6,551 | $7,474 | $7,268 | $7,478 | $7,259 | $6,791 | $13,532 | $13,506 | $13,193 | $13,548 | $14,038 | $14,803 | $14,921 | $15,585 | $15,002 | $15,286 | $16,001 | $5,488 | $5,131 | $4,718 | $3,884 | $3,102 | $2,339 | $2,553 | $2,532 | $2,365 | $2,531 | $2,222 | $1,779 | $1,501 | $915 | $842 | $1,054 | $929 | $777 | $780 | $942 | $848 | $1,045 |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | – | ($1,100) | ($1,100) | ($1,200) | ($1,200) | ($1,100) | ($1,100) | ($953) | ($764) | ($639) | ($705) | ($712) | ($569) | ($507) | ($520) | ($543) | ($580) | ($588) | ($543) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($4,104) | ($4,033) | ($3,992) | ($4,014) | ($3,873) | ($3,597) | ($3,413) | ($3,290) | ($3,011) | ($2,712) | ($2,632) | ($2,566) | ($2,405) | ($2,256) | ($2,450) | ($2,350) | ($2,467) | ($2,571) | ($2,577) | ($3,062) | ($3,034) | ($2,953) | ($2,712) | ($2,346) | ($1,711) | ($1,335) | ($1,074) | ($1,174) | ($1,216) | ($1,233) | ($1,197) | ($963) | ($1,035) | ($485) | ($455) | ($531) | ($450) | ($533) | ($514) | ($528) | ($552) | ($543) |
| Total operating expenses | ($4,104) | ($3,802) | ($3,992) | ($4,014) | ($3,873) | ($1,617) | ($3,413) | ($3,290) | ($3,011) | ($10,314) | ($10,229) | ($10,117) | ($10,352) | ($10,915) | ($11,673) | ($11,645) | ($12,758) | ($12,728) | ($13,210) | ($13,076) | ($3,034) | ($2,953) | ($2,677) | ($2,346) | ($1,711) | ($1,335) | ($1,455) | ($1,563) | ($1,609) | ($1,651) | ($1,564) | ($1,243) | ($1,302) | ($696) | ($613) | ($703) | ($637) | ($754) | ($755) | ($774) | ($777) | ($737) |
| Total costs and expenses | ($38,966) | ($37,443) | ($36,663) | ($36,753) | ($33,001) | ($30,016) | ($32,734) | ($29,872) | ($26,315) | ($22,585) | ($21,231) | ($20,450) | ($20,783) | ($21,538) | ($22,088) | ($23,136) | ($25,316) | ($25,376) | ($24,175) | ($27,416) | ($27,694) | ($28,543) | ($27,812) | ($24,668) | ($15,815) | ($12,554) | ($6,520) | ($8,026) | ($8,146) | ($8,273) | ($7,413) | ($6,282) | ($6,512) | ($4,844) | ($5,321) | ($5,343) | ($5,198) | ($5,225) | ($5,772) | ($5,885) | ($5,538) | ($4,749) |
| Operating income | $4,625 | $4,511 | $4,370 | $2,537 | $3,601 | $5,651 | $4,065 | $3,969 | $3,780 | $3,218 | $3,277 | $3,076 | $3,196 | $3,123 | $3,130 | $3,276 | $2,827 | $2,274 | $2,076 | $2,925 | $2,454 | $2,178 | $2,041 | $1,538 | $1,391 | $1,004 | $1,098 | $969 | $756 | $880 | $658 | $536 | $199 | $219 | $229 | $352 | $292 | $23 | $25 | $167 | $71 | $308 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | $6,149 | $5,983 | $5,740 | $3,875 | $4,943 | $6,890 | $5,332 | $5,234 | $4,580 | $3,693 | $3,733 | $3,543 | $3,658 | $3,618 | $3,640 | $3,820 | $3,382 | $2,824 | $2,486 | $3,495 | $3,145 | $2,933 | $2,758 | $2,173 | $1,916 | $1,649 | $1,479 | $1,358 | $1,149 | $1,298 | $1,025 | $816 | $466 | $430 | $387 | $523 | $478 | $244 | – | – | – | – |
| Interest income | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($656) | ($665) | ($621) | ($545) | ($506) | ($556) | ($593) | ($528) | ($562) | ($360) | ($301) | ($301) | ($282) | ($257) | ($212) | ($221) | ($269) | ($269) | ($271) | ($336) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $5,236 | $5,068 | $5,016 | $2,346 | $5,836 | $8,938 | $3,728 | $2,548 | $3,742 | $4,229 | $2,681 | $2,790 | $2,937 | $2,863 | $2,965 | $3,083 | $2,366 | $2,070 | $1,841 | $2,606 | $2,276 | $2,044 | $1,615 | $1,131 | $1,009 | $699 | $975 | $762 | $312 | $651 | $384 | $409 | $65 | $170 | $180 | $277 | $312 | ($112) | ($54) | $137 | $50 | $348 |
| Income tax expense | ($716) | ($886) | ($842) | ($290) | ($940) | ($1,933) | ($539) | ($300) | ($513) | ($1,360) | ($638) | ($800) | ($868) | ($911) | ($987) | ($997) | ($462) | ($636) | ($823) | ($855) | ($709) | ($661) | ($522) | ($323) | ($312) | ($272) | ($350) | ($279) | ($118) | ($244) | ($150) | ($157) | ($30) | ($74) | ($59) | ($9) | ($102) | $31 | $23 | ($43) | ($8) | ($134) |
| Net income | $4,520 | $4,182 | $4,174 | $2,056 | $4,896 | $7,005 | $3,189 | $2,248 | $3,229 | $2,869 | $2,043 | $1,990 | $2,069 | $1,952 | $1,978 | $2,118 | $2,053 | $1,686 | ($1,262) | $1,790 | $1,542 | $1,400 | $1,084 | $866 | $64 | $427 | $608 | $467 | $194 | $407 | $234 | $252 | $35 | $96 | $121 | $268 | $210 | ($80) | ($31) | $94 | $41 | $214 |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $31.70 | $29.08 | $28.34 | $13.53 | $31.47 | $43.54 | $19.03 | $13.22 | $18.49 | $16.34 | $11.32 | $10.39 | $9.75 | $8.35 | $7.81 | $7.52 | $6.82 | $5.21 | ($3.69) | $5.12 | $4.37 | $3.85 | $2.97 | $2.09 | $1.84 | $2.37 | $4.29 | $3.35 | $1.40 | $2.99 | $2.08 | $2.36 | $0.46 | $1.00 | $1.28 | $2.85 | $2.24 | ($0.85) | ($0.33) | $1.00 | $0.45 | $2.32 |
| Basic EPS (GAAP) | $31.76 | $29.14 | $28.39 | $13.57 | $31.61 | $43.70 | $19.08 | $13.28 | $18.59 | $16.45 | $11.42 | $10.51 | $9.91 | $8.50 | $7.96 | $7.65 | $6.91 | $5.28 | ($3.77) | $5.24 | $4.46 | $3.93 | $3.01 | $2.11 | $1.87 | $2.39 | $4.31 | $3.37 | $1.42 | $3.05 | $2.11 | $2.40 | $0.46 | $1.02 | $1.28 | $2.85 | $2.24 | ($0.85) | ($0.33) | $1.00 | $0.45 | $2.32 |
| Basic shares outstanding | 142 | 144 | 147 | 152 | 155 | 160 | 167 | 169 | 174 | 174 | 179 | 189 | 209 | 230 | 249 | 277 | 297 | 319 | 334 | 342 | 346 | 356 | 360 | 405 | 225 | 171 | 141 | 139 | 137 | 133 | 125 | 116 | 76 | 94 | 95 | 94 | 94 | 94 | 95 | 94 | 93 | 93 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | 20.0% | 19.8% | 20.4% | 16.7% | 20.4% | 20.4% | 20.3% | 21.5% | 22.6% | 52.4% | 55.1% | 56.1% | 56.5% | 56.9% | 58.7% | 56.5% | 55.4% | 54.3% | 58.2% | 52.7% | 18.2% | 16.7% | 15.8% | 14.8% | 18.0% | 17.3% | 33.5% | 28.1% | 26.6% | 27.7% | 27.5% | 26.1% | 22.4% | 18.1% | 15.2% | 18.5% | 16.9% | 14.8% | 13.5% | 15.6% | 15.1% | 20.7% |
| Operating margin | 10.6% | 10.8% | 10.6% | 6.5% | 9.8% | 15.8% | 11.0% | 11.7% | 12.6% | 12.5% | 13.4% | 13.1% | 13.3% | 12.7% | 12.4% | 12.4% | 10.0% | 8.2% | 7.9% | 9.6% | 8.1% | 7.1% | 6.8% | 5.9% | 8.1% | 7.4% | 14.4% | 10.8% | 8.5% | 9.6% | 8.2% | 7.9% | 3.0% | 4.3% | 4.1% | 6.2% | 5.3% | 0.4% | 0.4% | 2.8% | 1.3% | 6.1% |
| Net margin | 10.4% | 10.0% | 10.2% | 5.2% | 13.4% | 19.6% | 8.7% | 6.6% | 10.7% | 11.1% | 8.3% | 8.5% | 8.6% | 7.9% | 7.8% | 8.0% | 7.3% | 6.1% | (4.8%) | 5.9% | 5.1% | 4.6% | 3.6% | 3.3% | 0.4% | 3.1% | 8.0% | 5.2% | 2.2% | 4.4% | 2.9% | 3.7% | 0.5% | 1.9% | 2.2% | 4.7% | 3.8% | (1.5%) | (0.5%) | 1.6% | 0.7% | 4.2% |