
| Line item | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | FY2015 | FY2014 | FY2013 | FY2012 | FY2011 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valuation | |||||||||||||||||||||||||||||||||||||||||
| Market cap | $27,628 | $24,176 | $38,521 | $51,006 | $37,813 | $28,201 | $25,930 | $22,920 | $22,422 | $25,538 | $20,520 | $33,956 | $28,687 | – | $19,483 | – | $16,602 | $17,213 | $21,735 | $21,542 | $26,997 | $13,983 | $10,868 | $8,315 | $8,343 | $8,673 | $6,567 | $11,064 | $11,482 | $16,331 | $13,493 | $10,087 | $8,085 | $7,353 | $7,018 | $6,898 | $6,950 | $4,865 | $3,276 | $3,856 | $2,715 |
| Enterprise value | $36,346 | $34,867 | $46,762 | $60,290 | $47,482 | $38,610 | $34,972 | $29,320 | $29,120 | $31,562 | $25,065 | $38,057 | $32,041 | – | $28,536 | – | $25,503 | $23,232 | $28,447 | $29,434 | $31,407 | $17,549 | $14,127 | $12,575 | $12,216 | $12,079 | $10,358 | $14,992 | $15,039 | $20,398 | $16,068 | $11,670 | $9,716 | $9,082 | $8,702 | $7,526 | $7,420 | $5,228 | $3,548 | $3,921 | $2,921 |
| P/E (TTM) at period end | 25.63× | 13.43× | 11.06× | 11.75× | 13.96× | 15.92× | 18.80× | 12.66× | 14.06× | 19.97× | 11.10× | 15.10× | 21.38× | – | 15.93× | – | 8.60× | 10.22× | 12.21× | 11.95× | 12.49× | 10.66× | 10.41× | 16.81× | 18.49× | 16.97× | 17.13× | 36.77× | 43.17× | 40.46× | 35.76× | 14.49× | 10.16× | 15.19× | 12.37× | 13.69× | 14.89× | 10.06× | 7.71× | 10.92× | 10.23× |
| P/S (TTM) at period end | 0.34× | 0.28× | 0.41× | 0.50× | 0.44× | 0.44× | 0.40× | 0.36× | 0.37× | 0.41× | 0.30× | 0.42× | 0.32× | – | 0.22× | – | 0.27× | 0.25× | 0.31× | 0.31× | 0.61× | 0.38× | 0.30× | 0.23× | 0.27× | 0.38× | 0.33× | 0.86× | 0.80× | 1.01× | 0.97× | 0.76× | 0.64× | 0.65× | 0.72× | 0.75× | 0.82× | 0.63× | 0.41× | 0.57× | 0.47× |
| P/B at period end | 1.22× | 1.09× | 1.60× | 2.10× | 1.68× | 1.41× | 1.35× | 1.21× | 1.22× | 1.49× | 1.15× | 1.73× | 1.42× | – | 1.07× | – | 1.14× | 1.18× | 1.59× | 1.60× | 2.40× | 1.43× | 1.27× | 1.08× | 1.18× | 1.28× | 1.04× | 1.81× | 1.84× | 2.51× | 2.23× | 1.64× | 1.38× | 1.46× | 1.44× | 1.54× | 1.77× | 1.36× | 1.08× | 1.47× | 1.15× |
| EV / EBITDA (TTM) | 13.95× | 10.85× | 9.14× | 11.51× | 11.90× | 14.08× | 13.21× | 9.92× | 11.82× | 12.44× | 8.75× | 10.21× | 10.54× | – | 9.87× | – | 7.08× | 7.20× | 8.26× | 9.36× | 11.45× | 7.22× | 7.01× | 8.75× | 8.55× | 8.21× | 7.83× | 13.18× | 13.04× | 15.93× | 14.59× | 8.76× | 6.00× | 8.10× | 8.16× | 7.22× | 8.45× | 5.67× | – | – | – |
| EV / Sales (TTM) | 0.45× | 0.41× | 0.50× | 0.59× | 0.56× | 0.60× | 0.54× | 0.46× | 0.48× | 0.51× | 0.37× | 0.47× | 0.36× | – | 0.32× | – | 0.41× | 0.34× | 0.41× | 0.42× | 0.71× | 0.48× | 0.39× | 0.35× | 0.40× | 0.53× | 0.52× | 1.16× | 1.05× | 1.27× | 1.16× | 0.88× | 0.77× | 0.80× | 0.89× | 0.82× | 0.88× | 0.67× | 0.45× | 0.58× | 0.51× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 4.7% | 8.1% | 14.4% | 17.9% | 12.1% | 8.9% | 7.2% | 9.5% | 8.7% | 7.4% | 10.3% | 11.5% | 6.7% | 7.3% | 6.7% | 10.9% | 13.2% | 11.5% | 13.1% | 13.4% | 19.2% | 13.4% | 12.2% | 6.4% | 6.4% | 7.6% | 6.1% | 4.9% | 4.3% | 6.2% | 6.2% | 11.3% | 13.6% | 9.6% | 11.6% | 11.2% | 11.9% | 13.5% | 14.0% | 13.4% | 11.2% |
| Return on invested capital | 3.9% | 4.9% | 10.1% | 10.5% | 7.7% | 5.5% | 5.1% | 7.0% | 6.1% | 4.9% | 7.0% | 8.4% | 6.0% | 5.1% | 5.3% | 6.7% | 8.4% | 8.3% | 8.7% | 7.6% | 8.8% | 9.4% | 7.3% | 4.0% | 4.9% | 5.9% | 5.0% | 4.0% | 3.6% | 4.5% | 4.2% | 7.8% | 10.9% | 7.4% | 8.1% | 9.7% | 9.1% | 11.0% | 12.0% | 12.4% | 8.2% |
| Dividend yield | 3.6% | 4.1% | 2.5% | 1.8% | 2.2% | 2.9% | 3.0% | 3.3% | 3.3% | 2.7% | 3.3% | 1.8% | 1.7% | – | 2.3% | – | 2.2% | 2.0% | 1.5% | 1.5% | 1.0% | 1.7% | 1.9% | 2.1% | 1.9% | – | 1.9% | 1.1% | 0.9% | 0.7% | 0.8% | – | 0.6% | 0.4% | 0.4% | 0.4% | 0.4% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | 1.37× | 1.39× | 1.60× | 1.46× | 1.45× | 1.50× | 1.55× | 1.75× | 1.59× | 1.60× | 1.62× | 1.67× | 1.82× | 1.75× | 1.84× | 2.08× | 2.08× | 2.18× | 2.18× | 1.74× | 1.92× | 1.92× | 1.74× | 1.53× | 1.64× | 1.56× | 1.59× | 1.42× | 1.51× | 1.47× | 1.91× | 2.68× | 3.17× | 3.47× | 4.08× | 3.43× | 2.95× | 3.41× | 3.40× | 2.98× | 3.52× |
| Debt / equity | 0.33× | 0.37× | 0.34× | 0.36× | 0.38× | 0.39× | 0.40× | 0.44× | 0.36× | 0.39× | 0.32× | 0.28× | 0.32× | 0.36× | 0.45× | 0.45× | 0.49× | 0.52× | 0.59× | 0.82× | 0.47× | 0.48× | 0.53× | 0.74× | 0.73× | 0.65× | 0.73× | 0.80× | 0.71× | 0.68× | 0.49× | 0.34× | 0.36× | 0.41× | 0.42× | 0.35× | 0.28× | 0.22× | 0.23× | 0.27× | 0.28× |
| Effective tax rate | 14.5% | 21.1% | 19.3% | 16.6% | 17.4% | 5.4% | 13.2% | 11.9% | 0.4% | 29.3% | 19.2% | 28.0% | 33.1% | 29.7% | 29.6% | 33.1% | 25.8% | 31.4% | 32.3% | 31.3% | 31.5% | 29.3% | 31.1% | 31.1% | 28.5% | 28.9% | 26.6% | 14.8% | 33.0% | 33.8% | 41.4% | 34.0% | 32.6% | 34.4% | 28.4% | 33.7% | 35.0% | 35.8% | 36.4% | 38.3% | 44.5% |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 484 | 493 | 542 | 563 | 566 | 565 | 565 | 567 | 572 | 591 | 621 | 656 | 663 | 662 | 666 | 654 | 644 | 644 | 646 | 656 | 656 | 656 | 650 | 646 | 657 | 698 | 738 | 829 | 832 | 887 | 946 | 1,024 | 766 | 724 | 726 | 726 | 731 | 724 | 720 | 736 | 730 |
| Line item | TTM | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | FY2015 | FY2014 | FY2013 | FY2012 | FY2011 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue and gross profit | ||||||||||||||||||||||||||||||||||||||||||
| Revenue | $82,099 | $80,269 | $85,530 | $93,935 | $101,556 | $85,249 | $64,355 | $64,656 | $64,341 | $60,828 | $62,346 | $67,702 | $81,201 | $89,804 | $90,559 | $89,038 | $80,676 | $61,682 | $69,207 | $69,816 | $69,816 | $44,018 | $36,596 | $35,943 | $36,151 | $30,708 | $22,612 | $20,051 | $12,877 | $14,283 | $16,109 | $13,853 | $13,240 | $12,672 | $11,374 | $9,811 | $9,232 | $8,468 | $7,751 | $7,929 | $6,798 | $5,775 |
| Cost of revenue | ($76,459) | ($75,236) | ($79,752) | ($86,422) | ($93,986) | ($79,262) | ($59,902) | ($60,509) | ($60,160) | ($57,310) | ($58,728) | ($63,736) | ($76,433) | ($85,915) | ($86,936) | ($85,370) | ($76,376) | ($57,839) | ($65,118) | ($65,974) | ($65,974) | ($40,781) | ($33,630) | ($33,512) | ($34,003) | ($28,981) | ($20,928) | ($18,620) | ($11,010) | ($12,429) | ($14,168) | ($12,077) | ($11,434) | ($10,623) | ($9,882) | ($8,420) | ($7,895) | ($7,311) | ($6,597) | ($6,889) | ($5,908) | ($5,079) |
| Gross profit | $5,640 | $5,033 | $5,778 | $7,513 | $7,570 | $5,987 | $4,453 | $4,147 | $4,181 | $3,518 | $3,618 | $3,966 | $4,768 | $3,889 | $3,623 | $3,668 | $4,300 | $3,843 | $4,089 | $3,842 | $3,842 | $3,237 | $2,966 | $2,431 | $2,148 | $1,727 | $1,683 | $1,432 | $1,867 | $1,854 | $1,941 | $1,776 | $1,806 | $2,049 | $1,492 | $1,392 | $1,337 | $1,158 | $1,154 | $1,040 | $891 | $696 |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | – | ($246) | ($269) | ($256) | ($216) | ($171) | ($160) | ($154) | ($141) | ($129) | ($123) | ($122) | ($79) | ($59) | ($55) | ($56) | ($60) | ($56) | ($50) | ($49) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($3,753) | ($3,609) | ($3,706) | ($3,456) | ($3,358) | ($2,994) | ($2,687) | ($2,493) | ($2,165) | ($1,978) | ($1,981) | ($1,985) | ($1,933) | ($1,759) | ($1,665) | ($1,626) | ($1,611) | ($1,398) | ($1,412) | ($1,419) | ($1,419) | ($1,195) | ($1,193) | ($1,081) | ($1,402) | ($948) | ($827) | ($731) | ($729) | ($701) | ($661) | ($675) | ($473) | ($429) | ($371) | ($325) | ($295) | ($279) | ($232) | ($197) | ($166) | ($159) |
| Total operating expenses | ($3,619) | ($3,609) | ($3,706) | ($3,456) | ($3,358) | ($2,994) | ($2,687) | ($2,493) | ($2,165) | ($1,978) | ($1,981) | ($1,985) | ($1,933) | ($1,759) | ($1,858) | ($1,626) | ($1,611) | ($1,154) | ($1,644) | ($1,165) | ($1,419) | ($1,195) | ($1,193) | ($1,081) | ($1,402) | ($948) | ($827) | ($731) | ($1,377) | ($1,323) | ($1,221) | ($1,151) | ($892) | ($836) | ($726) | ($653) | ($588) | ($541) | ($480) | ($418) | ($350) | ($315) |
| Total costs and expenses | ($80,078) | ($78,845) | ($83,458) | ($89,878) | ($97,344) | ($82,256) | ($62,589) | ($63,002) | ($62,325) | ($59,288) | ($60,709) | ($65,721) | ($78,366) | ($87,674) | ($88,794) | ($86,996) | ($77,987) | ($58,993) | ($66,762) | ($67,139) | ($67,393) | ($41,976) | ($34,823) | ($34,593) | ($35,405) | ($29,929) | ($21,755) | ($19,351) | ($12,387) | ($13,752) | ($15,388) | ($13,228) | ($12,326) | ($11,459) | ($10,608) | ($9,073) | ($8,483) | ($7,851) | ($7,077) | ($7,306) | ($6,258) | ($5,394) |
| Operating income | $2,021 | $1,424 | $2,072 | $4,057 | $4,212 | $2,993 | $1,766 | $1,654 | $2,016 | $1,540 | $1,637 | $1,981 | $2,835 | $2,130 | $1,765 | $2,042 | $2,689 | $2,689 | $2,445 | $2,677 | $2,423 | $2,042 | $1,773 | $1,350 | $746 | $779 | $857 | $701 | $490 | $531 | $720 | $626 | $913 | $1,213 | $766 | $738 | $748 | $617 | $674 | $622 | $541 | $381 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | $3,210 | $2,605 | $3,213 | $5,116 | $5,240 | $3,989 | $2,742 | $2,647 | $2,957 | $2,464 | $2,537 | $2,863 | $3,729 | $3,039 | $2,634 | $2,890 | $3,566 | $3,601 | $3,225 | $3,444 | $3,144 | $2,743 | $2,430 | $2,015 | $1,436 | $1,428 | $1,471 | $1,323 | $1,138 | $1,153 | $1,280 | $1,101 | $1,333 | $1,620 | $1,121 | $1,067 | $1,042 | $878 | $922 | – | – | – |
| Interest income | $291 | $118 | $562 | $499 | $293 | $96 | $111 | $196 | $162 | $106 | $92 | $71 | $92 | $102 | $109 | $112 | $136 | $126 | $181 | $269 | $269 | $257 | $204 | $135 | $116 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($592) | ($612) | ($706) | ($647) | ($396) | ($265) | ($339) | ($402) | ($364) | ($330) | ($293) | ($308) | ($337) | ($413) | ($445) | ($441) | ($482) | ($422) | ($469) | ($513) | ($477) | ($434) | ($365) | ($327) | ($342) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $2,095 | $1,255 | $2,255 | $4,294 | $5,233 | $3,313 | $1,883 | $1,588 | $2,060 | $1,609 | $1,822 | $2,284 | $3,130 | $2,024 | $1,981 | $1,765 | $3,015 | $2,585 | $2,585 | $2,500 | $2,624 | $3,154 | $1,855 | $1,516 | $718 | $631 | $719 | $522 | $353 | $420 | $610 | $644 | $1,054 | $1,182 | $738 | $746 | $760 | $718 | $753 | $668 | $572 | $478 |
| Income tax expense | ($316) | ($182) | ($476) | ($828) | ($868) | ($578) | ($101) | ($209) | ($245) | ($7) | ($534) | ($438) | ($877) | ($670) | ($589) | ($523) | ($997) | ($666) | ($812) | ($808) | ($822) | ($992) | ($543) | ($472) | ($223) | ($180) | ($208) | ($139) | ($52) | ($138) | ($206) | ($267) | ($358) | ($386) | ($254) | ($212) | ($256) | ($251) | ($270) | ($243) | ($219) | ($212) |
| Net income | $1,770 | $1,078 | $1,800 | $3,483 | $4,340 | $2,709 | $1,772 | $1,379 | $1,810 | $1,595 | $1,279 | $1,849 | $2,248 | $1,342 | $1,375 | $1,223 | $2,036 | $1,930 | $1,684 | $1,780 | $1,802 | $2,162 | $1,312 | $1,044 | $495 | $451 | $511 | $383 | $301 | $266 | $404 | $377 | $696 | $796 | $484 | $568 | $504 | $467 | $484 | $425 | $353 | $265 |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $3.65 | $2.23 | $3.65 | $6.43 | $7.71 | $4.79 | $3.15 | $2.44 | $3.19 | $2.79 | $2.16 | $2.98 | $3.43 | $2.02 | $2.08 | $1.84 | $3.13 | $3.00 | $2.62 | $2.75 | $3.30 | $2.00 | $1.59 | $0.76 | $0.70 | $0.78 | $0.55 | $0.41 | $0.32 | $0.49 | $0.43 | $0.74 | $0.78 | $0.63 | $0.78 | $0.69 | $0.64 | $0.66 | $0.59 | $0.49 | $0.36 | $0.33 |
| Basic EPS (GAAP) | $3.65 | $2.23 | $3.66 | $6.44 | $7.72 | $4.80 | $3.16 | $2.45 | $3.21 | $2.80 | $2.18 | $2.99 | $3.44 | $2.03 | $2.08 | $1.84 | $3.17 | $3.00 | $2.62 | $2.76 | $3.32 | $2.01 | $1.60 | $0.76 | $0.70 | $0.78 | $0.55 | $0.41 | $0.32 | $0.56 | $0.43 | $0.74 | $1.04 | $0.63 | $0.78 | $0.69 | $0.64 | $0.66 | $0.59 | $0.49 | $0.36 | $0.33 |
| Basic shares outstanding | 484 | 484 | 492 | 541 | 562 | 564 | 561 | 563 | 564 | 569 | 588 | 618 | 653 | 661 | 660 | 665 | 642 | 643 | 643 | 644 | 651 | 654 | 654 | 648 | 646 | 657 | 698 | 738 | 829 | 720 | 887 | 946 | 762 | 766 | 724 | 726 | 726 | 731 | 724 | 720 | 736 | 730 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | 6.9% | 6.3% | 6.8% | 8.0% | 7.5% | 7.0% | 6.9% | 6.4% | 6.5% | 5.8% | 5.8% | 5.9% | 5.9% | 4.3% | 4.0% | 4.1% | 5.3% | 6.2% | 5.9% | 5.5% | 5.5% | 7.4% | 8.1% | 6.8% | 5.9% | 5.6% | 7.4% | 7.1% | 14.5% | 13.0% | 12.0% | 12.8% | 13.6% | 16.2% | 13.1% | 14.2% | 14.5% | 13.7% | 14.9% | 13.1% | 13.1% | 12.0% |
| Operating margin | 2.5% | 1.8% | 2.4% | 4.3% | 4.1% | 3.5% | 2.7% | 2.6% | 3.1% | 2.5% | 2.6% | 2.9% | 3.5% | 2.4% | 1.9% | 2.3% | 3.3% | 4.4% | 3.5% | 3.8% | 3.5% | 4.6% | 4.8% | 3.8% | 2.1% | 2.5% | 3.8% | 3.5% | 3.8% | 3.7% | 4.5% | 4.5% | 6.9% | 9.6% | 6.7% | 7.5% | 8.1% | 7.3% | 8.7% | 7.8% | 8.0% | 6.6% |
| Net margin | 2.2% | 1.3% | 2.1% | 3.7% | 4.3% | 3.2% | 2.8% | 2.1% | 2.8% | 2.6% | 2.1% | 2.7% | 2.8% | 1.5% | 1.5% | 1.4% | 2.5% | 3.1% | 2.4% | 2.5% | 2.6% | 4.9% | 3.6% | 2.9% | 1.4% | 1.5% | 2.3% | 1.9% | 2.3% | 1.9% | 2.5% | 2.7% | 5.3% | 6.3% | 4.3% | 5.8% | 5.5% | 5.5% | 6.2% | 5.4% | 5.2% | 4.6% |