
| 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 | $40,512 | $46,364 | $52,400 | $57,253 | $27,076 | $16,167 | $38,489 | $57,328 | $68,797 | $66,527 | $63,146 | $62,941 | $73,358 | $59,475 | $72,992 | $76,456 | $63,314 | $47,053 | $61,657 | $39,936 | $30,901 | $22,146 | $15,469 | $10,266 | $9,470 | $8,572 | $7,376 | $5,655 | $9,400 | $7,283 | $6,541 | $5,743 | $5,255 | $4,915 | $5,087 | $5,149 | $7,692 | $6,046 | $4,706 | $3,925 | $3,154 |
| Enterprise value | $63,064 | $71,664 | $71,984 | $77,034 | $54,700 | $51,458 | $75,491 | $64,612 | $76,953 | $74,113 | $68,250 | $65,990 | $77,150 | $65,538 | $75,082 | $78,089 | $63,889 | $47,036 | $61,518 | $41,499 | $31,719 | $24,828 | $19,114 | $14,656 | $15,615 | $16,658 | $12,302 | $12,356 | $14,253 | $11,562 | $11,378 | $11,532 | $10,913 | $10,384 | $10,583 | $13,323 | $16,158 | $13,357 | $10,776 | $11,643 | $6,830 |
| P/E (TTM) at period end | 25.13× | 19.61× | 13.97× | 4.61× | 17.91× | – | – | 13.93× | 52.72× | – | – | 102.18× | 12.45× | 12.96× | 10.80× | 16.90× | 21.75× | 6.88× | 11.42× | 9.53× | 5.85× | 8.62× | 10.13× | 10.38× | 8.21× | 5.46× | 16.46× | 15.58× | – | 10.90× | 12.80× | – | 18.57× | – | 11.06× | – | 30.05× | 19.32× | 25.58× | 22.81× | 6.93× |
| P/S (TTM) at period end | 1.88× | 2.11× | 2.26× | 1.56× | 1.04× | 0.91× | 1.84× | 3.68× | 5.50× | 6.59× | 5.06× | 3.26× | 3.64× | 2.96× | 3.05× | 4.01× | 4.27× | 1.98× | 3.28× | 2.33× | 2.12× | 1.95× | 1.66× | 1.40× | 0.68× | 0.63× | 0.94× | 0.83× | 1.17× | 0.69× | 0.63× | 0.62× | 0.65× | 0.58× | 0.50× | 0.24× | 0.38× | 0.31× | 0.28× | 0.26× | 0.22× |
| P/B at period end | 1.12× | 1.36× | 1.73× | 1.90× | 1.33× | 0.87× | 1.12× | 2.69× | – | 3.09× | 2.59× | 1.80× | 1.70× | 1.49× | 1.94× | 2.35× | 2.18× | 1.72× | 2.70× | 2.07× | 2.06× | 2.10× | 1.95× | 1.62× | 1.68× | 1.80× | 2.09× | 1.68× | 2.19× | 1.42× | 1.41× | 1.29× | 1.33× | 1.43× | 1.17× | 1.25× | 1.30× | 0.98× | 0.92× | 0.91× | 0.96× |
| EV / EBITDA (TTM) | 5.60× | 6.15× | 5.56× | 3.81× | 4.17× | 8.34× | 10.17× | 9.45× | 15.24× | 22.90× | 13.58× | 6.35× | 5.97× | 5.16× | 5.37× | 7.35× | 8.53× | 3.27× | 6.07× | 4.42× | 4.15× | 4.33× | 4.47× | 4.75× | 4.44× | 4.56× | 6.68× | 9.15× | 6.95× | 6.49× | 6.30× | 8.18× | 8.55× | 8.88× | 6.34× | 5.86× | 7.03× | – | – | – | – |
| EV / Sales (TTM) | 2.92× | 3.25× | 3.11× | 2.10× | 2.11× | 2.89× | 3.61× | 4.15× | 6.15× | 7.35× | 5.47× | 3.42× | 3.82× | 3.26× | 3.14× | 4.10× | 4.31× | 1.98× | 3.28× | 2.42× | 2.17× | 2.18× | 2.05× | 2.00× | 1.12× | 1.23× | 1.57× | 1.82× | 1.78× | 1.10× | 1.09× | 1.25× | 1.34× | 1.22× | 1.05× | 0.61× | 0.81× | 0.69× | 0.63× | 0.76× | 0.47× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 4.5% | 6.9% | 12.4% | 41.3% | 7.4% | (84.4%) | (2.9%) | 19.3% | – | (2.7%) | (32.2%) | 1.8% | 13.7% | 11.5% | 18.0% | 13.9% | 10.0% | 25.1% | 23.7% | 21.8% | 35.1% | 24.3% | 19.3% | 15.7% | 20.5% | 32.9% | 12.7% | 10.8% | (9.1%) | 13.0% | 11.0% | (0.8%) | 7.2% | (17.2%) | 10.6% | (40.9%) | 4.3% | 5.1% | 3.6% | 4.0% | 13.9% |
| Return on invested capital | 4.3% | 5.6% | 9.3% | 25.1% | 7.3% | (3.1%) | – | 7.2% | 3.6% | (2.3%) | 1.4% | – | 10.9% | 11.2% | 15.6% | 12.6% | 9.2% | 25.1% | 20.2% | 19.7% | 28.3% | 20.1% | 15.4% | 14.2% | 14.6% | 11.1% | 5.8% | 2.3% | 5.5% | 6.5% | 5.7% | – | 1.3% | 1.2% | 2.8% | 9.5% | 4.4% | 4.2% | 2.3% | 2.2% | 4.3% |
| Dividend yield | 3.9% | 3.1% | 2.6% | 2.1% | 3.1% | 11.4% | 6.8% | 4.1% | 3.4% | 3.5% | 3.6% | 3.5% | 2.1% | 3.6% | 2.0% | 1.5% | 1.7% | 2.0% | 1.2% | 1.6% | 1.6% | 1.9% | 2.5% | 3.7% | 3.9% | 4.3% | 4.9% | 6.8% | 4.5% | 5.7% | 6.2% | 6.5% | 6.4% | 6.2% | 8.2% | 14.1% | 8.8% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | 0.94× | 0.95× | 0.92× | 1.15× | 1.23× | 1.07× | 1.15× | 1.34× | 1.12× | 1.32× | 1.37× | 1.68× | 1.34× | 1.30× | 1.45× | 1.67× | 1.63× | 1.17× | 1.37× | 1.31× | 1.62× | 1.29× | 0.98× | 0.84× | 0.82× | 0.75× | 0.86× | 0.95× | 1.02× | 1.19× | 0.95× | 1.03× | 0.94× | 0.98× | 1.07× | 1.03× | 1.10× | 1.11× | 1.14× | 1.12× | 1.20× |
| Debt / equity | 0.62× | 0.76× | 0.65× | 0.66× | 1.46× | 1.95× | 1.13× | 0.48× | (38.09×) | 0.46× | 0.34× | 0.20× | 0.16× | 0.19× | 0.16× | 0.16× | 0.10× | 0.10× | 0.08× | 0.14× | 0.19× | 0.36× | 0.51× | 0.67× | 0.73× | 1.14× | 1.25× | 2.02× | 1.16× | 0.89× | 1.16× | 1.33× | 1.47× | 1.61× | 1.30× | 1.99× | 1.43× | 1.27× | 1.29× | 1.94× | 1.28× |
| Effective tax rate | 32.6% | 28.8% | 28.5% | 5.8% | 24.7% | 13.8% | 243.2% | 28.0% | 1.8% | 35.9% | 13.7% | 137.7% | 41.5% | 43.4% | 40.2% | 40.7% | 40.9% | 40.8% | 40.9% | 43.7% | 27.4% | 38.9% | 42.6% | 26.6% | 32.4% | 47.9% | 52.6% | 52.8% | 58.9% | 40.0% | 46.6% | 133.6% | 65.9% | 60.7% | 61.3% | (4.0%) | 46.1% | 45.5% | 75.4% | 67.4% | 71.1% |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 1,000 | 967 | 961 | 1,002 | 959 | 919 | 810 | 763 | 766 | 764 | 766 | 781 | 805 | 810 | 813 | 814 | 814 | 820 | 839 | 860 | 818 | 802 | 771 | 758 | 747 | 737 | 711 | 699 | 669 | 665 | 638 | 622 | 645 | 603 | 594 | 584 | 541 | 497 | 403 | 298 | 212 |
| 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 | $21,671 | $21,593 | $22,019 | $23,156 | $36,634 | $25,956 | $17,809 | $20,911 | $15,560 | $12,508 | $10,090 | $12,480 | $19,312 | $20,170 | $20,100 | $23,939 | $19,045 | $14,814 | $23,713 | $18,784 | $17,175 | $14,597 | $11,368 | $9,326 | $7,338 | $13,985 | $13,574 | $7,820 | $6,805 | $8,016 | $10,557 | $10,423 | $9,236 | $8,116 | $8,494 | $10,096 | $21,694 | $20,068 | $19,417 | $17,096 | $15,344 | $14,534 |
| Cost of revenue | – | ($14,299) | ($3,121) | ($3,116) | ($3,273) | ($2,772) | ($2,408) | ($2,791) | ($6,568) | ($5,594) | ($5,189) | ($5,804) | ($6,803) | ($6,497) | ($6,530) | ($7,385) | ($6,112) | ($8,769) | ($10,488) | ($9,535) | ($8,381) | ($6,941) | ($5,872) | ($4,127) | ($3,561) | ($3,810) | ($9,057) | ($5,122) | ($4,568) | ($5,168) | ($5,173) | ($5,566) | ($6,838) | ($6,058) | ($6,334) | ($7,474) | ($18,224) | ($16,413) | ($15,782) | ($13,792) | ($12,816) | ($11,674) |
| Gross profit | – | $7,294 | $18,898 | $20,040 | $33,361 | $23,184 | $15,401 | $18,120 | $8,992 | $6,914 | $4,901 | $6,676 | $12,509 | $13,673 | $13,570 | $16,554 | $12,933 | $6,587 | $13,813 | $9,310 | $8,794 | $7,656 | $5,496 | $5,199 | $3,777 | $10,175 | $4,517 | $2,698 | $2,237 | $2,848 | $5,384 | $4,857 | $2,398 | $2,058 | $2,160 | $2,622 | $3,470 | $3,655 | $3,635 | $3,304 | $2,528 | $2,861 |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($942) | ($986) | ($960) | ($987) | ($945) | ($863) | ($864) | ($893) | ($585) | ($2,973) | ($1,330) | ($1,270) | ($1,503) | ($1,801) | ($1,366) | ($1,523) | ($1,396) | ($1,350) | ($1,285) | ($1,561) | ($1,356) | ($1,324) | ($1,008) | ($915) | ($700) | ($675) | ($691) | ($645) | ($678) | ($797) | ($1,033) | ($1,017) | ($988) | ($781) | ($991) | ($954) | ($1,195) | ($1,358) | ($1,604) | ($1,246) | ($759) | ($786) |
| Total operating expenses | ($8,872) | ($3,572) | ($14,200) | ($13,552) | ($20,077) | ($18,513) | ($17,330) | ($16,834) | ($6,129) | ($5,867) | ($5,933) | ($6,195) | ($6,385) | ($4,948) | ($4,453) | ($6,172) | ($5,467) | ($1,783) | ($1,845) | ($1,561) | ($1,403) | ($1,386) | ($1,067) | ($2,095) | ($1,712) | ($7,625) | ($1,772) | ($1,672) | ($1,744) | ($1,630) | ($4,371) | ($3,851) | ($1,885) | ($1,688) | ($1,878) | ($1,909) | ($2,301) | ($2,484) | ($2,594) | ($2,275) | ($1,714) | ($1,823) |
| Total costs and expenses | ($15,874) | ($17,871) | ($17,321) | ($16,668) | ($23,350) | ($21,285) | ($19,738) | ($19,625) | ($12,697) | ($11,461) | ($11,122) | ($11,999) | ($13,188) | ($11,445) | ($10,983) | ($13,557) | ($11,579) | ($10,010) | ($11,745) | ($11,035) | ($9,784) | ($8,327) | ($6,939) | ($6,222) | ($5,273) | ($11,435) | ($10,829) | ($6,794) | ($6,312) | ($6,798) | ($9,544) | ($9,417) | ($8,723) | ($7,746) | ($8,212) | ($9,383) | ($20,525) | ($18,897) | ($18,376) | ($16,067) | ($14,530) | ($13,496) |
| Operating income | $5,797 | $3,722 | $4,698 | $6,488 | $13,284 | $4,671 | ($1,929) | $1,286 | $2,863 | $1,047 | ($1,032) | $481 | $6,124 | $8,725 | $9,117 | $10,382 | $7,466 | $4,804 | $11,968 | $7,749 | $7,391 | $6,270 | $4,429 | $3,104 | $2,065 | $2,550 | $2,745 | $1,026 | $493 | $1,218 | $1,013 | $1,006 | $513 | $370 | $282 | $713 | $1,169 | $1,171 | $1,041 | $1,029 | $814 | $1,038 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | $13,118 | $11,255 | $11,649 | $12,937 | $20,210 | $13,118 | $6,168 | $7,426 | $6,840 | $5,049 | $3,236 | $5,025 | $10,385 | $12,928 | $12,702 | $13,973 | $10,619 | $7,491 | $14,364 | $10,128 | $9,399 | $7,642 | $5,732 | $4,279 | $3,084 | $3,520 | $3,653 | $1,843 | $1,350 | $2,051 | $1,781 | $1,806 | $1,410 | $1,277 | $1,169 | $1,668 | $2,275 | $2,297 | – | – | – | – |
| Interest income | $279 | $219 | $192 | $153 | $153 | $166 | $118 | $217 | $136 | $99 | $106 | $118 | $130 | $107 | $80 | $180 | $112 | $7 | – | – | $381 | $181 | – | $89 | – | – | $263 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($1,025) | ($1,079) | ($1,169) | ($957) | ($1,030) | ($1,614) | ($1,424) | ($1,066) | ($389) | ($345) | ($292) | ($147) | ($77) | ($132) | ($154) | ($298) | ($116) | ($133) | ($124) | ($339) | ($291) | ($293) | – | ($332) | – | – | ($518) | – | – | – | – | – | – | ($209) | – | – | – | – | – | – | – | – |
| Pre-tax income | $5,363 | $3,128 | $4,024 | $4,662 | $14,117 | $3,705 | ($15,705) | $354 | $5,277 | $971 | ($1,845) | ($9,684) | $1,224 | $7,751 | $6,125 | $10,459 | $7,359 | $5,038 | $11,963 | $8,578 | $7,667 | $7,040 | $4,389 | $2,893 | $1,585 | $1,749 | $3,011 | $1,199 | $688 | $528 | $856 | $671 | $107 | $217 | $321 | $980 | ($1,623) | $475 | $574 | $747 | $528 | $1,577 |
| Income tax expense | ($1,433) | ($1,021) | ($1,158) | ($1,330) | ($813) | ($915) | $2,172 | ($861) | ($1,477) | ($17) | $662 | $1,330 | ($1,685) | ($3,214) | ($2,659) | ($4,201) | ($2,995) | ($2,063) | ($4,877) | ($3,507) | ($3,354) | ($1,927) | ($1,708) | ($1,231) | ($422) | ($566) | ($1,442) | ($631) | ($363) | ($311) | ($342) | ($313) | ($143) | ($143) | ($195) | ($601) | ($65) | ($219) | ($261) | ($563) | ($356) | ($1,122) |
| Net income | $7,311 | $2,369 | $3,078 | $4,696 | $13,304 | $2,322 | ($14,831) | ($985) | $4,131 | $1,311 | ($574) | ($7,829) | $616 | $5,903 | $4,598 | $6,771 | $4,530 | $2,915 | $6,857 | $5,400 | $4,191 | $5,278 | $2,568 | $1,527 | $989 | $1,154 | $1,570 | $448 | $363 | ($390) | $668 | $511 | ($36) | $283 | ($591) | $460 | ($1,688) | $256 | $313 | $184 | $172 | $455 |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $6.46 | $1.61 | $2.44 | $3.90 | $12.40 | $1.58 | ($17.06) | ($1.22) | $5.39 | $1.70 | ($0.75) | ($10.23) | $0.79 | $7.32 | $5.67 | $8.32 | $5.56 | $3.58 | $8.34 | $6.42 | $4.87 | $6.45 | $3.20 | $1.98 | $1.31 | $1.55 | $2.13 | $0.62 | $0.50 | ($0.71) | $0.87 | $0.65 | ($0.18) | $0.38 | ($0.98) | $0.38 | ($2.90) | $0.46 | $0.63 | $0.39 | $0.33 | $1.10 |
| Basic EPS (GAAP) | $6.59 | $1.65 | $2.59 | $4.22 | $13.41 | $1.62 | ($17.06) | ($1.22) | $5.40 | $1.71 | ($0.75) | ($10.23) | $0.79 | $7.33 | $5.67 | $8.32 | $5.57 | $3.59 | $8.37 | $6.45 | $4.92 | $6.55 | $3.25 | $2.00 | $1.32 | $1.55 | $2.13 | $0.62 | $0.50 | ($0.71) | $0.89 | $0.66 | ($0.18) | $0.38 | ($0.98) | $0.38 | ($2.90) | $0.46 | $0.63 | $0.39 | $0.33 | $1.10 |
| Basic shares outstanding | 990 | 976 | 912 | 889 | 926 | 935 | 919 | 810 | 762 | 765 | 764 | 766 | 781 | 804 | 809 | 812 | 812 | 811 | 818 | 835 | 853 | 807 | 791 | 764 | 752 | 745 | 737 | 711 | 699 | 669 | 650 | 638 | 622 | 645 | 603 | 594 | 584 | 541 | 497 | 403 | 298 | 212 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | – | 33.8% | 85.8% | 86.5% | 91.1% | 89.3% | 86.5% | 86.7% | 57.8% | 55.3% | 48.6% | 53.5% | 64.8% | 67.8% | 67.5% | 69.2% | 67.9% | 44.5% | 58.3% | 49.6% | 51.2% | 52.4% | 48.3% | 55.7% | 51.5% | 72.8% | 33.3% | 34.5% | 32.9% | 35.5% | 51.0% | 46.6% | 26.0% | 25.4% | 25.4% | 26.0% | 16.0% | 18.2% | 18.7% | 19.3% | 16.5% | 19.7% |
| Operating margin | 26.8% | 17.2% | 21.3% | 28.0% | 36.3% | 18.0% | (10.8%) | 6.1% | 18.4% | 8.4% | (10.2%) | 3.9% | 31.7% | 43.3% | 45.4% | 43.4% | 39.2% | 32.4% | 50.5% | 41.3% | 43.0% | 43.0% | 39.0% | 33.3% | 28.1% | 18.2% | 20.2% | 13.1% | 7.2% | 15.2% | 9.6% | 9.7% | 5.6% | 4.6% | 3.3% | 7.1% | 5.4% | 5.8% | 5.4% | 6.0% | 5.3% | 7.1% |
| Net margin | 33.7% | 11.0% | 14.0% | 20.3% | 36.3% | 8.9% | (83.3%) | (4.7%) | 26.5% | 10.5% | (5.7%) | (62.7%) | 3.2% | 29.3% | 22.9% | 28.3% | 23.8% | 19.7% | 28.9% | 28.7% | 24.4% | 36.2% | 22.6% | 16.4% | 13.5% | 8.3% | 11.6% | 5.7% | 5.3% | (4.9%) | 6.3% | 4.9% | (0.4%) | 3.5% | (7.0%) | 4.6% | (7.8%) | 1.3% | 1.6% | 1.1% | 1.1% | 3.1% |