
| 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 | $49,653 | $38,810 | $44,259 | $48,907 | $30,708 | $23,128 | $38,287 | $30,650 | $37,576 | $27,932 | $28,909 | $26,037 | $27,317 | $17,144 | $10,826 | $11,891 | $8,277 | $10,359 | $36,143 | $28,552 | $25,880 | $10,577 | $4,856 | $3,565 | $2,115 | $1,988 | $1,019 | $1,088 | $1,485 | $785 | $668 | $419 | $562 | $603 | $751 | $363 | $270 | $198 | $112 | $154 | $200 |
| Enterprise value | $59,548 | $48,702 | $53,650 | $58,674 | $43,098 | $36,503 | $47,399 | $37,841 | $41,507 | $31,947 | $32,957 | $29,301 | $30,075 | $22,532 | $24,297 | $16,894 | $14,852 | $22,259 | $40,541 | $32,137 | $30,822 | $14,035 | $8,732 | $8,273 | $5,272 | $3,215 | $1,744 | $2,059 | $2,027 | $1,203 | $1,758 | $1,477 | $1,069 | $1,100 | $1,119 | $560 | $499 | $376 | $302 | $1,041 | $1,104 |
| P/E (TTM) at period end | 21.21× | 14.05× | 5.02× | 4.26× | 33.23× | – | 15.85× | 9.85× | 9.28× | 12.24× | 7.25× | 7.17× | 12.13× | 5.50× | 5.18× | 36.70× | – | – | 6.91× | 5.23× | 7.21× | 5.87× | 7.81× | 38.96× | 3.75× | 5.86× | 71.23× | – | 15.45× | 10.80× | 11.17× | 15.58× | 15.43× | 7.19× | 7.61× | 3.83× | 6.52× | 6.48× | 6.34× | – | 5.77× |
| P/S (TTM) at period end | 0.40× | 0.30× | 0.31× | 0.28× | 0.27× | 0.36× | 0.35× | 0.26× | 0.40× | 0.37× | 0.33× | 0.20× | 0.20× | 0.12× | 0.09× | 0.14× | 0.12× | 0.09× | 0.38× | 0.31× | 0.31× | 0.19× | 0.13× | 0.13× | 0.14× | 0.14× | 0.13× | 0.20× | 0.26× | 0.16× | 0.22× | 0.23× | 0.46× | 0.49× | 0.74× | 0.31× | 0.29× | 0.26× | 0.18× | 0.08× | 0.08× |
| P/B at period end | 2.09× | 1.58× | 1.68× | 2.08× | 1.67× | 1.23× | 1.76× | 1.41× | 1.71× | 1.39× | 1.41× | 1.26× | 1.40× | 0.95× | 0.66× | 0.79× | 0.56× | 0.66× | 1.95× | 1.53× | 1.72× | 1.36× | 0.85× | 0.83× | 0.50× | 1.30× | 0.94× | 1.00× | 1.28× | 0.72× | 0.64× | 0.41× | 0.66× | 0.72× | 1.07× | 0.54× | 0.51× | 0.39× | 0.23× | 0.41× | 0.41× |
| EV / EBITDA (TTM) | 9.39× | 7.46× | 3.68× | 3.23× | 9.50× | 47.28× | 7.78× | 5.70× | 7.48× | 5.89× | 4.02× | 3.86× | 5.30× | 3.42× | 4.66× | 5.04× | 9.23× | 10.48× | 5.15× | 3.51× | 4.87× | 3.90× | 5.04× | 8.99× | 4.21× | 4.10× | 8.38× | 75.15× | 7.34× | 3.54× | 5.42× | 6.47× | 6.89× | 6.04× | 7.18× | 3.29× | 4.79× | – | – | – | – |
| EV / Sales (TTM) | 0.49× | 0.37× | 0.37× | 0.33× | 0.38× | 0.56× | 0.44× | 0.32× | 0.44× | 0.42× | 0.38× | 0.22× | 0.22× | 0.16× | 0.19× | 0.21× | 0.22× | 0.19× | 0.43× | 0.35× | 0.38× | 0.26× | 0.23× | 0.31× | 0.35× | 0.22× | 0.22× | 0.37× | 0.35× | 0.24× | 0.58× | 0.80× | 0.87× | 0.89× | 1.11× | 0.48× | 0.53× | 0.49× | 0.48× | 0.55× | 0.41× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 9.9% | 11.3% | 33.4% | 48.7% | 5.0% | (7.6%) | 11.1% | 14.4% | 18.4% | 11.4% | 19.4% | 17.6% | 11.6% | 17.3% | 12.7% | 2.2% | (13.5%) | (7.2%) | 28.3% | 29.4% | 23.8% | 23.1% | 10.8% | 2.1% | 13.4% | 22.2% | 1.3% | (4.4%) | 8.3% | 6.7% | 5.7% | 2.6% | 4.3% | 10.0% | 14.0% | 14.0% | 7.8% | 6.0% | 3.6% | (26.5%) | 7.2% |
| Return on invested capital | 7.1% | 8.9% | 25.8% | 36.5% | 5.8% | (2.7%) | 9.9% | 12.6% | 13.7% | 11.2% | 17.8% | 16.8% | 12.2% | 14.1% | 7.8% | 5.8% | 0.4% | – | 19.7% | 24.1% | 18.5% | 17.6% | 8.0% | 3.2% | 8.6% | 14.2% | 2.7% | (1.4%) | 7.9% | 8.5% | 5.6% | 3.8% | 3.0% | 6.4% | 7.5% | 10.0% | 6.4% | 5.0% | (8.4%) | (2.5%) | 4.9% |
| Dividend yield | 2.8% | 3.6% | 3.3% | 3.2% | 5.2% | 6.9% | 3.9% | 4.5% | 3.3% | 4.0% | 2.9% | 2.1% | 1.7% | 2.1% | 1.6% | 1.0% | 3.9% | 2.9% | 0.7% | 0.7% | 0.4% | 0.7% | 1.0% | 1.2% | 1.0% | 0.9% | 1.8% | – | 0.4% | 4.4% | 5.2% | 7.4% | 3.8% | 3.2% | 2.7% | 4.7% | 6.8% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | 1.65× | 1.53× | 1.56× | 1.38× | 1.26× | 1.71× | 1.44× | 1.65× | 1.74× | 2.02× | 2.13× | 1.66× | 1.47× | 1.38× | 1.26× | 1.54× | 1.40× | 1.52× | 1.24× | 1.22× | 1.13× | 1.16× | 1.25× | 1.18× | 0.87× | 1.24× | 1.15× | 1.29× | 1.32× | 1.01× | 1.33× | 1.16× | 1.54× | 1.75× | 1.72× | 2.11× | 2.03× | 2.15× | 1.71× | 0.97× | 1.39× |
| Debt / equity | 0.45× | 0.43× | 0.44× | 0.49× | 0.75× | 0.78× | 0.44× | 0.42× | 0.40× | 0.40× | 0.36× | 0.31× | 0.34× | 0.39× | 0.47× | 0.55× | 0.50× | 0.42× | 0.37× | 0.27× | 0.35× | 0.55× | 0.74× | 1.15× | 0.72× | 0.70× | 0.72× | 0.91× | 0.48× | 0.47× | 1.07× | 1.06× | 0.60× | 0.60× | 0.54× | 0.37× | 0.46× | 0.39× | 0.44× | 2.40× | 2.02× |
| Effective tax rate | 25.3% | 18.7% | 22.3% | 22.4% | 16.5% | 44.9% | 20.1% | 20.8% | (29.6%) | 24.0% | 31.3% | 32.0% | 31.5% | 34.3% | 36.9% | 38.4% | 9.6% | 292.0% | 32.0% | 33.3% | 32.1% | 33.4% | 37.0% | 38.9% | 37.0% | 35.8% | 29.2% | 43.1% | 36.3% | 36.1% | 37.1% | 37.1% | 46.6% | 36.1% | 32.6% | 35.0% | 30.0% | 11.0% | (36.9%) | 45.0% | 47.7% |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 309 | 322 | 353 | 396 | 407 | 407 | 414 | 428 | 444 | 464 | 500 | 530 | 548 | 556 | 569 | 568 | 541 | 524 | 579 | 632 | 588 | 552 | 488 | 436 | 255 | 242 | 227 | 224 | 210 | 176 | 175 | 160 | 171 | 170 | 163 | 152 | 119 | 144 | 144 | 144 | 94 |
| 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 | $153,327 | $122,687 | $129,881 | $144,766 | $176,383 | $113,977 | $64,912 | $108,324 | $117,033 | $93,980 | $75,659 | $87,804 | $130,844 | $138,074 | $138,393 | $125,987 | $82,233 | $68,144 | $119,114 | $95,327 | $91,832 | $82,161 | $54,618 | $37,969 | $26,976 | $14,988 | $14,671 | $7,961 | $5,539 | $5,756 | $4,991 | $3,020 | $1,837 | $1,222 | $1,235 | $1,012 | $1,169 | $941 | $771 | $628 | $1,880 | $2,662 |
| Cost of revenue | ($134,495) | ($117,255) | ($125,076) | ($131,834) | ($159,587) | ($110,848) | ($65,652) | ($103,546) | ($111,439) | ($89,475) | ($71,312) | ($80,689) | ($118,141) | ($127,316) | ($126,485) | ($115,719) | ($74,458) | ($65,270) | ($111,984) | ($85,661) | ($81,267) | ($74,599) | ($49,938) | ($35,243) | ($25,127) | ($13,684) | ($13,757) | ($7,685) | ($5,442) | ($5,426) | ($4,570) | ($2,618) | ($1,609) | ($1,067) | ($1,052) | ($741) | ($885) | ($837) | ($698) | ($652) | ($1,652) | ($2,338) |
| Gross profit | $18,832 | $5,432 | $4,805 | $12,932 | $16,796 | $3,129 | ($740) | $4,778 | $5,594 | $4,505 | $4,347 | $7,115 | $12,703 | $10,758 | $11,908 | $10,268 | $7,775 | $2,874 | $7,130 | $9,666 | $10,565 | $7,562 | $4,680 | $2,726 | $1,850 | $1,304 | $915 | $277 | $97 | $330 | $421 | $402 | $228 | $155 | $182 | $271 | $284 | $104 | $72 | ($24) | $228 | $324 |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($1,141) | ($1,042) | ($961) | ($998) | ($934) | ($865) | ($756) | ($868) | ($925) | ($829) | ($709) | ($710) | ($724) | ($758) | ($698) | ($571) | ($531) | ($572) | ($559) | ($638) | ($1,401) | ($1,229) | ($1,084) | ($993) | ($929) | ($165) | ($131) | ($68) | ($70) | ($54) | ($82) | ($78) | – | – | – | ($115) | ($114) | – | – | – | ($128) | ($128) |
| Total operating expenses | ($1,257) | ($2,251) | ($1,050) | ($1,074) | ($1,106) | ($999) | ($839) | ($942) | ($1,022) | ($942) | ($813) | ($757) | ($6,801) | ($6,801) | ($6,864) | ($6,588) | ($5,899) | ($2,791) | ($6,369) | ($3,036) | ($2,555) | ($2,103) | ($1,701) | ($1,504) | ($1,379) | ($303) | ($304) | ($208) | ($148) | ($119) | ($220) | ($213) | ($102) | ($80) | ($48) | ($152) | ($150) | ($34) | ($34) | ($33) | ($286) | ($194) |
| Total costs and expenses | ($135,752) | ($119,506) | ($126,126) | ($132,908) | ($160,693) | ($111,847) | ($66,491) | ($104,488) | ($112,461) | ($90,417) | ($72,125) | ($81,446) | ($124,942) | ($134,117) | ($133,349) | ($122,307) | ($80,357) | ($68,061) | ($118,353) | ($88,697) | ($83,822) | ($76,702) | ($51,639) | ($36,747) | ($26,505) | ($13,987) | ($14,060) | ($7,892) | ($5,591) | ($5,545) | ($4,790) | ($2,831) | ($1,712) | ($1,147) | ($1,101) | ($892) | ($1,034) | ($872) | ($732) | ($686) | ($1,938) | ($2,531) |
| Operating income | $17,575 | $3,181 | $3,755 | $11,858 | $15,690 | $2,130 | ($1,579) | $3,836 | $4,572 | $3,563 | $3,534 | $6,358 | $5,902 | $3,957 | $5,044 | $3,680 | $1,876 | $83 | $761 | $6,630 | $8,010 | $5,459 | $2,979 | $1,222 | $471 | $1,001 | $611 | $69 | ($51) | $211 | $201 | $189 | $126 | $76 | $134 | $119 | $134 | $70 | $39 | ($57) | ($58) | $130 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | – | $6,339 | $6,529 | $14,559 | $18,163 | $4,535 | $772 | $6,091 | $6,641 | $5,549 | $5,428 | $8,200 | $7,592 | $5,677 | $6,593 | $5,214 | $3,349 | $1,610 | $2,124 | $7,874 | $9,165 | $6,334 | $3,598 | $1,732 | $920 | $1,254 | $784 | $208 | $27 | $276 | $339 | $324 | $228 | $155 | $182 | $156 | $170 | $104 | – | – | – | – |
| Interest income | – | – | – | $293 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($568) | ($556) | ($556) | ($592) | ($562) | ($603) | ($563) | ($454) | ($470) | ($468) | ($446) | ($433) | ($397) | ($365) | ($314) | ($401) | ($484) | ($520) | ($451) | ($466) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $17,470 | $3,005 | $3,698 | $11,768 | $15,307 | $1,543 | ($2,010) | $3,486 | $4,232 | $3,207 | $3,182 | $5,971 | $5,552 | $3,976 | $4,740 | $3,322 | $1,498 | ($449) | $527 | $6,436 | $8,189 | $5,287 | $2,710 | $987 | $150 | $895 | $528 | $20 | ($83) | $176 | $114 | $95 | $43 | $68 | $131 | $146 | $146 | $59 | $34 | $23 | ($182) | $66 |
| Income tax expense | ($3,917) | ($759) | ($692) | ($2,619) | ($3,428) | ($255) | $903 | ($702) | ($879) | $949 | ($765) | ($1,870) | ($1,777) | ($1,254) | ($1,626) | ($1,226) | ($575) | $43 | ($1,539) | ($2,059) | ($2,726) | ($1,697) | ($906) | ($365) | ($58) | ($331) | ($189) | ($6) | $36 | ($64) | ($41) | ($35) | ($16) | ($32) | ($48) | ($48) | ($51) | ($18) | ($4) | $9 | $82 | ($32) |
| Net income | $12,945 | $2,348 | $2,770 | $8,835 | $11,528 | $930 | ($1,421) | $2,422 | $3,122 | $4,065 | $2,289 | $3,990 | $3,630 | $2,720 | $2,083 | $2,090 | $324 | ($1,982) | ($1,131) | $5,234 | $5,462 | $3,589 | $1,803 | $622 | $92 | $564 | $339 | $14 | ($47) | $96 | $73 | $60 | $27 | $36 | $84 | $99 | $95 | $42 | $31 | $18 | ($100) | $35 |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $44.47 | $7.57 | $8.58 | $24.92 | $29.04 | $2.27 | ($3.50) | $5.84 | $7.29 | $9.16 | $4.94 | $7.99 | $6.85 | $4.97 | $3.75 | $3.68 | $0.57 | ($3.67) | ($2.16) | $8.88 | $8.64 | $6.10 | $3.27 | $1.27 | $0.21 | $2.21 | $1.40 | $0.0625 | ($0.21) | $0.44 | $0.41 | $0.34 | $0.17 | $0.21 | $0.49 | $0.57 | $0.58 | $0.24 | $0.14 | $0.06 | ($1.00) | $0.27 |
| Basic EPS (GAAP) | $44.48 | $7.57 | $8.58 | $24.93 | $29.05 | $2.27 | ($3.50) | $5.84 | $7.30 | $9.17 | $4.94 | $8.00 | $6.88 | $4.99 | $3.77 | $3.69 | $0.57 | ($3.67) | ($2.16) | $9.24 | $8.94 | $6.51 | $3.51 | $1.34 | $0.21 | $2.32 | $1.45 | $0.0625 | ($0.21) | $0.44 | $0.35 | $0.34 | $0.17 | $0.21 | $0.49 | $0.57 | $0.58 | $0.25 | $0.21 | $0.12 | ($0.70) | $0.27 |
| Basic shares outstanding | 295 | 309 | 322 | 353 | 395 | 407 | 407 | 413 | 426 | 442 | 461 | 497 | 526 | 542 | 550 | 563 | 563 | 541 | 524 | 565 | 611 | 549 | 510 | 459 | 422 | 243 | 234 | 224 | 224 | 207 | 176 | 175 | 160 | 171 | 170 | 163 | 152 | 115 | 144 | 144 | 144 | 94 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | 12.3% | 4.4% | 3.7% | 8.9% | 9.5% | 2.7% | (1.1%) | 4.4% | 4.8% | 4.8% | 5.7% | 8.1% | 9.7% | 7.8% | 8.6% | 8.2% | 9.5% | 4.2% | 6.0% | 10.1% | 11.5% | 9.2% | 8.6% | 7.2% | 6.9% | 8.7% | 6.2% | 3.5% | 1.7% | 5.7% | 8.4% | 13.3% | 12.4% | 12.7% | 14.8% | 26.8% | 24.3% | 11.1% | 9.4% | (3.8%) | 12.1% | 12.2% |
| Operating margin | 11.5% | 2.6% | 2.9% | 8.2% | 8.9% | 1.9% | (2.4%) | 3.5% | 3.9% | 3.8% | 4.7% | 7.2% | 4.5% | 2.9% | 3.6% | 2.9% | 2.3% | 0.1% | 0.6% | 7.0% | 8.7% | 6.6% | 5.5% | 3.2% | 1.7% | 6.7% | 4.2% | 0.9% | (0.9%) | 3.7% | 4.0% | 6.3% | 6.9% | 6.2% | 10.9% | 11.8% | 11.5% | 7.4% | 5.0% | (9.1%) | (3.1%) | 4.9% |
| Net margin | 8.4% | 1.9% | 2.1% | 6.1% | 6.5% | 0.8% | (2.2%) | 2.2% | 2.7% | 4.3% | 3.0% | 4.5% | 2.8% | 2.0% | 1.5% | 1.7% | 0.4% | (2.9%) | (0.9%) | 5.5% | 5.9% | 4.4% | 3.3% | 1.6% | 0.3% | 3.8% | 2.3% | 0.2% | (0.9%) | 1.7% | 1.5% | 2.0% | 1.5% | 3.0% | 6.8% | 9.8% | 8.1% | 4.4% | 4.0% | 2.8% | (5.3%) | 1.3% |