
| 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 | $46,161 | $45,410 | $47,563 | $46,986 | $47,211 | $31,435 | $42,619 | $32,722 | $49,469 | $54,227 | $76,658 | $79,980 | $75,256 | $59,558 | $41,746 | $6,965 | $3,590 | $3,660 | $133,367 | $165,388 | $156,807 | $151,446 | $153,088 | $136,502 | $184,165 | $227,389 | $166,556 | $103,887 | $77,402 | $45,131 | $38,803 | $27,457 | $24,265 | $21,531 | $18,411 | $14,065 | $15,249 | $9,846 | $8,561 | $8,916 | $6,923 |
| Enterprise value | $54,101 | $53,059 | $62,829 | $75,167 | $78,132 | $66,979 | $63,635 | $55,663 | $68,898 | $71,527 | $94,698 | $98,570 | $115,319 | $107,574 | ($170,173) | $139,788 | $121,651 | $149,650 | $266,203 | $292,772 | ($133,473) | ($146,680) | ($102,097) | ($56,690) | $26,657 | $107,869 | $103,314 | $52,164 | $99,644 | $66,985 | $54,833 | $42,632 | $40,154 | $35,095 | $30,333 | $24,450 | $21,110 | $11,520 | $8,993 | $9,836 | $7,654 |
| P/E (TTM) at period end | 14.91× | – | 13.16× | 4.61× | 4.57× | – | 12.81× | – | – | – | 34.91× | 10.62× | 8.28× | 17.32× | 2.11× | 3.40× | – | – | 21.51× | 11.77× | 14.97× | 15.17× | 18.90× | 23.27× | 33.49× | 34.25× | 26.92× | 24.26× | 20.86× | 15.58× | 15.46× | 12.62× | 12.52× | 12.99× | 11.86× | 9.75× | 11.15× | 8.09× | 9.06× | 13.58× | 18.53× |
| P/S (TTM) at period end | 1.72× | 1.67× | 1.70× | 1.57× | 0.91× | 0.72× | 0.86× | 0.69× | 1.00× | 1.04× | 1.31× | 1.24× | 1.09× | 0.84× | 0.64× | 0.10× | 0.05× | – | 1.63× | 1.46× | 1.44× | 1.55× | 1.93× | 2.05× | 2.98× | 4.04× | 3.66× | 3.15× | 2.61× | 1.75× | 2.98× | 2.33× | 1.30× | 1.26× | 1.17× | 0.95× | 1.12× | 0.75× | 0.77× | 1.02× | 1.23× |
| P/B at period end | 1.12× | 1.07× | 1.05× | 1.15× | 0.72× | 0.47× | 0.65× | 0.58× | 0.76× | 0.71× | 0.86× | 0.75× | 0.75× | 0.61× | 0.41× | 0.08× | 0.05× | 0.07× | 1.39× | 1.63× | 1.81× | 1.88× | 2.19× | 2.34× | 3.53× | 4.79× | 5.00× | 3.45× | 3.22× | 2.05× | 1.96× | 1.67× | 1.59× | 1.68× | 1.61× | 1.42× | 1.81× | 1.41× | 1.49× | 1.83× | 1.87× |
| EV / EBITDA (TTM) | 7.07× | 7.26× | 8.66× | 8.80× | 3.99× | – | 5.43× | 8.03× | 10.59× | 13.56× | 10.30× | 5.91× | 7.11× | 8.57× | (17.13×) | 4.24× | – | – | 12.07× | 12.17× | (7.67×) | (8.69×) | (7.42×) | (5.86×) | 2.78× | 9.57× | 9.81× | 7.22× | 16.08× | 13.78× | 13.05× | 12.06× | 3.77× | 3.50× | – | – | – | – | – | – | – |
| EV / Sales (TTM) | 2.02× | 1.95× | 2.25× | 2.51× | 1.50× | 1.53× | 1.28× | 1.17× | 1.39× | 1.37× | 1.62× | 1.53× | 1.67× | 1.51× | (2.61×) | 1.92× | 1.61× | – | 3.25× | 2.58× | (1.23×) | (1.50×) | (1.29×) | (0.85×) | 0.43× | 1.91× | 2.27× | 1.58× | 3.36× | 2.60× | 4.21× | 3.62× | 2.15× | 2.05× | 1.92× | 1.64× | 1.56× | 0.87× | 0.81× | 1.13× | 1.36× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 7.5% | (3.4%) | 8.0% | 24.9% | 15.7% | (9.0%) | 5.1% | (0.0%) | (9.3%) | (1.1%) | 2.4% | 7.0% | 9.0% | 3.5% | 19.5% | 2.4% | (17.5%) | (189.1%) | 6.5% | 13.8% | 12.1% | 12.4% | 11.6% | 10.1% | 10.5% | 14.0% | 18.6% | 14.2% | 15.5% | 13.1% | 12.7% | 13.2% | 12.7% | 13.0% | 13.5% | 14.6% | 16.3% | 17.4% | 16.4% | 13.5% | 10.1% |
| Return on invested capital | 6.8% | 5.2% | 5.4% | 5.2% | 12.7% | (4.6%) | 5.2% | 0.7% | – | 1.1% | 2.6% | 6.4% | 7.9% | 3.6% | – | 8.3% | (5.5%) | (39.5%) | 3.2% | 6.0% | 5.7% | 6.0% | 5.6% | 4.6% | 4.9% | 6.9% | 9.8% | 7.2% | 7.6% | 6.4% | 6.6% | 6.4% | 24.1% | 27.8% | – | – | – | – | – | – | – |
| Dividend yield | 2.1% | 2.2% | 2.1% | 2.1% | 2.3% | 3.5% | 2.6% | 3.5% | 2.4% | 2.5% | 1.3% | 0.9% | 0.4% | – | 0.8% | – | – | 44.5% | 1.4% | 1.0% | 0.9% | 0.5% | 0.4% | 0.3% | 0.4% | 0.3% | 0.4% | 0.3% | 0.3% | 0.4% | 0.4% | 0.5% | 0.5% | 0.5% | 0.6% | 0.7% | 0.5% | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | – | – | – | – | – | 6.13× | 5.82× | 4.97× | 5.54× | 4.85× | 4.35× | 4.40× | 3.93× | 3.22× | 0.69× | 3.01× | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Debt / equity | 0.22× | 0.21× | 0.24× | 0.70× | 0.46× | 0.57× | 0.54× | 0.61× | 0.49× | 0.41× | 0.33× | 0.29× | 0.41× | 0.49× | 0.74× | 1.25× | 2.03× | 3.67× | 1.84× | 1.46× | 1.25× | 1.18× | 1.12× | 1.23× | 1.26× | 1.15× | 0.99× | 1.06× | 1.05× | 1.07× | 0.91× | 1.07× | 1.03× | 1.05× | 1.04× | 1.05× | 0.70× | 0.24× | 0.07× | 0.19× | 0.20× |
| Effective tax rate | 20.2% | 30.2% | 4.4% | 23.4% | 18.3% | 20.0% | 22.1% | 59.9% | 513.4% | (250.0%) | 32.3% | 27.9% | 3.8% | (27.9%) | 2193.6% | 34.5% | 10.4% | 9.1% | 1.4% | 30.1% | 28.0% | 29.7% | 29.9% | 24.5% | 28.7% | 29.6% | 30.1% | 28.4% | 28.7% | 27.5% | 27.6% | 26.3% | 26.3% | 24.0% | – | – | – | – | – | – | – |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 570 | 657 | 725 | 788 | 865 | 869 | 890 | 910 | 931 | 1,091 | 1,334 | 1,448 | 1,481 | 1,687 | 1,799 | 137 | 135 | 132 | 130 | 131 | 131 | 132 | 132 | 135 | 132 | 132 | 132 | 117 | 116 | 100 | 100 | 101 | 100 | 100 | 102 | 98 | 97 | 97 | 96 | 98 | 88 |
| 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 | $26,636 | $26,775 | $27,251 | $27,938 | $29,996 | $52,157 | $43,736 | $49,746 | $47,389 | $49,520 | $52,367 | $58,327 | $64,406 | $68,874 | $71,214 | $65,105 | $72,829 | $75,447 | ($6,840) | $81,807 | $113,387 | $108,905 | $97,666 | $79,421 | $66,460 | $61,766 | $56,338 | $45,501 | $32,968 | $29,640 | $25,812 | $13,020 | $11,774 | $18,676 | $17,084 | $15,792 | $14,872 | $13,566 | $13,211 | $11,145 | $8,720 | $5,639 |
| Cost of revenue | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ($91,700) | ($93,692) | ($82,821) | ($67,514) | ($58,478) | – | ($46,000) | ($35,502) | ($26,614) | ($24,351) | – | ($25,220) | ($21,704) | ($8,499) | ($7,444) | – | – | – | – | – | – | – |
| Gross profit | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | $21,687 | $15,213 | $14,845 | $11,907 | $7,982 | – | $10,338 | $9,999 | $6,354 | $5,289 | – | ($12,201) | ($9,930) | $10,177 | $9,640 | – | – | – | – | – | – | – |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($5,144) | ($5,053) | ($5,529) | ($5,399) | ($6,159) | ($8,728) | ($8,396) | ($8,537) | ($9,302) | ($9,107) | ($10,989) | ($12,686) | ($13,138) | ($13,564) | ($13,013) | ($8,458) | ($10,163) | ($6,818) | ($20,833) | ($15,644) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Total operating expenses | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ($315) | ($600) | ($77) | $21 | – | $15,667 | $12,882 | – | – | – | – | – | – | – | – | – |
| Total costs and expenses | ($22,503) | ($22,581) | ($23,535) | ($24,526) | ($25,318) | ($37,116) | ($49,572) | ($43,042) | ($45,823) | ($46,886) | ($51,181) | ($53,765) | ($52,187) | ($57,364) | ($66,004) | ($62,545) | ($45,840) | ($89,754) | ($99,688) | ($72,864) | ($91,700) | ($93,692) | ($82,821) | ($67,514) | ($58,478) | ($53,627) | ($46,315) | ($36,102) | ($26,691) | ($24,330) | ($21,756) | ($9,554) | ($8,822) | ($8,499) | ($7,444) | – | – | – | – | – | – | – |
| Operating income | $4,133 | $4,194 | $3,716 | $3,412 | $4,678 | $15,041 | ($5,836) | $6,704 | $1,566 | $2,634 | $1,186 | $4,562 | $12,219 | $11,510 | $5,210 | $2,560 | $26,989 | ($14,307) | ($106,528) | $8,943 | $21,687 | $15,213 | $14,845 | $11,907 | $7,982 | $8,139 | $10,023 | $9,399 | $6,277 | $5,310 | $4,056 | $3,466 | $2,952 | $10,177 | $9,640 | – | – | – | – | – | – | – |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | $7,627 | $7,649 | $7,313 | $7,253 | $8,539 | $19,583 | ($1,716) | $11,710 | $6,928 | $6,508 | $5,276 | $9,191 | $16,667 | $16,223 | $12,559 | $9,932 | $32,966 | ($2,233) | ($93,653) | $22,053 | $24,061 | $17,413 | $16,880 | $13,768 | $9,668 | $9,576 | $11,266 | $10,529 | $7,229 | $6,195 | $4,862 | $4,200 | $3,534 | $10,649 | $10,032 | – | – | – | – | – | – | – |
| Interest income | – | $192 | $261 | $321 | $291 | $1,740 | $1,989 | $2,030 | $1,883 | $1,661 | – | – | – | – | – | – | – | – | – | – | $1,253 | $1,177 | $1,096 | $1,047 | $1,034 | $1,141 | $889 | $1,009 | $820 | $766 | $678 | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($404) | ($396) | ($462) | ($516) | ($603) | ($1,305) | ($1,457) | ($1,417) | ($1,309) | ($1,168) | ($1,260) | ($1,281) | ($1,718) | ($2,142) | ($2,319) | ($2,444) | ($6,742) | ($14,358) | ($15,713) | ($3,483) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ($226) | ($88) | ($71) | ($43) |
| Pre-tax income | $3,626 | $3,879 | $3,870 | $2,867 | $3,772 | $13,347 | ($7,293) | $5,287 | $257 | $1,466 | ($74) | $3,281 | $10,501 | $9,368 | $2,891 | ($901) | $20,247 | ($14,307) | ($106,528) | $8,943 | $21,687 | $15,213 | $14,845 | $11,907 | $7,982 | $8,139 | $10,023 | $9,399 | $6,277 | $5,310 | $4,056 | $3,466 | $2,952 | $2,601 | $2,137 | – | – | – | – | – | – | – |
| Income tax expense | ($660) | ($782) | ($1,170) | ($126) | ($882) | ($2,441) | $1,460 | ($1,166) | ($154) | ($7,526) | ($185) | ($1,059) | ($2,927) | ($360) | $808 | $19,764 | ($6,993) | $1,489 | $9,683 | ($125) | ($6,537) | ($4,258) | ($4,407) | ($3,556) | ($1,956) | ($2,339) | ($2,971) | ($2,833) | ($1,785) | ($1,525) | ($1,116) | ($956) | ($776) | ($683) | ($512) | ($470) | ($369) | ($338) | ($223) | ($153) | ($108) | $11 |
| Net income | $2,965 | $3,096 | ($1,404) | $3,643 | $10,227 | $10,367 | ($5,944) | $3,348 | ($6) | ($6,084) | ($849) | $2,196 | $7,529 | $9,085 | $3,438 | $20,622 | $10,058 | ($10,949) | ($99,289) | $6,200 | $14,048 | $10,477 | $9,983 | $8,099 | $5,866 | $5,499 | $6,639 | $6,186 | $4,282 | $3,711 | $2,897 | $2,510 | $2,176 | $1,939 | $1,657 | $1,553 | $1,442 | $1,368 | $1,217 | $944 | $657 | $374 |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $5.47 | $5.43 | ($2.17) | $4.98 | $12.94 | $11.95 | ($6.88) | $3.74 | ($0.01) | ($6.54) | ($0.78) | $1.65 | $5.20 | $6.13 | $2.04 | $11.01 | $14.98 | ($80.91) | ($753.82) | $47.80 | $107.20 | $79.80 | $74.60 | $61.40 | $43.40 | $40.40 | $50.40 | $46.80 | $36.60 | $32.00 | $29.01 | $25.13 | $21.71 | $19.40 | $16.60 | $15.20 | $14.60 | $14.00 | $12.40 | $9.80 | $6.60 | $4.20 |
| Basic EPS (GAAP) | $5.51 | $5.48 | ($2.19) | $5.02 | $13.10 | $12.10 | ($6.88) | $3.79 | ($0.01) | ($6.54) | ($0.78) | $1.69 | $5.27 | $6.16 | $2.04 | $11.01 | $14.98 | ($80.91) | ($753.82) | $48.00 | $107.80 | $80.60 | $75.40 | $62.00 | $44.00 | $41.00 | $51.00 | $47.40 | $37.40 | $32.67 | $29.12 | $25.13 | $21.71 | $19.60 | $16.60 | $15.40 | $14.60 | $14.00 | $12.40 | $9.80 | $6.60 | $4.20 |
| Basic shares outstanding | 540 | 565 | 651 | 720 | 779 | 854 | 869 | 877 | 898 | 931 | 1,091 | 1,300 | 1,428 | 1,474 | 1,687 | 1,799 | 137 | 135 | 132 | 129 | 130 | 130 | 130 | 130 | 133 | 131 | 130 | 131 | 114 | 113 | 99 | 100 | 100 | 99 | 100 | 100 | 98 | 97 | 97 | 96 | 98 | 88 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | 19.1% | 14.0% | 15.2% | 15.0% | 12.0% | – | 18.3% | 22.0% | 19.3% | 17.8% | – | (93.7%) | (84.3%) | 54.5% | 56.4% | – | – | – | – | – | – | – |
| Operating margin | 15.5% | 15.7% | 13.6% | 12.2% | 15.6% | 28.8% | (13.3%) | 13.5% | 3.3% | 5.3% | 2.3% | 7.8% | 19.0% | 16.7% | 7.3% | 3.9% | 37.1% | (19.0%) | 1557.4% | 10.9% | 19.1% | 14.0% | 15.2% | 15.0% | 12.0% | 13.2% | 17.8% | 20.7% | 19.0% | 17.9% | 15.7% | 26.6% | 25.1% | 54.5% | 56.4% | – | – | – | – | – | – | – |
| Net margin | 11.1% | 11.6% | (5.2%) | 13.0% | 34.1% | 19.9% | (13.6%) | 6.7% | (0.0%) | (12.3%) | (1.6%) | 3.8% | 11.7% | 13.2% | 4.8% | 31.7% | 13.8% | (14.5%) | 1451.6% | 7.6% | 12.4% | 9.6% | 10.2% | 10.2% | 8.8% | 8.9% | 11.8% | 13.6% | 13.0% | 12.5% | 11.2% | 19.3% | 18.5% | 10.4% | 9.7% | 9.8% | 9.7% | 10.1% | 9.2% | 8.5% | 7.5% | 6.6% |