
| 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 | $123,860 | $146,884 | $138,251 | $144,079 | $143,543 | $146,428 | $121,851 | $90,954 | $105,577 | $79,754 | $71,300 | $36,930 | $33,858 | $23,398 | $19,996 | $19,376 | $13,901 | $11,398 | $22,156 | $17,480 | $14,895 | $14,338 | $13,719 | $9,279 | $13,146 | $17,868 | $21,479 | $11,745 | $10,345 | $9,096 | $6,337 | $4,537 | $5,239 | $4,026 | $2,823 | $1,749 | $2,471 | $2,273 | $2,207 | $3,302 | $3,858 |
| Enterprise value | $146,636 | $169,352 | $152,270 | $155,128 | $153,324 | $154,661 | $128,354 | $96,436 | $112,805 | $86,344 | $75,945 | $36,636 | $36,377 | $26,350 | $23,949 | $23,491 | $18,817 | $17,790 | $27,984 | $21,319 | $18,767 | $16,025 | $15,929 | $12,347 | $17,023 | $22,295 | $24,554 | $15,693 | $11,611 | $9,261 | $7,807 | $5,716 | $6,307 | $5,208 | $5,380 | $4,115 | $4,328 | $4,180 | $4,372 | $6,089 | $5,306 |
| P/E (TTM) at period end | 26.19× | 25.75× | 24.43× | 29.01× | 25.90× | 30.64× | 19.84× | 13.44× | 68.33× | 16.57× | 14.95× | 8.71× | 8.63× | 8.00× | 9.67× | 9.58× | 8.98× | 14.14× | 9.07× | 8.39× | 9.09× | 11.51× | 10.36× | – | – | 10.77× | 13.94× | 6.17× | 6.30× | 8.92× | 7.24× | 5.98× | 12.75× | – | – | 3.79× | 4.68× | 4.91× | 4.26× | 5.46× | – |
| P/S (TTM) at period end | 3.31× | 4.23× | 4.19× | 4.06× | 4.17× | 4.49× | 3.32× | 2.18× | 2.60× | 2.03× | 1.85× | 0.92× | 0.87× | 0.62× | 0.55× | 0.60× | 0.46× | 0.31× | 0.64× | 0.56× | 0.54× | 0.56× | 0.59× | 0.42× | 0.56× | 0.71× | 0.90× | 0.50× | 0.46× | 0.65× | 0.44× | 0.35× | 0.44× | 0.33× | 0.24× | 0.14× | 0.21× | 0.19× | 0.20× | 0.28× | 0.42× |
| P/B at period end | 8.91× | 7.89× | 8.72× | 8.63× | 7.73× | 8.34× | 6.59× | 5.00× | 6.40× | 4.12× | 3.90× | 2.09× | 1.94× | 1.80× | 1.85× | 1.82× | 1.57× | 1.59× | 2.40× | 1.80× | 1.38× | 1.27× | 1.28× | 1.04× | 1.43× | 1.84× | 2.50× | 1.45× | 2.36× | 2.18× | 1.76× | 1.52× | 2.19× | 1.79× | 0.95× | 0.52× | 0.72× | 0.70× | 0.71× | 0.90× | 0.66× |
| EV / EBITDA (TTM) | 16.91× | 20.75× | 18.91× | 17.87× | 22.30× | 24.39× | 17.06× | 12.99× | 16.07× | 12.74× | 10.13× | 5.42× | 5.61× | 5.18× | 6.80× | 5.90× | 5.55× | 4.01× | 6.14× | 5.53× | 6.10× | 7.37× | 6.18× | 4.80× | 15.69× | 5.88× | 8.45× | 4.18× | 3.87× | 4.39× | 4.17× | 3.34× | 4.20× | 5.52× | 25.26× | 3.46× | 3.16× | – | – | – | – |
| EV / Sales (TTM) | 3.92× | 4.88× | 4.61× | 4.37× | 4.46× | 4.74× | 3.50× | 2.31× | 2.78× | 2.20× | 1.97× | 0.91× | 0.93× | 0.70× | 0.66× | 0.73× | 0.63× | 0.49× | 0.81× | 0.68× | 0.68× | 0.63× | 0.69× | 0.55× | 0.72× | 0.89× | 1.03× | 0.67× | 0.52× | 0.66× | 0.54× | 0.45× | 0.53× | 0.43× | 0.45× | 0.33× | 0.36× | 0.35× | 0.39× | 0.52× | 0.58× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 34.0% | 30.6% | 35.7% | 29.7% | 29.8% | 27.2% | 33.2% | 37.2% | 9.4% | 24.8% | 26.1% | 24.0% | 22.5% | 22.6% | 19.1% | 19.0% | 17.5% | 11.2% | 26.5% | 21.4% | 15.2% | 11.1% | 12.3% | (2.5%) | (1.1%) | 17.1% | 17.9% | 23.5% | 37.4% | 24.4% | 24.4% | 25.5% | 17.2% | (31.6%) | (9.2%) | 13.7% | 15.5% | 14.2% | 16.6% | 16.5% | (4.8%) |
| Return on invested capital | 17.9% | 14.8% | 20.0% | 22.1% | 16.6% | 17.2% | 21.4% | 24.2% | 5.2% | 17.0% | 20.1% | 22.2% | 20.1% | 19.7% | 14.3% | 14.6% | 13.9% | 26.0% | 18.1% | 16.8% | 11.3% | 9.0% | 12.1% | 3.7% | 0.3% | 13.7% | 11.9% | 16.3% | 23.6% | 21.3% | 17.3% | 18.9% | 19.9% | 9.2% | (3.7%) | 9.7% | 12.3% | 9.8% | 9.6% | 10.9% | – |
| Dividend yield | 2.4% | 2.0% | 2.1% | 1.9% | 1.8% | 1.8% | 2.0% | 2.5% | 2.0% | 2.4% | 2.4% | 4.1% | 4.0% | 5.2% | 5.5% | 4.9% | 6.6% | 7.1% | 3.5% | 4.3% | 4.7% | 4.5% | 4.7% | 6.6% | 4.6% | 3.4% | 2.5% | 4.1% | 4.2% | 2.9% | 3.4% | 4.0% | 3.1% | 3.6% | 7.7% | 14.2% | 10.8% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | 1.30× | 1.31× | 1.27× | 1.25× | 1.30× | 1.47× | 1.34× | 1.29× | 1.38× | 1.41× | 1.09× | 1.50× | 1.49× | 1.35× | 1.31× | 1.32× | 1.25× | 1.08× | 1.15× | 1.21× | 1.15× | 1.47× | 1.72× | 1.53× | 1.59× | 1.48× | 1.26× | 1.22× | 1.26× | 1.58× | 1.29× | 1.35× | 1.31× | 1.40× | 1.15× | 1.26× | 1.28× | 1.29× | 1.18× | 1.26× | 1.64× |
| Debt / equity | 2.38× | 1.60× | 1.18× | 1.07× | 0.96× | 1.14× | 0.79× | 0.73× | 1.00× | 0.80× | 0.63× | 0.44× | 0.39× | 0.50× | 0.64× | 0.59× | 0.82× | 0.96× | 0.83× | 0.52× | 0.47× | 0.47× | 0.48× | 0.57× | 0.57× | 0.58× | 0.59× | 0.61× | 0.53× | 0.46× | 0.56× | 0.57× | 0.82× | 0.94× | 0.94× | 0.81× | 0.70× | 0.71× | 0.80× | 0.81× | 0.44× |
| Effective tax rate | 18.4% | 20.0% | 20.4% | 22.1% | 22.5% | 19.1% | 17.6% | 8.8% | 77.2% | 24.8% | 26.4% | 25.6% | 26.8% | 24.4% | 18.3% | 28.1% | 22.2% | (5.9%) | 26.4% | 25.7% | 31.9% | 23.2% | 18.0% | 76.7% | 76.5% | 30.8% | 31.5% | 31.3% | 32.2% | 34.3% | 30.6% | 31.7% | 27.9% | 23.8% | 30.0% | 23.3% | 31.3% | 27.5% | 32.0% | 33.3% | 225.1% |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 643 | 655 | 668 | 683 | 700 | 711 | 730 | 753 | 772 | 775 | 789 | 795 | 797 | 792 | 792 | 781 | 378 | 372 | 387 | 413 | 427 | 430 | 436 | 410 | 412 | 405 | 406 | 288 | 291 | 295 | 284 | 284 | 283 | 283 | 273 | 275 | 297 | 297 | 331 | 349 | 350 |
| 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 | $33,614 | $37,442 | $34,717 | $33,009 | $35,466 | $34,392 | $32,637 | $36,709 | $41,802 | $40,534 | $39,302 | $38,581 | $40,306 | $39,055 | $37,665 | $36,529 | $32,350 | $29,951 | $36,556 | $34,589 | $31,367 | $27,653 | $25,593 | $23,103 | $22,274 | $23,652 | $25,023 | $23,735 | $23,555 | $22,499 | $13,971 | $14,346 | $12,817 | $11,827 | $12,042 | $11,831 | $12,343 | $11,942 | $11,909 | $11,116 | $11,794 | $9,115 |
| Cost of revenue | ($19,032) | ($23,613) | ($21,360) | ($20,637) | ($22,347) | ($22,061) | ($22,169) | ($24,339) | ($29,046) | ($28,144) | ($27,677) | ($26,747) | ($28,957) | ($28,364) | ($28,291) | ($28,556) | ($24,721) | ($23,260) | ($31,118) | ($26,300) | ($24,096) | ($21,524) | ($20,752) | ($18,235) | ($17,615) | ($20,429) | ($19,090) | ($18,495) | ($17,689) | ($17,444) | ($11,606) | ($11,539) | ($10,299) | ($9,551) | ($9,394) | ($9,408) | ($9,766) | ($9,239) | ($9,190) | ($8,562) | ($8,743) | ($6,718) |
| Gross profit | $12,680 | $13,829 | $13,357 | $12,372 | $13,119 | $12,331 | $10,468 | $12,370 | $12,756 | $12,390 | $12,152 | $11,834 | $11,349 | $10,691 | $9,374 | $7,973 | $7,629 | $6,896 | $5,438 | $8,289 | $7,271 | $6,129 | $4,841 | $4,868 | $4,659 | $3,223 | $5,933 | $5,240 | $5,866 | $5,055 | $2,365 | $2,807 | $2,518 | $2,276 | $2,648 | $2,423 | $2,577 | $2,703 | $2,719 | $2,554 | $3,051 | $2,397 |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | ($1,650) | ($1,812) | ($1,454) | ($1,375) | ($1,478) | ($1,333) | ($1,334) | ($1,556) | ($1,809) | ($1,835) | ($1,864) | ($1,856) | ($1,892) | ($1,804) | ($1,847) | ($1,799) | ($1,450) | ($1,321) | ($1,543) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($5,058) | ($5,450) | ($5,235) | ($4,887) | ($5,214) | ($4,798) | ($4,772) | ($5,519) | ($6,051) | ($6,087) | ($5,574) | ($5,006) | ($5,518) | ($5,190) | ($5,218) | ($5,399) | ($4,618) | ($4,323) | ($5,130) | ($4,565) | ($4,210) | ($3,707) | ($3,316) | ($2,950) | ($2,757) | ($3,064) | ($3,134) | ($3,216) | ($3,008) | ($2,940) | ($1,511) | ($1,503) | ($1,366) | ($1,338) | ($1,704) | ($2,210) | ($1,387) | ($1,333) | ($1,600) | ($1,457) | ($1,631) | ($1,140) |
| Total operating expenses | ($6,475) | ($5,702) | ($5,690) | ($4,809) | ($5,097) | ($6,131) | ($4,772) | ($5,519) | ($6,051) | ($6,087) | ($6,101) | ($5,006) | ($5,518) | ($5,190) | ($5,218) | ($5,399) | ($4,618) | ($4,443) | ($1,909) | ($4,565) | ($4,210) | ($3,707) | ($3,316) | ($2,950) | ($2,757) | ($3,064) | ($3,134) | ($3,216) | ($3,008) | ($2,940) | ($856) | ($1,547) | ($1,366) | ($1,322) | ($2,233) | ($2,714) | ($1,847) | ($1,757) | ($2,016) | ($1,804) | ($1,999) | ($1,502) |
| Total costs and expenses | ($27,409) | ($29,315) | ($27,050) | ($25,446) | ($27,444) | ($28,192) | ($26,941) | ($29,858) | ($35,097) | ($34,231) | ($33,251) | ($31,753) | ($34,475) | ($33,554) | ($33,509) | ($33,955) | ($29,339) | ($27,498) | ($33,027) | ($30,865) | ($28,306) | ($25,231) | ($24,068) | ($21,185) | ($20,372) | ($23,493) | ($22,224) | ($21,711) | ($20,697) | ($20,384) | ($12,462) | ($13,086) | ($11,665) | ($10,873) | ($11,627) | ($12,122) | ($11,613) | ($10,996) | ($11,206) | ($10,366) | ($10,742) | ($8,220) |
| Operating income | $6,205 | $8,127 | $7,667 | $7,563 | $8,022 | $6,200 | $5,696 | $6,851 | $6,705 | $6,303 | $6,051 | $6,828 | $5,831 | $5,501 | $4,156 | $2,574 | $3,011 | $2,453 | $3,529 | $3,724 | $3,061 | $2,422 | $1,525 | $1,918 | $1,902 | $159 | $2,799 | $2,024 | $2,858 | $2,115 | $1,509 | $1,260 | $1,152 | $954 | $415 | ($291) | $730 | $946 | $703 | $750 | $1,052 | $895 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | $6,024 | $8,673 | $8,160 | $8,053 | $8,679 | $6,874 | $6,340 | $7,524 | $7,426 | $7,020 | $6,777 | $7,500 | $6,755 | $6,490 | $5,082 | $3,522 | $3,981 | $3,389 | $4,432 | $4,561 | $3,855 | $3,075 | $2,175 | $2,579 | $2,573 | $1,085 | $3,794 | $2,905 | $3,755 | $3,003 | $2,111 | $1,872 | $1,712 | $1,501 | $944 | $213 | $1,190 | $1,370 | – | – | – | – |
| Interest income | $333 | $369 | $430 | $321 | $138 | $102 | $107 | $255 | $217 | $151 | $106 | $104 | $102 | $69 | $58 | $58 | $39 | $33 | $102 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($1,236) | ($1,344) | ($1,048) | ($749) | ($414) | ($343) | ($359) | ($357) | ($367) | ($316) | ($338) | ($310) | ($318) | ($327) | ($351) | ($376) | ($386) | ($458) | ($456) | ($456) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $8,900 | $5,476 | $6,244 | $6,191 | $6,379 | $7,235 | $6,012 | $7,559 | $7,487 | $6,950 | $6,452 | $6,586 | $5,818 | $5,412 | $3,875 | $2,282 | $2,722 | $1,964 | $3,821 | $3,321 | $2,798 | $2,296 | $1,623 | $1,640 | ($945) | ($422) | $2,398 | $2,248 | $2,772 | $2,419 | $1,553 | $1,261 | $1,111 | $910 | $702 | ($390) | $602 | $769 | $639 | $757 | $907 | $223 |
| Income tax expense | ($1,655) | ($1,008) | ($1,249) | ($1,262) | ($1,412) | ($1,625) | ($1,147) | ($1,329) | ($659) | ($5,362) | ($1,603) | ($1,739) | ($1,489) | ($1,450) | ($944) | ($417) | ($765) | ($436) | $226 | ($877) | ($720) | ($732) | ($377) | ($296) | $725 | $323 | ($739) | ($707) | ($869) | ($778) | ($533) | ($386) | ($352) | ($254) | ($167) | $117 | ($140) | ($241) | ($176) | ($242) | ($302) | ($502) |
| Net income | $7,052 | $4,729 | $5,705 | $5,658 | $4,966 | $5,542 | $4,779 | $6,143 | $6,765 | $1,545 | $4,812 | $4,768 | $4,239 | $3,924 | $2,926 | $2,067 | $2,022 | $1,548 | $806 | $2,444 | $2,083 | $1,638 | $1,246 | $1,324 | ($220) | ($99) | $1,659 | $1,541 | $1,903 | $1,641 | $1,020 | $875 | $759 | $411 | ($712) | ($273) | $462 | $528 | $463 | $518 | $605 | ($279) |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $21.02 | $7.36 | $8.71 | $8.47 | $7.27 | $7.91 | $6.72 | $8.41 | $8.98 | $2.00 | $6.21 | $6.04 | $5.33 | $4.92 | $3.69 | $2.61 | $2.59 | $4.10 | $7.52 | $6.32 | $5.04 | $3.84 | $2.90 | $3.04 | ($0.54) | ($0.24) | $4.10 | $3.80 | $4.68 | $4.00 | $3.46 | $3.10 | $2.68 | $1.46 | ($2.52) | ($1.00) | $1.68 | $1.78 | $1.56 | $1.56 | $1.64 | ($0.80) |
| Basic EPS (GAAP) | $21.12 | $7.40 | $8.76 | $8.53 | $7.33 | $8.01 | $6.79 | $8.52 | $9.10 | $2.03 | $6.30 | $6.11 | $5.40 | $4.99 | $3.74 | $2.65 | $2.61 | $4.12 | $7.58 | $6.40 | $5.08 | $3.86 | $2.90 | $3.04 | ($0.54) | ($0.24) | $4.14 | $3.90 | $4.76 | $4.08 | $3.54 | $3.10 | $2.68 | $1.46 | ($2.52) | ($1.00) | $1.68 | $1.78 | $1.56 | $1.56 | $1.64 | ($0.80) |
| Basic shares outstanding | – | 639 | 651 | 663 | 677 | 692 | 704 | 721 | 743 | 762 | 764 | 780 | 784 | 786 | 782 | 781 | 774 | 376 | 368 | 382 | 410 | 424 | 430 | 436 | 410 | 412 | 401 | 395 | 281 | 283 | 288 | 283 | 283 | 282 | 283 | 273 | 275 | 297 | 297 | 331 | 349 | 350 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | 37.7% | 36.9% | 38.5% | 37.5% | 37.0% | 35.9% | 32.1% | 33.7% | 30.5% | 30.6% | 30.9% | 30.7% | 28.2% | 27.4% | 24.9% | 21.8% | 23.6% | 23.0% | 14.9% | 24.0% | 23.2% | 22.2% | 18.9% | 21.1% | 20.9% | 13.6% | 23.7% | 22.1% | 24.9% | 22.5% | 16.9% | 19.6% | 19.6% | 19.2% | 22.0% | 20.5% | 20.9% | 22.6% | 22.8% | 23.0% | 25.9% | 26.3% |
| Operating margin | 18.5% | 21.7% | 22.1% | 22.9% | 22.6% | 18.0% | 17.5% | 18.7% | 16.0% | 15.5% | 15.4% | 17.7% | 14.5% | 14.1% | 11.0% | 7.0% | 9.3% | 8.2% | 9.7% | 10.8% | 9.8% | 8.8% | 6.0% | 8.3% | 8.5% | 0.7% | 11.2% | 8.5% | 12.1% | 9.4% | 10.8% | 8.8% | 9.0% | 8.1% | 3.4% | (2.5%) | 5.9% | 7.9% | 5.9% | 6.7% | 8.9% | 9.8% |
| Net margin | 21.0% | 12.6% | 16.4% | 17.1% | 14.0% | 16.1% | 14.6% | 16.7% | 16.2% | 3.8% | 12.2% | 12.4% | 10.5% | 10.0% | 7.8% | 5.7% | 6.3% | 5.2% | 2.2% | 7.1% | 6.6% | 5.9% | 4.9% | 5.7% | (1.0%) | (0.4%) | 6.6% | 6.5% | 8.1% | 7.3% | 7.3% | 6.1% | 5.9% | 3.5% | (5.9%) | (2.3%) | 3.7% | 4.4% | 3.9% | 4.7% | 5.1% | (3.1%) |