
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valuation | ||||||||||||||||||||||||||||||||||
| Market cap | $54,469 | $51,051 | $36,631 | $35,962 | $33,727 | $31,514 | $32,237 | $23,688 | $37,573 | $27,295 | $24,048 | $30,306 | $25,328 | $19,659 | $14,272 | $17,225 | $16,210 | $17,890 | $30,941 | $41,182 | $35,778 | $35,976 | $30,265 | $26,156 | $24,271 | $32,409 | $19,253 | $32,040 | $39,277 | $25,942 | $18,483 | $10,688 | $13,275 | $10,591 |
| Enterprise value | $56,373 | $53,820 | $38,567 | $38,892 | $36,879 | $32,221 | $34,270 | $26,613 | $41,362 | $28,918 | $26,555 | $32,249 | $28,461 | $22,574 | $18,141 | $19,320 | $18,481 | $14,260 | $33,101 | $42,971 | $37,295 | $36,763 | $33,160 | $27,719 | $26,021 | $33,687 | $19,428 | $31,051 | $40,066 | $25,934 | $19,711 | $11,557 | $14,125 | – |
| P/E (TTM) at period end | 5.36× | 11.22× | – | – | 22.48× | 5.77× | 6.89× | 11.77× | 10.93× | 16.13× | 11.70× | 11.04× | 11.19× | 8.53× | 18.14× | 18.91× | 18.98× | – | 6.67× | 8.25× | 20.27× | 11.31× | 11.19× | 23.06× | 20.96× | 14.66× | 7.08× | 9.73× | 12.65× | 12.50× | 9.71× | 22.08× | 10.20× | – |
| P/S (TTM) at period end | 0.80× | 0.80× | 0.64× | 0.70× | 0.67× | 0.75× | 0.78× | 0.59× | 0.95× | 0.73× | 0.67× | 0.86× | 0.73× | 0.59× | 0.44× | 0.55× | 0.51× | 0.61× | 0.84× | 1.15× | 1.01× | 1.06× | 0.94× | 0.88× | 0.84× | 1.11× | 0.71× | 1.24× | 1.57× | 1.07× | 0.80× | 0.50× | 0.63× | 0.52× |
| P/B at period end | 1.78× | 2.38× | 2.06× | 2.06× | 1.35× | 1.04× | 1.24× | 1.11× | 1.67× | 1.33× | 1.20× | 1.36× | 1.18× | 0.96× | 0.78× | 0.93× | 0.97× | 1.42× | 1.42× | 1.89× | 1.77× | 1.65× | 1.47× | 1.50× | 1.41× | 1.86× | 1.16× | 1.86× | 2.52× | 1.93× | 1.46× | 1.27× | 1.29× | 1.47× |
| EV / EBITDA (TTM) | 4.53× | 8.01× | 52.47× | – | 4.68× | 4.13× | 5.34× | 7.67× | 7.71× | 8.43× | 6.73× | 6.55× | 6.16× | 5.55× | 11.50× | 12.38× | 15.97× | – | 5.18× | 6.15× | 18.45× | 8.02× | 9.29× | 18.75× | 20.95× | 11.23× | 4.99× | 6.57× | 9.08× | 9.79× | 0.95× | 0.63× | 0.80× | – |
| EV / Sales (TTM) | 0.83× | 0.84× | 0.68× | 0.76× | 0.73× | 0.77× | 0.82× | 0.67× | 1.05× | 0.77× | 0.74× | 0.92× | 0.82× | 0.68× | 0.56× | 0.62× | 0.58× | 0.49× | 0.90× | 1.20× | 1.05× | 1.08× | 1.03× | 0.94× | 0.90× | 1.16× | 0.72× | 1.20× | 1.61× | 1.07× | 0.86× | 0.54× | 0.67× | – |
| Returns | ||||||||||||||||||||||||||||||||||
| Return on equity | 33.2% | 21.2% | (1.8%) | (8.0%) | 6.0% | 18.1% | 18.0% | 9.4% | 15.2% | 8.2% | 10.3% | 12.3% | 10.5% | 11.2% | 4.3% | 4.9% | 5.1% | (13.3%) | 21.2% | 22.9% | 8.7% | 14.6% | 13.2% | 6.5% | 6.7% | 12.7% | 16.4% | 19.1% | 19.9% | 15.4% | 15.0% | 5.7% | 12.6% | (11.5%) |
| Return on invested capital | 24.9% | 17.1% | 0.1% | (4.5%) | 16.9% | 15.1% | 14.2% | 8.9% | 13.5% | 8.0% | 9.6% | 11.5% | 10.6% | 9.9% | 4.6% | 5.1% | 3.9% | (9.4%) | 17.1% | 19.2% | 7.0% | 12.5% | 10.8% | 7.0% | 6.1% | 11.0% | 14.4% | 17.7% | 18.2% | 13.9% | 114.9% | 195.9% | 149.1% | 83.3% |
| Dividend yield | 1.9% | 1.9% | 2.5% | 2.6% | 2.6% | 2.1% | 2.0% | 2.6% | 1.4% | 1.8% | 2.0% | 1.6% | 1.4% | 2.7% | 3.0% | 2.5% | 3.3% | 5.0% | 2.9% | 2.1% | 2.3% | 2.1% | 2.1% | 2.2% | 2.2% | 1.5% | 2.4% | 1.4% | 0.8% | 1.5% | 1.9% | 3.0% | 2.7% | 1.9% |
| Financial health | ||||||||||||||||||||||||||||||||||
| Current ratio | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | 1.49× | 2.13× | 0.95× | 638.50× | 20.63× | 215.53× | 2189.00× | 24.20× | 27.08× | 26.74× | 9.93× | 14.80× | 19.43× | 28.16× | – | – | – | – |
| Debt / equity | 0.26× | 0.38× | 0.45× | 0.46× | 0.32× | 0.26× | 0.26× | 0.30× | 0.28× | 0.31× | 0.26× | 0.23× | 0.29× | 0.31× | 0.34× | 0.32× | 0.35× | 0.45× | 0.26× | 0.21× | 0.26× | 0.24× | 0.25× | 0.24× | 0.23× | 0.19× | 0.17× | 0.10× | 0.11× | 0.10× | 0.10× | 0.10× | 0.08× | – |
| Effective tax rate | 22.0% | 20.2% | 38.8% | 26.7% | 20.0% | 20.2% | 20.5% | 17.8% | 21.9% | 30.6% | 33.9% | 32.7% | 32.9% | 30.2% | 17.9% | 17.2% | 33.0% | 44.5% | 30.3% | 30.4% | 15.5% | 26.8% | 23.7% | 4.2% | 5.7% | 26.1% | 29.4% | 30.0% | 29.9% | 23.2% | 23.1% | (112.3%) | 5.4% | 64.9% |
| Share count | ||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 267 | 268 | 262 | 271 | 299 | 316 | 334 | 353 | 368 | 377 | 407 | 438 | 470 | 493 | 523 | 542 | 541 | 548 | 598 | 637 | 667 | 700 | 706 | 710 | 723 | 749 | 804 | 837 | 873 | 897 | 899 | 900 | 900 | 721 |
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue and gross profit | |||||||||||||||||||||||||||||||||||
| Revenue | $70,137 | $67,685 | $64,106 | $57,094 | $51,411 | $50,601 | $41,909 | $41,541 | $39,815 | $39,407 | $37,399 | $35,653 | $35,239 | $34,507 | $33,315 | $32,654 | $31,400 | $32,013 | $29,394 | $36,769 | $35,796 | $35,383 | $33,936 | $32,149 | $29,579 | $28,865 | $29,134 | $26,959 | $25,879 | $24,949 | $24,299 | $23,008 | $21,464 | $20,946 | $20,228 |
| Cost of revenue | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ($4,023) | ($4,270) | ($4,179) | ($4,018) | ($3,619) | ($3,697) | ($3,534) | ($3,404) | ($3,190) | ($2,578) | ($2,415) | ($2,415) | ($2,381) | ($2,143) | ($3,198) | ($3,279) | ($3,154) |
| Gross profit | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | $25,371 | $32,499 | $31,617 | $31,365 | $30,317 | $28,452 | $26,045 | $25,461 | $25,944 | $24,381 | $23,464 | $22,534 | $21,918 | $20,865 | $18,266 | $17,667 | $17,074 |
| Operating expenses | |||||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | – | $30 | $37 | ($9) | ($116) | $644 | $51 | ($114) | ($468) | $217 | ($4,939) | ($4,081) | ($4,341) | ($4,387) | ($4,118) | ($3,468) | ($3,542) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Total operating expenses | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ($28,396) | ($25,846) | ($24,439) | ($29,277) | ($25,731) | ($24,881) | ($24,505) | ($24,113) | ($22,897) | ($20,474) | ($18,719) | ($18,100) | ($19,249) | ($72) | ($59) | ($82) | – |
| Total costs and expenses | ($53,473) | ($55,733) | ($57,945) | ($57,063) | ($52,906) | ($43,805) | ($34,789) | ($35,771) | ($36,855) | ($34,523) | ($34,350) | ($32,079) | ($30,680) | ($30,253) | ($29,636) | ($31,328) | ($29,933) | ($30,765) | ($32,419) | ($30,116) | ($28,618) | ($33,295) | ($29,350) | ($28,578) | ($28,039) | ($27,517) | ($26,087) | ($23,052) | ($21,134) | ($20,515) | ($21,630) | ($2,215) | ($3,257) | ($3,361) | ($3,154) |
| Operating income | $16,664 | $11,952 | $6,161 | $31 | ($1,495) | $6,796 | $7,120 | $5,770 | $2,960 | $4,884 | $3,049 | $3,574 | $4,559 | $4,254 | $3,679 | $1,326 | $1,467 | $1,248 | ($3,025) | $6,653 | $7,178 | $2,088 | $4,586 | $3,571 | $1,540 | $1,348 | $3,047 | $3,907 | $4,745 | $4,434 | $2,669 | $20,793 | $18,207 | $17,585 | $17,074 |
| Earnings | |||||||||||||||||||||||||||||||||||
| EBITDA | $17,074 | $12,434 | $6,716 | $735 | ($648) | $7,882 | $7,806 | $6,417 | $3,471 | $5,367 | $3,431 | $3,945 | $4,925 | $4,622 | $4,067 | $1,578 | $1,561 | $1,157 | ($3,401) | $6,396 | $6,990 | $2,021 | $4,582 | $3,568 | $1,478 | $1,242 | $3,000 | $3,890 | $4,723 | $4,412 | $2,650 | $20,790 | $18,259 | $17,611 | $17,186 |
| Interest income | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($393) | ($399) | ($400) | ($379) | ($335) | ($330) | ($318) | ($327) | ($332) | ($335) | ($295) | ($292) | ($322) | ($367) | ($373) | ($367) | ($367) | ($392) | ($351) | ($333) | ($357) | ($330) | ($308) | ($275) | ($278) | ($129) | ($229) | ($129) | ($118) | ($100) | ($95) | ($72) | ($59) | ($82) | – |
| Pre-tax income | $16,984 | $13,156 | $5,761 | ($348) | ($1,830) | $6,466 | $6,802 | $5,443 | $2,628 | $4,549 | $2,754 | $3,282 | $4,236 | $3,396 | $3,306 | $959 | $1,100 | $1,248 | ($3,025) | $6,653 | $7,178 | $2,088 | $4,586 | $3,571 | $1,540 | $1,285 | $3,047 | $3,907 | $4,745 | $4,434 | $2,669 | $2,477 | $228 | $1,377 | ($1,426) |
| Income tax expense | ($3,684) | ($2,890) | ($1,162) | $135 | $488 | ($1,292) | ($1,373) | ($1,116) | ($468) | ($995) | ($842) | ($1,111) | ($1,386) | ($1,116) | ($1,000) | ($172) | ($189) | ($412) | $1,346 | ($2,017) | ($2,185) | ($323) | ($1,230) | ($846) | ($65) | ($73) | ($795) | ($1,148) | ($1,422) | ($1,324) | ($619) | ($573) | $256 | ($75) | $926 |
| Net income | $13,306 | $10,282 | $4,667 | ($188) | ($1,289) | $1,614 | $5,576 | $4,847 | $2,160 | $3,554 | $1,808 | $2,171 | $2,850 | $2,280 | $2,306 | $787 | $928 | $854 | ($1,679) | $4,636 | $4,993 | $1,765 | $3,181 | $2,705 | $1,134 | $1,158 | $2,211 | $2,720 | $3,294 | $3,105 | $2,075 | $1,904 | $484 | $1,302 | ($826) |
| Per share | |||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $50.08 | $38.06 | $16.99 | ($1.20) | ($5.14) | $5.01 | $17.31 | $14.03 | $5.70 | $9.35 | $4.48 | $5.05 | $6.27 | $4.81 | $4.68 | $1.50 | $1.68 | $1.64 | ($3.06) | $7.76 | $7.84 | $2.64 | $4.54 | $3.83 | $1.60 | $1.60 | $2.95 | $3.38 | $3.94 | $3.56 | $2.32 | $2.12 | $0.54 | $1.50 | ($1.15) |
| Basic EPS (GAAP) | $50.70 | $38.56 | $17.22 | ($1.20) | ($5.14) | $5.09 | $17.53 | $14.25 | $5.78 | $9.50 | $4.54 | $5.12 | $6.37 | $4.87 | $4.71 | $1.51 | $1.69 | $1.65 | ($3.06) | $7.80 | $7.89 | $2.67 | $4.57 | $3.85 | $1.60 | $1.61 | $2.97 | $3.40 | $3.96 | $3.58 | $2.33 | $2.13 | $0.54 | $1.50 | ($1.15) |
| Basic shares outstanding | 260 | 264 | 264 | 262 | 271 | 295 | 312 | 328 | 348 | 362 | 373 | 401 | 431 | 464 | 489 | 521 | 540 | 540 | 548 | 594 | 632 | 662 | 696 | 704 | 707 | 720 | 744 | 800 | 832 | 868 | 896 | 899 | 900 | 900 | 721 |
| Margins | |||||||||||||||||||||||||||||||||||
| Gross margin | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | 86.3% | 88.4% | 88.3% | 88.6% | 89.3% | 88.5% | 88.1% | 88.2% | 89.1% | 90.4% | 90.7% | 90.3% | 90.2% | 90.7% | 85.1% | 84.3% | 84.4% |
| Operating margin | 23.8% | 17.7% | 9.6% | 0.1% | (2.9%) | 13.4% | 17.0% | 13.9% | 7.4% | 12.4% | 8.2% | 10.0% | 12.9% | 12.3% | 11.0% | 4.1% | 4.7% | 3.9% | (10.3%) | 18.1% | 20.1% | 5.9% | 13.5% | 11.1% | 5.2% | 4.7% | 10.5% | 14.5% | 18.3% | 17.8% | 11.0% | 90.4% | 84.8% | 84.0% | 84.4% |
| Net margin | 19.0% | 15.2% | 7.3% | (0.3%) | (2.5%) | 3.2% | 13.3% | 11.7% | 5.4% | 9.0% | 4.8% | 6.1% | 8.1% | 6.6% | 6.9% | 2.4% | 3.0% | 2.7% | (5.7%) | 12.6% | 13.9% | 5.0% | 9.4% | 8.4% | 3.8% | 4.0% | 7.6% | 10.1% | 12.7% | 12.4% | 8.5% | 8.3% | 2.3% | 6.2% | (4.1%) |