
| 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 | $67,502 | $62,230 | $68,512 | $65,133 | $83,396 | $69,404 | $56,270 | $52,464 | $49,164 | $79,692 | $57,557 | $36,276 | $29,317 | $20,490 | $22,808 | $24,620 | $19,022 | $13,020 | $18,936 | $15,170 | $10,986 | $8,622 | $7,703 | $6,012 | $8,943 | $5,470 | $6,592 | $8,777 | $11,354 | $9,042 | $9,573 | $7,271 | $8,479 | $6,876 | $5,796 | $3,114 | $3,817 | $4,732 | $4,505 | $4,443 | $4,576 |
| Enterprise value | $86,184 | $80,219 | $86,105 | $81,591 | $97,934 | $83,442 | $71,062 | $66,127 | $60,570 | $89,980 | $66,670 | $45,081 | $37,814 | $28,965 | $30,756 | $31,952 | $25,954 | $20,126 | $25,479 | $20,321 | $16,414 | $15,095 | $14,649 | $12,801 | $15,433 | $11,623 | $12,737 | $14,963 | $17,435 | $13,127 | $11,769 | $9,867 | $11,624 | $9,805 | $8,533 | $5,887 | $6,598 | $8,335 | $7,069 | $7,749 | $7,096 |
| P/E (TTM) at period end | 23.37× | 17.93× | 18.68× | 15.63× | 22.06× | 25.10× | 16.89× | 15.86× | 8.99× | 46.52× | 29.26× | 18.84× | 15.73× | 11.00× | 12.30× | 15.75× | 16.86× | 9.61× | 14.17× | 11.58× | 15.32× | 25.43× | 31.31× | 14.18× | 30.52× | 9.68× | 3296.07× | 16.34× | 14.21× | 10.57× | 15.49× | 11.15× | 23.62× | 343.80× | – | 8.55× | 8.90× | – | 10.43× | 10.63× | – |
| P/S (TTM) at period end | 4.79× | 4.28× | 4.67× | 4.39× | 6.66× | 6.56× | 4.71× | 4.28× | 4.31× | 7.20× | 4.87× | 2.86× | 2.44× | 1.74× | 1.93× | 2.31× | 2.10× | 1.16× | 1.89× | 1.59× | 1.27× | 1.08× | 0.99× | 0.74× | 1.10× | 0.67× | 0.61× | 0.89× | 1.07× | 0.86× | 0.91× | 0.76× | 0.95× | 0.79× | 0.67× | 0.38× | 0.49× | 0.62× | 0.56× | 0.70× | 0.63× |
| P/B at period end | 5.13× | 4.98× | 5.72× | 5.23× | 6.18× | 5.30× | 4.75× | 4.18× | 3.34× | 6.82× | 4.94× | 3.25× | 2.80× | 2.25× | 2.66× | 2.83× | 2.17× | 1.61× | 2.18× | 1.70× | 1.38× | 1.27× | 1.19× | 0.96× | 1.46× | 0.91× | 1.15× | 1.49× | 1.97× | 1.81× | 2.26× | 1.95× | 2.67× | 2.31× | 1.82× | 0.88× | 1.12× | 1.46× | 0.93× | 0.91× | 1.00× |
| EV / EBITDA (TTM) | 13.90× | 11.62× | 12.12× | 10.94× | 14.00× | 14.48× | 11.25× | 10.67× | 12.03× | 19.09× | 13.91× | 9.46× | 8.26× | 6.40× | 6.92× | 7.95× | 8.18× | 5.51× | 8.11× | 7.30× | 7.56× | 8.67× | 11.54× | 7.21× | 9.77× | 8.27× | 10.36× | 8.36× | 7.68× | 6.13× | 6.64× | 5.45× | 34.09× | – | – | 17.21× | 15.63× | – | – | – | – |
| EV / Sales (TTM) | 6.12× | 5.52× | 5.87× | 5.49× | 7.82× | 7.88× | 5.95× | 5.40× | 5.31× | 8.13× | 5.64× | 3.56× | 3.14× | 2.46× | 2.61× | 3.00× | 2.87× | 1.79× | 2.54× | 2.12× | 1.90× | 1.88× | 1.88× | 1.57× | 1.90× | 1.42× | 1.18× | 1.51× | 1.64× | 1.25× | 1.12× | 1.03× | 1.30× | 1.12× | 0.99× | 0.72× | 0.85× | 1.10× | 0.88× | 1.22× | 0.97× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 22.0% | 27.8% | 30.6% | 33.4% | 28.0% | 21.1% | 28.1% | 26.3% | 37.2% | 14.7% | 16.9% | 17.3% | 17.8% | 20.4% | 21.6% | 18.0% | 12.9% | 16.8% | 15.4% | 14.6% | 9.0% | 5.0% | 3.8% | 6.8% | 4.8% | 9.4% | 0.0% | 9.1% | 13.9% | 17.1% | 14.6% | 17.5% | 11.3% | 0.7% | (2.4%) | 10.3% | 12.6% | (1.0%) | 8.9% | 8.6% | (2.6%) |
| Return on invested capital | 10.9% | 13.1% | 14.1% | 15.8% | 15.2% | 12.3% | 13.9% | 14.1% | 14.2% | 9.5% | 10.4% | 11.3% | 11.4% | 11.9% | 12.8% | 11.7% | 9.3% | 11.0% | 14.6% | 9.4% | 6.9% | 5.1% | 3.3% | 5.6% | 4.8% | 4.3% | 1.9% | 6.4% | 8.7% | 10.5% | 11.0% | 12.1% | 8.2% | – | 1.1% | 8.8% | 8.7% | 8.4% | 7.6% | 7.3% | 5.6% |
| Dividend yield | 1.4% | 1.5% | 1.3% | 1.3% | 1.0% | 1.1% | 1.4% | 1.4% | 1.4% | 0.9% | 1.2% | 1.7% | 2.0% | 2.7% | 2.1% | 1.5% | 1.8% | 2.4% | 1.2% | 1.0% | 0.8% | 1.0% | 1.1% | 1.4% | 1.9% | 4.8% | 4.0% | 3.0% | 2.1% | 2.5% | 2.0% | 2.5% | 1.9% | 2.3% | 2.5% | 4.7% | 3.8% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | 0.81× | 0.86× | 1.04× | 1.56× | 1.73× | 2.20× | 1.52× | 1.34× | 1.01× | 1.22× | 1.45× | 1.22× | 1.07× | 1.12× | 1.15× | 1.13× | 1.38× | 0.99× | 0.93× | 1.06× | 0.80× | 0.90× | 0.86× | 0.73× | 0.63× | 0.63× | 0.74× | 0.76× | 0.80× | 0.75× | 0.65× | 0.66× | 0.69× | 0.62× | 0.62× | 0.75× | 0.73× | 0.80× | 1.26× | 1.14× | 1.05× |
| Debt / equity | 1.43× | 1.48× | 1.55× | 1.45× | 1.21× | 1.28× | 1.37× | 1.17× | 0.80× | 0.97× | 0.90× | 0.87× | 0.91× | 1.08× | 1.08× | 1.00× | 0.91× | 0.97× | 0.84× | 0.67× | 0.76× | 1.07× | 1.13× | 1.13× | 1.16× | 1.12× | 1.24× | 1.14× | 1.17× | 0.95× | 0.67× | 0.84× | 1.08× | 1.16× | 1.01× | 0.96× | 0.94× | 1.30× | 0.72× | 0.74× | 0.59× |
| Effective tax rate | 23.3% | 23.8% | 24.0% | 23.0% | 23.6% | 23.8% | 22.8% | 23.1% | (74.1%) | 37.5% | 37.3% | 36.7% | 36.2% | 37.3% | 36.9% | 38.6% | 35.4% | 39.5% | (36.9%) | 28.5% | 30.0% | 33.5% | 28.7% | 35.4% | 34.6% | 32.9% | 63.3% | 30.5% | 32.5% | 35.0% | 36.6% | 35.2% | 43.3% | 385.7% | 32.7% | 32.0% | 38.3% | 36.7% | 36.7% | 42.7% | 55.1% |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 1,873 | 1,943 | 2,013 | 2,141 | 2,255 | 2,305 | 2,395 | 2,583 | 2,742 | 2,844 | 2,952 | 3,006 | 3,057 | 3,120 | 3,267 | 3,462 | 3,561 | 3,678 | 4,035 | 4,193 | 4,104 | 4,051 | 3,859 | 4,023 | 4,667 | 3,807 | 3,831 | 3,865 | 3,866 | 3,886 | 3,823 | 3,767 | 3,779 | 3,600 | 3,600 | 3,530 | 3,635 | 5,365 | 5,568 | 5,492 | 5,446 |
| 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 | $14,942 | $14,092 | $14,540 | $14,657 | $14,853 | $12,522 | $10,583 | $11,937 | $12,250 | $11,408 | $11,069 | $11,811 | $12,669 | $12,026 | $11,763 | $11,795 | $10,636 | $9,041 | $11,255 | $10,030 | $9,566 | $8,618 | $8,020 | $7,793 | $8,152 | $8,110 | $8,191 | $10,811 | $9,898 | $10,621 | $10,536 | $10,504 | $9,608 | $8,940 | $8,734 | $8,636 | $8,205 | $7,745 | $7,592 | $8,043 | $6,345 | $7,320 |
| Cost of revenue | ($9,503) | ($9,407) | ($9,034) | ($9,054) | ($9,137) | ($7,233) | ($6,141) | ($7,085) | ($7,509) | ($7,546) | ($7,695) | ($8,085) | ($8,880) | ($8,456) | ($8,393) | ($8,202) | ($7,431) | ($6,720) | ($7,612) | ($7,019) | ($6,953) | ($6,533) | ($6,471) | ($3,467) | ($4,091) | ($4,164) | ($4,681) | ($4,164) | ($6,121) | ($6,303) | ($6,385) | ($6,379) | ($5,669) | ($7,455) | ($7,941) | ($8,036) | ($6,917) | ($6,429) | ($6,216) | ($6,604) | ($4,964) | ($6,030) |
| Gross profit | $5,439 | $4,685 | $5,506 | $5,603 | $5,716 | $5,289 | $4,442 | $4,852 | $4,741 | $3,862 | $3,374 | $3,726 | $3,789 | $3,570 | $3,363 | $3,541 | $3,205 | $2,321 | $3,643 | $3,011 | $2,613 | $2,085 | $1,569 | $4,326 | $4,061 | $3,946 | $3,510 | $6,647 | $3,777 | $4,318 | $4,151 | $4,125 | $3,939 | $1,485 | $793 | $600 | $1,288 | $1,316 | $1,376 | $1,439 | $1,381 | $1,290 |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | – | ($3,262) | ($3,165) | ($3,052) | ($2,885) | ($2,550) | ($2,275) | ($2,616) | ($3,073) | ($3,375) | ($3,600) | ($3,746) | ($3,377) | ($3,518) | ($3,412) | ($3,073) | ($2,957) | ($2,629) | ($2,955) | ($2,986) | ($2,930) | ($3,439) | ($557) | ($993) | ($3,498) | ($3,568) | ($3,563) | ($1,491) | ($4,242) | ($4,337) | ($4,304) | ($4,432) | ($4,290) | – | – | – | – | – | – | – | – | – |
| Total operating expenses | – | ($164) | ($261) | ($104) | $238 | $305 | ($80) | $113 | $128 | ($142) | $39 | ($142) | ($176) | ($97) | $101 | ($71) | ($134) | ($51) | ($892) | ($751) | ($698) | ($746) | ($557) | ($3,700) | ($2,934) | ($2,989) | ($2,705) | ($6,039) | ($2,617) | ($2,735) | ($2,629) | ($2,953) | ($2,707) | ($572) | ($527) | ($501) | ($473) | ($447) | ($467) | ($544) | ($344) | ($409) |
| Total costs and expenses | ($9,503) | ($9,571) | ($9,295) | ($9,158) | ($8,899) | ($6,928) | ($6,221) | ($6,972) | ($7,381) | ($7,688) | ($7,656) | ($8,227) | ($9,056) | ($8,553) | ($8,299) | ($8,325) | ($7,565) | ($6,771) | ($8,504) | ($7,770) | ($7,651) | ($7,279) | ($7,008) | ($7,167) | ($7,025) | ($7,153) | ($7,386) | ($10,203) | ($8,738) | ($9,038) | ($9,014) | ($9,332) | ($8,376) | ($8,027) | ($8,468) | ($8,537) | ($7,390) | ($6,876) | ($6,683) | ($7,148) | ($5,308) | ($6,439) |
| Operating income | $5,439 | $4,521 | $5,245 | $5,499 | $5,954 | $5,594 | $4,362 | $4,965 | $4,869 | $3,720 | $3,413 | $3,584 | $3,613 | $3,473 | $3,464 | $3,470 | $3,071 | $2,270 | $2,751 | $2,260 | $1,915 | $1,339 | $1,012 | $626 | $1,127 | $957 | $805 | $608 | $1,160 | $1,583 | $1,522 | $1,172 | $1,232 | $913 | $266 | $99 | $815 | $869 | $909 | $895 | $1,037 | $881 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | $7,082 | $6,201 | $6,903 | $7,106 | $7,456 | $6,994 | $5,762 | $6,314 | $6,200 | $5,035 | $4,714 | $4,792 | $4,764 | $4,577 | $4,523 | $4,446 | $4,018 | $3,173 | $3,651 | $3,143 | $2,782 | $2,172 | $1,742 | $1,269 | $1,776 | $1,579 | $1,405 | $1,229 | $1,790 | $2,271 | $2,142 | $1,772 | $1,809 | $341 | ($261) | ($402) | $342 | $422 | – | – | – | – |
| Interest income | – | – | $85 | $79 | $42 | $7 | $17 | $48 | $32 | $13 | $10 | $6 | $5 | $8 | $5 | $5 | $6 | $11 | $37 | $55 | $41 | $38 | $21 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($844) | ($844) | ($832) | ($809) | ($742) | ($722) | ($754) | ($737) | ($639) | ($546) | ($579) | ($544) | ($545) | ($562) | ($566) | ($552) | ($557) | ($558) | ($519) | ($417) | ($394) | ($435) | ($435) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $4,687 | $3,769 | $4,555 | $4,829 | $5,345 | $4,951 | $3,627 | $4,316 | $4,304 | $3,142 | $2,741 | $3,138 | $3,044 | $2,922 | $2,971 | $2,940 | $2,546 | $1,746 | $2,146 | $1,932 | $1,862 | $1,055 | $653 | $265 | $723 | $448 | $277 | $139 | $773 | $1,183 | $1,316 | $974 | $1,006 | $633 | ($7) | ($113) | $537 | $692 | ($60) | $682 | $729 | ($263) |
| Income tax expense | ($1,106) | ($880) | ($1,085) | ($1,161) | ($1,231) | ($1,170) | ($862) | ($985) | ($995) | $2,329 | ($1,027) | ($1,170) | ($1,117) | ($1,058) | ($1,108) | ($1,086) | ($983) | ($618) | ($847) | $712 | ($531) | ($316) | ($219) | ($76) | ($256) | ($155) | ($91) | ($88) | ($236) | ($384) | ($461) | ($356) | ($354) | ($274) | $27 | $37 | ($172) | ($265) | $22 | ($250) | ($311) | $145 |
| Net income | $3,581 | $2,889 | $3,470 | $3,668 | $4,114 | $3,781 | $2,765 | $3,331 | $3,309 | $5,471 | $1,714 | $1,968 | $1,927 | $1,864 | $1,863 | $1,854 | $1,563 | $1,143 | $1,355 | $1,336 | $1,310 | $717 | $339 | $246 | $424 | $293 | $565 | $2 | $537 | $799 | $855 | $618 | $652 | $359 | $20 | ($76) | $364 | $429 | ($33) | $432 | $418 | ($118) |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $1.93 | $1.54 | $1.79 | $1.82 | $1.92 | $1.68 | $1.20 | $1.39 | $1.28 | $2.00 | $0.6033 | $0.6667 | $0.64 | $0.61 | $0.5967 | $0.5667 | $0.45 | $0.32 | $0.3689 | $0.3322 | $0.31 | $0.28 | $0.0844 | $0.0633 | $0.11 | $0.0628 | $0.0339 | $0.0005 | $0.14 | $0.21 | $0.22 | $0.16 | $0.17 | $0.095 | $0.0056 | ($0.0211) | $0.10 | $0.11 | ($0.0062) | $0.0772 | $0.0761 | ($0.0217) |
| Basic EPS (GAAP) | $1.93 | $1.54 | $1.79 | $1.83 | $1.93 | $1.68 | $1.20 | $1.39 | $1.29 | $2.00 | $0.6033 | $0.6667 | $0.6433 | $0.61 | $0.60 | $0.57 | $0.4567 | $0.3233 | $0.3767 | $0.3456 | $0.33 | $0.29 | $0.0878 | $0.0633 | $0.11 | $0.0639 | $0.0339 | $0.0005 | $0.14 | $0.21 | $0.22 | $0.16 | $0.17 | $0.0961 | $0.0056 | ($0.0211) | $0.10 | $0.11 | ($0.0062) | $0.0772 | $0.0761 | ($0.0217) |
| Basic shares outstanding | 1,857 | 1,870 | 1,939 | 2,008 | 2,136 | 2,250 | 2,300 | 2,389 | 2,571 | 2,733 | 2,841 | 2,949 | 3,003 | 3,057 | 3,114 | 3,249 | 3,429 | 3,528 | 3,607 | 3,872 | 3,961 | 3,896 | 3,866 | 3,851 | 3,829 | 4,586 | 3,799 | 3,789 | 3,799 | 3,785 | 3,848 | 3,784 | 3,767 | 3,735 | 3,600 | 3,600 | 3,530 | 3,635 | 5,365 | 5,568 | 5,492 | 5,446 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | 36.4% | 33.2% | 37.9% | 38.2% | 38.5% | 42.2% | 42.0% | 40.6% | 38.7% | 33.9% | 30.5% | 31.5% | 29.9% | 29.7% | 28.6% | 30.0% | 30.1% | 25.7% | 32.4% | 30.0% | 27.3% | 24.2% | 19.6% | 55.5% | 49.8% | 48.7% | 42.9% | 61.5% | 38.2% | 40.7% | 39.4% | 39.3% | 41.0% | 16.6% | 9.1% | 6.9% | 15.7% | 17.0% | 18.1% | 17.9% | 21.8% | 17.6% |
| Operating margin | 36.4% | 32.1% | 36.1% | 37.5% | 40.1% | 44.7% | 41.2% | 41.6% | 39.7% | 32.6% | 30.8% | 30.3% | 28.5% | 28.9% | 29.4% | 29.4% | 28.9% | 25.1% | 24.4% | 22.5% | 20.0% | 15.5% | 12.6% | 8.0% | 13.8% | 11.8% | 9.8% | 5.6% | 11.7% | 14.9% | 14.4% | 11.2% | 12.8% | 10.2% | 3.0% | 1.1% | 9.9% | 11.2% | 12.0% | 11.1% | 16.3% | 12.0% |
| Net margin | 24.0% | 20.5% | 23.9% | 25.0% | 27.7% | 30.2% | 26.1% | 27.9% | 27.0% | 48.0% | 15.5% | 16.7% | 15.2% | 15.5% | 15.8% | 15.7% | 14.7% | 12.6% | 12.0% | 13.3% | 13.7% | 8.3% | 4.2% | 3.2% | 5.2% | 3.6% | 6.9% | 0.0% | 5.4% | 7.5% | 8.1% | 5.9% | 6.8% | 4.0% | 0.2% | (0.9%) | 4.4% | 5.5% | (0.4%) | 5.4% | 6.6% | (1.6%) |