
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valuation | ||||||||||||||||||||||||||||||||||||||||
| Market cap | $45,316 | $39,040 | $25,887 | $21,069 | $25,012 | $25,735 | $37,428 | $31,937 | $35,841 | $31,482 | $32,442 | $41,123 | $23,322 | $10,030 | $6,779 | $10,508 | $9,411 | $5,363 | $4,645 | – | – | – | – | $2,809 | $2,806 | $2,823 | $3,256 | $3,384 | $1,718 | $2,344 | $2,303 | $2,292 | $2,271 | $2,257 | $2,020 | $2,194 | $2,240 | $2,220 | $2,037 | $1,827 |
| Enterprise value | $62,089 | $58,742 | $49,300 | $45,145 | $48,372 | $47,187 | $51,801 | $46,696 | $42,036 | $35,565 | $37,334 | $47,595 | $30,861 | $19,365 | $16,955 | $22,150 | $25,144 | $22,029 | $8,947 | – | – | – | – | $11,807 | $9,994 | $7,214 | $5,954 | $4,200 | $2,594 | $2,964 | $3,896 | $3,927 | $4,855 | $5,862 | $3,394 | $3,546 | $2,430 | $2,163 | $2,723 | $2,695 |
| P/E (TTM) at period end | 9.05× | 11.29× | 5.62× | 15.99× | 89.33× | – | 7.85× | 8.12× | 11.18× | 7.50× | 7.17× | 62.40× | 2.21× | 9.94× | 7.94× | 17.72× | – | – | 2.88× | – | – | – | – | – | – | 3.41× | 2.70× | 3.07× | 1.72× | 2.74× | 14.76× | 5.62× | – | – | – | – | 7.40× | 4.82× | 6.64× | 6.93× |
| P/S (TTM) at period end | 0.72× | 0.63× | 0.45× | 0.42× | 0.84× | 1.51× | 0.80× | 0.72× | 0.87× | 0.79× | 0.80× | 1.02× | 0.62× | 0.27× | 0.19× | 0.33× | 0.34× | 0.24× | 0.24× | – | – | – | – | 0.20× | 0.20× | 0.17× | 0.22× | 0.23× | 0.12× | 0.17× | 0.18× | 0.19× | 0.19× | 0.19× | 0.19× | 0.24× | 0.26× | 0.27× | 0.29× | 0.34× |
| P/B at period end | 2.17× | 2.55× | 2.33× | 3.20× | 6.43× | 16.78× | 2.44× | 2.33× | 2.86× | 2.79× | 2.99× | 4.67× | 2.00× | – | – | 11.72× | 38.41× | 6.14× | 0.46× | – | – | – | – | 3.15× | 0.74× | 0.49× | 0.65× | 0.76× | 0.43× | 0.74× | 0.86× | 1.18× | 1.45× | 1.13× | 1.03× | 0.88× | 0.86× | 0.85× | 0.92× | 0.94× |
| EV / EBITDA (TTM) | 7.51× | 6.90× | 6.27× | 7.83× | 12.45× | – | 5.63× | 6.15× | 5.13× | 4.00× | 3.87× | 11.97× | 6.10× | 5.18× | 4.85× | 5.94× | 20.75× | – | 2.53× | – | – | – | – | – | – | 2.55× | 0.47× | 1.54× | 1.08× | 0.27× | 0.39× | 0.38× | 0.56× | – | – | – | – | – | – | – |
| EV / Sales (TTM) | 0.98× | 0.95× | 0.85× | 0.89× | 1.62× | 2.76× | 1.10× | 1.05× | 1.02× | 0.90× | 0.92× | 1.18× | 0.82× | 0.53× | 0.48× | 0.70× | 0.90× | 0.97× | 0.47× | – | – | – | – | 0.85× | 0.72× | 0.43× | 0.40× | 0.29× | 0.18× | 0.22× | 0.31× | 0.32× | 0.40× | 0.49× | 0.31× | 0.39× | 0.28× | 0.27× | 0.39× | 0.51× |
| Returns | ||||||||||||||||||||||||||||||||||||||||
| Return on equity | 24.0% | 22.6% | 41.5% | 20.0% | 7.2% | (807.4%) | 31.0% | 28.7% | 25.6% | 37.2% | 41.7% | 7.5% | 90.5% | – | – | 66.1% | (504.9%) | (1020.8%) | 15.9% | – | – | – | – | (142.4%) | (32.3%) | 14.3% | 24.2% | 24.8% | 24.9% | 27.0% | 5.8% | 21.0% | (26.1%) | (50.2%) | (25.8%) | (12.9%) | 11.6% | 17.6% | 13.9% | 13.6% |
| Return on invested capital | 12.5% | 12.7% | 12.7% | 7.4% | 4.3% | (34.4%) | 17.1% | 14.0% | 17.8% | 29.1% | 28.7% | 8.2% | 16.9% | 26.2% | 20.3% | 16.3% | (1.6%) | (46.2%) | 18.5% | – | – | (49.8%) | (5.5%) | (8.4%) | (9.5%) | 9.4% | 84.7% | 21.3% | 18.9% | 143.9% | 112.3% | 137.9% | 140.5% | (5.6%) | (13.0%) | (7.6%) | 9.7% | 17.2% | 11.6% | 8.5% |
| Dividend yield | 1.0% | 0.8% | 0.5% | – | – | 1.0% | 2.6% | 2.8% | 2.0% | 1.6% | 1.1% | 0.6% | 0.4% | – | – | – | – | – | 0.3% | – | – | – | – | 1.4% | 1.4% | 1.4% | 1.3% | 1.3% | 2.5% | 1.9% | 5.2% | 5.2% | 5.3% | 6.1% | 4.4% | 3.8% | – | – | – | – |
| Financial health | ||||||||||||||||||||||||||||||||||||||||
| Current ratio | 0.40× | 0.37× | 0.39× | 0.50× | 0.76× | 1.09× | 0.41× | 0.34× | 0.41× | 0.49× | 0.52× | 0.54× | 0.68× | 0.62× | 0.61× | 0.64× | 0.82× | 0.81× | 0.79× | 0.93× | 0.85× | 0.61× | 0.75× | 0.60× | 0.56× | 0.61× | 0.71× | 0.50× | 0.73× | 0.70× | 0.90× | 0.88× | 0.91× | 0.95× | 0.48× | 0.88× | 0.56× | 0.84× | 1.19× | 1.00× |
| Debt / equity | 0.68× | 1.06× | 1.81× | 3.50× | 6.93× | 19.01× | 0.73× | 0.71× | 0.71× | 0.65× | 0.77× | 1.10× | 0.97× | (5.96×) | (9.88×) | 17.00× | 56.22× | 24.26× | 1.12× | (0.59×) | (0.78×) | (2.40×) | (19.03×) | 12.14× | 2.47× | 1.01× | 0.97× | 0.54× | 0.40× | 0.56× | 0.71× | 1.49× | 2.15× | 1.89× | 1.86× | 0.85× | 0.54× | 0.27× | 0.35× | 0.55× |
| Effective tax rate | 19.1% | 25.8% | 17.8% | 31.1% | 29.6% | 20.5% | 23.1% | 23.6% | 41.7% | 34.0% | 36.8% | 38.5% | (317.1%) | 1.6% | (11.1%) | 2.5% | 21.8% | 1.3% | 11.4% | 11.0% | 1.1% | (30.2%) | 35.0% | 36.5% | 34.8% | 40.1% | 39.7% | 39.7% | 39.3% | 39.6% | 43.5% | 40.5% | 38.0% | 36.3% | 35.6% | 35.1% | 35.3% | 35.2% | 32.7% | 41.0% |
| Share count | ||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 654 | 648 | 643 | 641 | 641 | 636 | 653 | 694 | 723 | 755 | 804 | 845 | 858 | 850 | 844 | 843 | 827 | 468 | 312 | 196 | 162 | 127 | 123 | 123 | 123 | 130 | 151 | 155 | 75 | 103 | 101 | 101 | 100 | 99 | 89 | 106 | 98 | 97 | 89 | 80 |
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue and gross profit | |||||||||||||||||||||||||||||||||||||||||
| Revenue | $71,800 | $63,364 | $61,643 | $58,048 | $50,582 | $29,899 | $17,095 | $47,007 | $44,438 | $41,244 | $39,639 | $40,704 | $40,362 | $37,773 | $36,670 | $35,115 | $31,755 | $28,063 | $22,697 | $19,154 | $17,532 | $16,480 | $15,235 | $14,308 | $13,866 | $13,879 | $16,741 | $14,883 | $14,597 | $14,138 | $13,594 | $12,455 | $12,194 | $12,077 | $11,997 | $10,837 | $9,171 | $8,582 | $8,090 | $6,915 | $5,318 |
| Cost of revenue | ($50,335) | ($48,889) | ($45,086) | ($42,530) | ($39,422) | ($27,766) | ($21,463) | ($33,409) | ($33,335) | ($29,628) | ($27,164) | ($27,349) | ($32,194) | ($29,183) | ($29,295) | ($27,946) | ($24,384) | ($15,048) | ($13,815) | ($9,184) | – | – | – | – | – | – | – | ($4,090) | – | – | ($3,877) | ($3,505) | ($3,371) | ($3,551) | ($4,862) | ($4,466) | ($3,814) | ($5,225) | ($4,665) | ($4,152) | ($3,179) |
| Gross profit | $21,465 | $14,475 | $16,557 | $15,518 | $11,160 | $2,133 | ($4,368) | $13,598 | $11,103 | $11,510 | $12,286 | $13,355 | $8,168 | $8,590 | $7,375 | $7,169 | $7,371 | $13,015 | $8,882 | $9,970 | – | – | – | – | – | – | – | $10,793 | – | – | $9,717 | $8,950 | $8,823 | $8,526 | $7,135 | $6,371 | $5,356 | $3,357 | $3,424 | $2,763 | $2,139 |
| Operating expenses | |||||||||||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($21,352) | ($20,005) | ($18,646) | ($16,941) | ($13,793) | ($10,681) | ($9,644) | ($15,455) | ($13,985) | ($12,950) | ($12,260) | ($11,938) | ($10,905) | ($9,829) | ($9,228) | ($8,840) | ($8,573) | ($9,838) | ($6,421) | ($5,122) | ($6,164) | ($7,104) | ($2,580) | ($8,776) | ($8,863) | ($9,076) | ($9,057) | $719 | ($7,980) | ($7,854) | $519 | $588 | $755 | $759 | ($6,953) | ($6,469) | ($5,341) | ($2,478) | ($2,353) | ($1,912) | ($1,456) |
| Total operating expenses | ($16,179) | ($8,653) | ($10,562) | ($9,997) | ($7,499) | ($247) | ($8,101) | ($6,980) | ($5,839) | ($5,544) | ($5,290) | ($5,553) | ($5,962) | ($5,190) | ($5,200) | ($5,194) | ($5,154) | ($13,339) | ($17,196) | ($6,932) | – | – | – | – | – | – | – | $913 | – | – | $511 | $547 | $705 | $886 | ($7,628) | ($7,046) | ($5,806) | ($2,938) | ($2,746) | ($2,266) | ($1,734) |
| Total costs and expenses | ($66,514) | ($57,542) | ($55,648) | ($52,527) | ($46,921) | ($28,013) | ($29,564) | ($40,389) | ($39,174) | ($35,278) | ($32,643) | ($32,902) | ($38,156) | ($34,373) | ($34,495) | ($33,140) | ($29,538) | ($28,387) | ($31,011) | ($16,116) | ($17,474) | ($18,481) | ($18,543) | ($15,093) | ($15,175) | ($15,481) | ($15,104) | ($3,177) | ($12,727) | ($12,444) | ($3,366) | ($2,958) | ($2,666) | ($2,665) | ($12,490) | ($11,512) | ($9,621) | ($8,163) | ($7,411) | ($6,418) | ($4,914) |
| Operating income | $5,286 | $5,822 | $5,995 | $5,521 | $3,661 | $1,886 | ($12,469) | $6,618 | $5,264 | $5,966 | $6,996 | $7,802 | $2,206 | $3,400 | $2,175 | $1,975 | $2,217 | ($324) | ($8,314) | $3,038 | $58 | ($2,001) | ($3,308) | ($785) | ($1,309) | ($1,602) | $1,637 | $11,706 | $1,870 | $1,694 | $10,228 | $9,497 | $9,528 | $9,412 | ($493) | ($675) | ($450) | $420 | $678 | $497 | $405 |
| Earnings | |||||||||||||||||||||||||||||||||||||||||
| EBITDA | $7,870 | $8,265 | $8,508 | $7,862 | $5,768 | $3,884 | ($10,157) | $9,199 | $7,593 | $8,188 | $8,882 | $9,637 | $3,977 | $5,058 | $3,740 | $3,498 | $3,728 | $1,212 | ($7,048) | $3,533 | $1,334 | ($728) | ($2,064) | $445 | ($128) | ($319) | $2,824 | $12,667 | $2,731 | $2,404 | $10,862 | $10,119 | $10,206 | $8,737 | ($1,070) | ($1,141) | ($909) | – | – | – | – |
| Interest income | – | ($679) | ($747) | ($834) | ($783) | $56 | ($105) | $119 | – | – | – | – | – | – | – | – | $35 | $27 | $92 | $128 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($598) | ($679) | ($747) | ($834) | ($1,029) | ($1,279) | ($929) | ($301) | ($311) | ($396) | ($388) | ($481) | ($650) | ($852) | ($1,005) | ($901) | ($1,004) | ($908) | ($685) | ($652) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $4,382 | $6,185 | $4,658 | $5,608 | $1,914 | $398 | ($15,587) | $6,198 | $5,151 | $5,500 | $6,353 | $7,157 | $1,072 | $2,527 | $1,025 | $769 | $608 | ($1,581) | ($9,041) | $1,819 | ($6,968) | ($3,859) | ($3,992) | ($1,189) | ($2,002) | ($1,864) | $1,549 | $2,093 | $1,826 | $1,648 | $1,415 | $276 | $494 | ($660) | ($651) | ($786) | ($500) | $468 | $711 | $456 | $447 |
| Income tax expense | ($1,092) | ($1,180) | ($1,201) | ($999) | ($596) | ($118) | $3,202 | ($1,431) | ($1,216) | ($2,295) | ($2,158) | ($2,631) | ($413) | $8,013 | ($16) | $85 | ($15) | $344 | $119 | ($207) | $765 | $41 | ($1,206) | $416 | $730 | $648 | ($621) | ($831) | ($725) | ($647) | ($561) | ($120) | ($200) | $251 | $236 | $280 | $176 | ($165) | ($250) | ($149) | ($184) |
| Net income | $3,290 | $5,005 | $3,457 | $4,609 | $1,318 | $280 | ($12,385) | $4,767 | $3,935 | $3,205 | $4,195 | $4,526 | $659 | $10,540 | $1,009 | $854 | $593 | ($1,237) | ($8,922) | $1,612 | ($6,203) | ($3,818) | ($5,198) | ($773) | ($1,272) | ($1,216) | $828 | $1,208 | $1,101 | $1,001 | $854 | $156 | $408 | ($409) | ($1,002) | ($506) | ($324) | $303 | $461 | $307 | $264 |
| Per share | |||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $5.01 | $7.66 | $5.33 | $7.17 | $2.06 | $0.44 | ($19.49) | $7.30 | $5.67 | $4.43 | $5.55 | $5.63 | $0.78 | $12.29 | $1.19 | $1.01 | $0.70 | ($1.50) | ($19.08) | $6.71 | ($31.57) | ($23.64) | ($40.92) | ($6.26) | ($10.32) | ($9.88) | $6.38 | $7.27 | $6.44 | $13.28 | $1.52 | $2.20 | $3.18 | ($10.05) | ($5.11) | ($3.66) | ($3.24) | $4.69 | $3.15 | $2.95 | $0.59 |
| Basic EPS (GAAP) | $5.04 | $7.72 | $5.39 | $7.21 | $2.07 | $0.44 | ($19.49) | $7.32 | $5.69 | $4.45 | $5.59 | $5.68 | $0.79 | $12.41 | $1.20 | $1.02 | $0.71 | ($1.50) | ($19.08) | $6.71 | ($31.57) | ($23.64) | ($40.92) | ($6.26) | ($10.32) | ($9.88) | $6.68 | $7.71 | $6.74 | $13.28 | $1.52 | $4.04 | $3.18 | ($10.05) | ($5.11) | ($3.66) | ($3.56) | $4.69 | $3.15 | $2.95 | $0.59 |
| Basic shares outstanding | 652 | 648 | 641 | 639 | 638 | 636 | 636 | 651 | 691 | 720 | 751 | 797 | 836 | 849 | 845 | 838 | 834 | 827 | 468 | 312 | 196 | 162 | 127 | 123 | 123 | 123 | 124 | 143 | 148 | 75 | 103 | 101 | 101 | 100 | 99 | 89 | 96 | 98 | 97 | 89 | 80 |
| Margins | |||||||||||||||||||||||||||||||||||||||||
| Gross margin | 29.9% | 22.8% | 26.9% | 26.7% | 22.1% | 7.1% | (25.6%) | 28.9% | 25.0% | 27.9% | 31.0% | 32.8% | 20.2% | 22.7% | 20.1% | 20.4% | 23.2% | 46.4% | 39.1% | 52.1% | – | – | – | – | – | – | – | 72.5% | – | – | 71.5% | 71.9% | 72.4% | 70.6% | 59.5% | 58.8% | 58.4% | 39.1% | 42.3% | 40.0% | 40.2% |
| Operating margin | 7.4% | 9.2% | 9.7% | 9.5% | 7.2% | 6.3% | (72.9%) | 14.1% | 11.8% | 14.5% | 17.6% | 19.2% | 5.5% | 9.0% | 5.9% | 5.6% | 7.0% | (1.2%) | (36.6%) | 15.9% | 0.3% | (12.1%) | (21.7%) | (5.5%) | (9.4%) | (11.5%) | 9.8% | 78.7% | 12.8% | 12.0% | 75.2% | 76.3% | 78.1% | 77.9% | (4.1%) | (6.2%) | (4.9%) | 4.9% | 8.4% | 7.2% | 7.6% |
| Net margin | 4.6% | 7.9% | 5.6% | 7.9% | 2.6% | 0.9% | (72.4%) | 10.1% | 8.9% | 7.8% | 10.6% | 11.1% | 1.6% | 27.9% | 2.8% | 2.4% | 1.9% | (4.4%) | (39.3%) | 8.4% | (35.4%) | (23.2%) | (34.1%) | (5.4%) | (9.2%) | (8.8%) | 4.9% | 8.1% | 7.5% | 7.1% | 6.3% | 1.3% | 3.3% | (3.4%) | (8.4%) | (4.7%) | (3.5%) | 3.5% | 5.7% | 4.4% | 5.0% |