
| 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 | $57,337 | $54,142 | $74,337 | $75,806 | $42,009 | $30,619 | $56,386 | $50,607 | $94,523 | $117,751 | $97,834 | $110,606 | $119,216 | $92,169 | $92,150 | $104,375 | $77,978 | $50,627 | $116,858 | $74,635 | $57,243 | $39,445 | $31,951 | $24,355 | $31,538 | $45,566 | $30,792 | $22,957 | $39,456 | $24,292 | $15,376 | $11,170 | $13,052 | $12,484 | $13,538 | $12,509 | $10,571 | $7,832 | $7,248 | $8,300 | $9,876 |
| Enterprise value | $66,615 | $62,767 | $83,483 | $85,442 | $53,347 | $44,917 | $69,929 | $64,305 | $108,052 | $128,561 | $104,071 | $116,634 | $124,188 | $97,632 | $97,385 | $107,716 | $78,951 | $51,878 | $118,791 | $77,622 | $58,641 | $41,524 | $37,146 | $30,336 | $37,788 | $46,691 | $29,843 | $23,081 | $39,618 | $24,384 | $16,000 | $11,593 | $13,496 | $12,867 | $13,961 | $12,880 | $10,866 | $6,644 | $4,830 | $5,002 | $6,318 |
| P/E (TTM) at period end | 16.99× | 12.14× | 17.69× | 22.03× | 22.33× | – | – | 23.67× | – | – | 47.22× | 19.60× | 17.53× | 17.62× | 20.41× | 24.51× | 24.65× | 9.36× | 22.57× | 20.12× | 25.94× | 32.23× | 83.42× | – | 60.39× | 62.03× | 83.97× | 22.64× | 30.45× | 28.53× | 23.68× | 20.84× | 38.99× | 18.87× | 16.60× | 21.93× | 25.17× | 17.26× | 25.65× | – | 28.14× |
| P/S (TTM) at period end | 1.61× | 1.49× | 2.24× | 2.70× | 1.83× | 1.30× | 1.71× | 1.54× | 3.11× | 4.23× | 2.76× | 2.28× | 2.63× | 2.21× | 2.52× | 3.91× | 3.43× | 1.86× | 5.02× | 3.88× | 4.00× | 3.44× | 2.27× | 1.79× | 2.25× | 4.74× | 3.67× | 1.94× | 3.71× | 2.71× | 2.02× | 1.67× | 1.95× | 1.97× | 2.20× | 2.36× | 2.26× | 1.59× | 1.65× | 1.82× | 1.61× |
| P/B at period end | 2.20× | 2.56× | 3.68× | 4.29× | 2.80× | 2.54× | 2.37× | 1.40× | 2.57× | 2.87× | 2.75× | 2.92× | 3.02× | 2.65× | 2.95× | 3.34× | 4.08× | 3.00× | 7.86× | 7.16× | 7.54× | 6.45× | 5.43× | 4.34× | 3.76× | 5.49× | 3.99× | 2.83× | 5.35× | 4.32× | 3.10× | 2.44× | 2.96× | 2.95× | 3.51× | 3.84× | 3.65× | 2.84× | 1.89× | 2.01× | 1.44× |
| EV / EBITDA (TTM) | 9.50× | 7.54× | 9.45× | 11.94× | 9.73× | 9.04× | 9.24× | 8.30× | 13.93× | 17.45× | 9.83× | 7.95× | 9.39× | 8.96× | 10.17× | 16.29× | 12.41× | 5.79× | 14.11× | 12.02× | 14.26× | 14.35× | 14.07× | – | 11.09× | 22.40× | 22.49× | 9.51× | 15.12× | 12.86× | 10.12× | 8.44× | 9.48× | 9.12× | 10.04× | 10.65× | 10.99× | – | – | – | – |
| EV / Sales (TTM) | 1.87× | 1.73× | 2.52× | 3.04× | 2.33× | 1.90× | 2.12× | 1.96× | 3.55× | 4.62× | 2.93× | 2.40× | 2.74× | 2.34× | 2.66× | 4.04× | 3.48× | 1.91× | 5.10× | 4.04× | 4.10× | 3.62× | 2.64× | 2.23× | 2.70× | 4.86× | 3.55× | 1.95× | 3.72× | 2.72× | 2.10× | 1.73× | 2.01× | 2.03× | 2.27× | 2.43× | 2.32× | 1.35× | 1.10× | 1.10× | 1.03× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 12.9% | 21.1% | 20.8% | 19.5% | 12.5% | (87.1%) | (42.7%) | 5.9% | (4.1%) | (4.1%) | 5.8% | 14.9% | 17.2% | 15.0% | 14.4% | 13.6% | 16.5% | 32.1% | 34.8% | 35.6% | 29.1% | 20.0% | 6.5% | (41.4%) | 6.2% | 8.9% | 4.7% | 12.5% | 17.6% | 15.1% | 13.1% | 11.7% | 7.6% | 15.6% | 21.2% | 17.5% | 14.5% | 16.5% | 7.4% | (48.9%) | 5.1% |
| Return on invested capital | 9.6% | 15.2% | 17.4% | 14.3% | 9.9% | 7.8% | 10.1% | 6.8% | 7.3% | 4.8% | 9.3% | 16.4% | 14.9% | 12.3% | 12.0% | 8.5% | 12.2% | 24.5% | 25.5% | 22.9% | 17.3% | 11.4% | 4.8% | (14.2%) | 4.6% | 6.6% | 3.2% | 12.0% | 17.0% | 17.7% | 11.5% | 10.4% | 11.5% | 13.5% | 14.2% | 14.8% | 11.6% | 22.9% | 13.6% | 11.2% | 15.0% |
| Dividend yield | 2.8% | 2.8% | 1.8% | 1.1% | 1.7% | 5.7% | 4.9% | 5.5% | 2.9% | 2.2% | 2.5% | 1.8% | 1.3% | 1.6% | 1.4% | 1.0% | 1.3% | 1.9% | 0.7% | 0.8% | 0.8% | 1.1% | 1.4% | 1.8% | 1.4% | 0.9% | 1.3% | 1.7% | 1.0% | 1.5% | 2.1% | 2.6% | 2.2% | 2.3% | 2.1% | 2.3% | 2.7% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | 1.33× | 1.45× | 1.32× | 1.25× | 1.22× | 1.23× | 1.19× | 1.17× | 1.21× | 1.59× | 1.91× | 1.74× | 1.94× | 1.95× | 1.95× | 1.67× | 1.88× | 1.59× | 1.47× | 1.42× | 1.55× | 1.50× | 1.53× | 1.11× | 1.24× | 1.88× | 2.48× | 2.25× | 1.67× | 1.45× | 1.46× | 1.37× | 1.35× | 1.56× | 1.44× | 1.33× | 1.41× | 1.28× | 1.66× | 1.64× | 2.02× |
| Debt / equity | 0.45× | 0.57× | 0.59× | 0.69× | 0.95× | 1.40× | 0.64× | 0.44× | 0.49× | 0.45× | 0.49× | 0.31× | 0.31× | 0.31× | 0.31× | 0.25× | 0.25× | 0.29× | 0.37× | 0.57× | 0.58× | 0.76× | 1.34× | 1.28× | 0.86× | 0.50× | 0.50× | 0.50× | 0.26× | 0.26× | 0.14× | 0.10× | 0.12× | 0.10× | 0.12× | 0.13× | 0.12× | 0.09× | 0.04× | 0.12× | 0.15× |
| Effective tax rate | 19.6% | 19.3% | 19.1% | 18.2% | 18.8% | 7.2% | 3.0% | 17.0% | (27.9%) | 14.6% | 25.9% | 25.2% | 21.3% | 24.4% | 24.8% | 17.1% | 24.4% | 20.9% | 21.9% | 24.0% | 22.9% | 20.9% | 36.9% | (12.5%) | 51.1% | 23.8% | 30.0% | 23.3% | 22.3% | (26.0%) | 15.7% | 13.2% | 12.2% | 11.6% | 16.9% | 18.3% | 20.9% | 22.9% | 18.8% | (6.8%) | 43.1% |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 1,437 | 1,436 | 1,443 | 1,437 | 1,427 | 1,390 | 1,385 | 1,393 | 1,388 | 1,357 | 1,275 | 1,308 | 1,333 | 1,339 | 1,361 | 1,263 | 1,214 | 1,224 | 1,239 | 1,242 | 1,230 | 1,226 | 1,173 | 1,166 | 1,148 | 1,160 | 1,128 | 1,121 | 1,121 | 1,088 | 984 | 975 | 999 | 959 | 954 | 950 | 944 | 1,056 | 1,108 | 1,150 | 1,190 |
| 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 | $36,366 | $35,708 | $36,289 | $33,135 | $28,091 | $22,929 | $23,601 | $32,917 | $32,815 | $30,440 | $27,810 | $35,475 | $48,580 | $45,266 | $41,731 | $36,579 | $26,672 | $22,702 | $27,163 | $23,277 | $19,230 | $14,309 | $11,480 | $14,059 | $13,613 | $13,988 | $9,611 | $8,395 | $11,816 | $10,648 | $8,956 | $7,622 | $6,697 | $6,706 | $6,332 | $6,145 | $5,306 | $4,686 | $4,924 | $4,402 | $4,568 | $6,119 |
| Cost of revenue | ($30,353) | ($29,201) | ($28,829) | ($26,572) | ($22,930) | ($19,271) | ($20,931) | ($28,720) | ($28,478) | ($8,337) | ($7,057) | ($28,321) | ($37,398) | ($35,331) | ($32,885) | ($28,802) | ($21,097) | ($17,245) | ($18,957) | ($15,481) | ($13,214) | ($10,623) | ($9,042) | ($11,420) | ($13,759) | ($10,642) | ($7,372) | ($6,749) | ($9,034) | ($7,837) | ($6,835) | ($4,984) | ($4,332) | ($4,234) | ($3,871) | ($3,765) | ($3,179) | ($2,822) | ($2,976) | ($2,738) | ($2,791) | ($3,328) |
| Gross profit | $6,013 | $6,507 | $7,460 | $6,563 | $5,161 | $3,658 | $2,670 | $4,197 | $4,337 | $22,103 | $20,753 | $7,154 | $11,182 | $9,935 | $8,846 | $7,777 | $5,575 | $5,457 | $8,206 | $7,796 | $6,016 | $3,686 | $2,438 | $2,639 | ($147) | $3,346 | $2,240 | $1,646 | $2,781 | $2,811 | $2,121 | $2,638 | $2,365 | $2,471 | $2,461 | $2,380 | $2,127 | $1,864 | $1,948 | $1,664 | $1,777 | $2,791 |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | ($692) | ($709) | ($749) | ($711) | ($634) | ($554) | ($580) | ($717) | ($702) | ($787) | ($1,012) | ($1,094) | ($1,217) | ($1,174) | ($1,153) | ($1,061) | ($919) | ($802) | ($819) | ($728) | ($619) | ($506) | ($467) | ($556) | ($650) | ($704) | ($541) | ($522) | ($568) | ($486) | ($453) | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($337) | ($340) | ($385) | ($364) | ($376) | ($339) | ($365) | ($474) | ($444) | ($432) | ($403) | ($494) | ($475) | ($416) | ($405) | ($417) | ($311) | ($261) | ($584) | ($517) | ($501) | ($420) | ($385) | ($1,013) | ($1,066) | ($1,131) | ($886) | ($818) | ($922) | ($676) | ($657) | ($1,057) | ($992) | ($1,047) | ($1,050) | ($989) | ($917) | ($875) | ($930) | ($892) | ($966) | ($1,075) |
| Total operating expenses | ($1,853) | ($2,139) | ($1,656) | ($40) | ($150) | ($293) | ($269) | ($219) | ($150) | ($18,182) | ($17,480) | ($644) | ($606) | ($591) | ($1,591) | ($1,478) | ($1,721) | ($1,572) | ($1,518) | ($1,328) | ($1,120) | ($925) | ($852) | ($1,569) | ($1,716) | ($1,835) | ($1,426) | ($1,340) | ($1,490) | ($1,162) | ($1,109) | ($1,877) | ($1,768) | ($1,837) | ($1,759) | ($1,649) | ($1,469) | ($1,395) | ($1,482) | ($1,427) | ($1,684) | ($1,916) |
| Total costs and expenses | ($32,206) | ($31,340) | ($30,485) | ($26,612) | ($23,080) | ($19,564) | ($21,200) | ($28,939) | ($28,628) | ($26,519) | ($24,537) | ($28,965) | ($38,004) | ($35,922) | ($34,476) | ($30,280) | ($22,818) | ($18,817) | ($20,475) | ($16,809) | ($14,334) | ($11,548) | ($9,894) | ($12,989) | ($15,475) | ($12,477) | ($8,798) | ($8,089) | ($10,524) | ($8,999) | ($7,945) | ($6,861) | ($6,100) | ($6,072) | ($5,630) | ($5,414) | ($4,649) | ($4,217) | ($4,458) | ($4,165) | ($4,476) | ($5,244) |
| Operating income | $4,160 | $4,368 | $5,804 | $6,523 | $5,011 | $3,365 | $2,401 | $3,978 | $4,187 | $3,921 | $3,273 | $6,510 | $10,576 | $9,344 | $7,255 | $6,299 | $3,854 | $3,885 | $6,688 | $6,468 | $4,896 | $2,761 | $1,586 | $1,070 | ($1,862) | $1,511 | $814 | $306 | $1,291 | $1,648 | $1,012 | $760 | $597 | $634 | $702 | $731 | $658 | $469 | $466 | $237 | $93 | $875 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | $6,927 | $7,011 | $8,323 | $8,835 | $7,158 | $5,485 | $4,967 | $7,567 | $7,743 | $7,758 | $7,367 | $10,588 | $14,670 | $13,223 | $10,902 | $9,573 | $6,611 | $6,361 | $8,957 | $8,422 | $6,458 | $4,112 | $2,894 | $2,641 | ($317) | $3,407 | $2,084 | $1,327 | $2,428 | $2,621 | $1,897 | $1,581 | $1,373 | $1,424 | $1,411 | $1,391 | $1,210 | $988 | – | – | – | – |
| Interest income | $270 | $136 | $174 | $100 | $99 | $33 | $33 | $41 | $60 | $128 | $110 | $52 | $51 | $33 | $30 | $40 | $50 | $10 | $119 | $162 | – | – | $54 | – | $68 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($512) | ($558) | ($512) | ($503) | ($490) | ($539) | ($563) | ($609) | ($575) | ($566) | ($570) | ($346) | ($369) | ($391) | ($340) | ($298) | ($207) | ($221) | ($247) | ($275) | – | – | ($201) | – | ($364) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $3,918 | $4,291 | $5,672 | $5,282 | $4,271 | $2,374 | ($11,298) | ($10,418) | $2,624 | ($1,183) | ($1,905) | $2,881 | $7,639 | $8,691 | $6,959 | $6,018 | $5,132 | $3,156 | $6,852 | $6,624 | $4,948 | $2,972 | $1,327 | $568 | ($2,230) | $1,126 | $961 | $470 | $1,323 | $1,668 | $676 | $770 | $618 | $664 | $748 | $982 | $698 | $531 | $588 | $619 | ($1,549) | $617 |
| Income tax expense | ($768) | ($840) | ($1,093) | ($1,007) | ($779) | ($446) | $812 | $311 | ($447) | ($330) | $278 | ($746) | ($1,928) | ($1,848) | ($1,700) | ($1,492) | ($879) | ($770) | ($1,430) | ($1,448) | ($1,190) | ($682) | ($277) | ($209) | ($279) | ($575) | ($228) | ($141) | ($309) | ($373) | $176 | ($121) | ($81) | ($81) | ($86) | ($166) | ($128) | ($111) | ($135) | ($116) | ($106) | ($266) |
| Net income | $3,101 | $3,374 | $4,461 | $4,203 | $3,441 | $1,881 | ($10,518) | ($10,137) | $2,138 | ($1,505) | ($1,687) | $2,072 | $5,438 | $6,732 | $5,490 | $4,997 | $4,267 | $3,134 | $5,435 | $5,177 | $3,710 | $2,207 | $1,224 | $383 | ($2,320) | $522 | $735 | $367 | $1,014 | $1,296 | $852 | $649 | $536 | $335 | $662 | $816 | $570 | $420 | $454 | $283 | ($2,018) | $351 |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $2.05 | $2.35 | $3.11 | $2.91 | $2.39 | $1.32 | ($7.57) | ($7.32) | $1.53 | ($1.08) | ($1.24) | $1.63 | $4.16 | $5.05 | $4.10 | $3.67 | $3.38 | $2.59 | $4.45 | $4.20 | $3.01 | $1.82 | $1.02 | $0.33 | ($1.99) | $0.91 | $0.64 | $0.33 | $0.91 | $1.24 | $0.85 | $0.66 | $0.55 | $0.34 | $0.69 | $0.86 | $0.60 | $0.45 | $0.43 | $0.26 | ($1.75) | $0.30 |
| Basic EPS (GAAP) | $2.08 | $2.38 | $3.14 | $2.95 | $2.43 | $1.34 | ($7.57) | ($7.32) | $1.54 | ($1.08) | ($1.24) | $1.63 | $4.20 | $5.09 | $4.13 | $3.70 | $3.41 | $2.62 | $4.54 | $4.36 | $3.14 | $1.87 | $1.04 | $0.33 | ($2.01) | $0.91 | $0.73 | $0.34 | $0.93 | $1.29 | $0.86 | $0.67 | $0.55 | $0.35 | $0.69 | $0.86 | $0.60 | $0.45 | $0.43 | $0.26 | ($1.75) | $0.30 |
| Basic shares outstanding | 1,483 | 1,421 | 1,421 | 1,425 | 1,416 | 1,400 | 1,390 | 1,385 | 1,385 | 1,388 | 1,357 | 1,267 | 1,295 | 1,323 | 1,330 | 1,349 | 1,250 | 1,198 | 1,196 | 1,188 | 1,182 | 1,179 | 1,178 | 1,168 | 1,157 | 1,148 | 1,140 | 1,097 | 1,088 | 1,077 | 1,069 | 976 | 975 | 970 | 959 | 954 | 950 | 944 | 1,056 | 1,108 | 1,150 | 1,190 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | 16.5% | 18.2% | 20.6% | 19.8% | 18.4% | 16.0% | 11.3% | 12.8% | 13.2% | 72.6% | 74.6% | 20.2% | 23.0% | 21.9% | 21.2% | 21.3% | 20.9% | 24.0% | 30.2% | 33.5% | 31.3% | 25.8% | 21.2% | 18.8% | (1.1%) | 23.9% | 23.3% | 19.6% | 23.5% | 26.4% | 23.7% | 34.6% | 35.3% | 36.9% | 38.9% | 38.7% | 40.1% | 39.8% | 39.6% | 37.8% | 38.9% | 45.6% |
| Operating margin | 11.4% | 12.2% | 16.0% | 19.7% | 17.8% | 14.7% | 10.2% | 12.1% | 12.8% | 12.9% | 11.8% | 18.4% | 21.8% | 20.6% | 17.4% | 17.2% | 14.4% | 17.1% | 24.6% | 27.8% | 25.5% | 19.3% | 13.8% | 7.6% | (13.7%) | 10.8% | 8.5% | 3.6% | 10.9% | 15.5% | 11.3% | 10.0% | 8.9% | 9.5% | 11.1% | 11.9% | 12.4% | 10.0% | 9.5% | 5.4% | 2.0% | 14.3% |
| Net margin | 8.5% | 9.4% | 12.3% | 12.7% | 12.2% | 8.2% | (44.6%) | (30.8%) | 6.5% | (4.9%) | (6.1%) | 5.8% | 11.2% | 14.9% | 13.2% | 13.7% | 16.0% | 13.8% | 20.0% | 22.2% | 19.3% | 15.4% | 10.7% | 2.7% | (17.0%) | 3.7% | 7.6% | 4.4% | 8.6% | 12.2% | 9.5% | 8.5% | 8.0% | 5.0% | 10.4% | 13.3% | 10.7% | 9.0% | 9.2% | 6.4% | (44.2%) | 5.7% |