
| Line item | FY2026 | 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 | $98,246 | $52,654 | $62,495 | $54,790 | $58,206 | $83,415 | $34,594 | $40,879 | $66,009 | $51,362 | $43,712 | $45,898 | – | – | – | – | – | – | – | – | – | – | – | $15,327 | $12,959 | $7,508 | $6,720 | $10,946 | $6,083 | $4,954 | $2,815 | $2,177 | $2,783 | $1,749 | $1,451 | $1,280 | $1,581 | $1,592 | $1,405 | $2,248 | $2,027 |
| Enterprise value | $127,878 | $84,498 | $93,713 | $86,266 | $88,503 | $112,790 | $65,834 | $56,141 | $79,329 | $62,324 | $54,045 | $49,403 | – | – | – | – | – | – | – | – | – | – | – | $16,806 | $14,434 | $9,508 | $8,434 | $11,995 | $7,496 | $6,748 | $4,055 | $3,399 | $4,220 | $3,609 | $3,326 | $3,192 | $3,701 | $3,643 | $2,257 | $3,032 | $2,477 |
| P/E (TTM) at period end | 22.20× | 12.88× | 14.45× | 13.81× | 15.24× | 15.98× | 26.94× | 75.84× | 14.46× | 17.16× | 24.04× | 43.80× | – | – | – | – | – | – | – | – | – | – | – | 18.47× | 18.25× | 12.85× | 9.76× | 17.34× | 12.09× | 13.72× | 9.14× | 7.31× | 13.61× | 32.44× | – | 217.00× | 13.65× | 9.56× | 7.48× | – | 15.38× |
| P/S (TTM) at period end | 1.04× | 0.60× | 0.71× | 0.61× | 0.62× | 0.99× | 0.50× | 0.59× | 1.01× | 0.85× | 0.87× | 0.97× | – | – | – | – | – | – | – | – | – | – | – | 0.68× | 0.63× | 0.38× | 0.37× | 0.65× | 0.38× | 0.43× | 0.27× | 0.23× | 0.33× | 0.22× | 0.19× | 0.17× | 0.23× | 0.31× | 0.36× | 0.71× | 0.78× |
| P/B at period end | 3.10× | 1.88× | 2.27× | 2.10× | 2.33× | 3.45× | 1.89× | 2.30× | 3.40× | 3.20× | 3.17× | 3.06× | – | – | – | – | – | – | – | – | – | – | – | 2.10× | 1.98× | 1.27× | 1.40× | 2.35× | 1.54× | 1.42× | 1.09× | 0.97× | 1.45× | 1.05× | 0.92× | 0.77× | 0.96× | 1.07× | 1.06× | 2.08× | 1.86× |
| EV / EBITDA (TTM) | 13.01× | 8.91× | 9.52× | 9.49× | 8.66× | 11.69× | 10.91× | 7.18× | 10.77× | 8.24× | 9.47× | 11.03× | – | – | – | – | – | – | – | – | – | – | – | 5.96× | 5.38× | 4.05× | 3.55× | 5.46× | 3.80× | – | – | – | – | 3.82× | 2.99× | 2.87× | 4.11× | – | – | – | – |
| EV / Sales (TTM) | 1.35× | 0.96× | 1.07× | 0.96× | 0.95× | 1.34× | 0.95× | 0.81× | 1.21× | 1.03× | 1.07× | 1.04× | – | – | – | – | – | – | – | – | – | – | – | 0.75× | 0.70× | 0.48× | 0.46× | 0.72× | 0.47× | 0.59× | 0.39× | 0.36× | 0.50× | 0.46× | 0.44× | 0.42× | 0.53× | 0.71× | 0.58× | 0.95× | 0.95× |
| Returns | |||||||||||||||||||||||||||||||||||||||||
| Return on equity | 14.0% | 14.6% | 15.7% | 15.2% | 15.3% | 21.6% | 7.0% | 3.0% | 23.5% | 18.6% | 13.2% | 7.0% | 15.2% | 15.6% | 13.8% | 9.5% | 8.6% | 0.7% | 7.7% | 15.9% | 15.7% | 15.1% | 10.4% | 11.4% | 10.8% | 9.9% | 14.4% | 13.5% | 12.7% | 10.3% | 11.9% | 13.3% | 10.6% | 3.2% | (7.2%) | 0.4% | 7.0% | 11.1% | 14.1% | (6.1%) | 12.1% |
| Return on invested capital | 6.8% | 6.5% | 7.0% | 6.3% | 8.8% | 8.6% | 3.8% | 11.2% | 13.0% | 11.1% | 8.5% | 6.5% | 14.2% | 17.9% | 15.2% | 10.5% | 9.1% | 0.8% | 7.6% | 15.0% | 15.6% | 13.6% | 8.6% | 10.4% | 10.3% | 8.5% | 11.4% | 12.1% | 10.4% | (25.7%) | (30.2%) | (27.0%) | 2.2% | 23.3% | 37.9% | 6.6% | 19.4% | 6.9% | 10.8% | 10.7% | 10.1% |
| Dividend yield | 1.4% | 2.5% | 2.0% | 2.1% | 1.4% | 0.8% | 2.0% | 1.7% | 0.8% | 0.8% | 0.6% | 0.5% | – | – | – | – | – | – | – | – | – | – | – | 0.4% | – | – | – | – | 0.1% | 0.7% | 1.9% | – | – | – | – | – | – | – | – | – | – |
| Financial health | |||||||||||||||||||||||||||||||||||||||||
| Current ratio | 1.48× | 1.19× | 1.36× | 1.37× | 1.43× | 1.51× | 1.58× | 1.45× | 1.39× | 1.59× | 1.50× | 1.74× | 1.82× | 1.96× | 1.69× | 1.70× | 1.57× | 1.57× | 1.35× | 1.22× | 1.18× | 1.11× | 1.03× | 1.18× | 1.28× | 1.06× | 1.14× | 1.13× | 1.03× | 1.07× | 1.15× | 1.13× | 1.21× | 0.99× | 0.87× | 0.86× | 1.06× | 1.01× | 1.10× | 1.01× | 1.42× |
| Debt / equity | 0.76× | 0.73× | 0.73× | 0.79× | 0.81× | 0.86× | 1.20× | 0.99× | 0.85× | 0.93× | 1.00× | 0.48× | 0.31× | 0.17× | 0.11× | 0.11× | 0.14× | 0.19× | 0.14× | 0.21× | 0.21× | 0.29× | 0.45× | 0.28× | 0.28× | 0.36× | 0.37× | 0.29× | 0.41× | 0.56× | 0.52× | 0.70× | 0.95× | 1.21× | 1.24× | 1.22× | 1.35× | 1.48× | 0.68× | 0.75× | 0.58× |
| Effective tax rate | 23.5% | 24.8% | 25.8% | 25.9% | 21.9% | 21.6% | 22.9% | 17.6% | (5.0%) | 34.5% | 33.6% | 35.5% | 36.5% | 37.4% | 35.3% | 35.9% | 37.5% | 85.5% | 44.2% | 37.3% | 37.7% | 37.4% | 36.5% | 38.0% | 37.5% | 37.0% | 39.5% | 40.5% | 44.6% | 42.5% | 43.0% | 43.0% | 46.0% | 46.1% | 22.5% | 85.6% | 47.0% | 44.2% | 37.9% | 46.5% | 19.7% |
| Share count | |||||||||||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 239 | 243 | 251 | 256 | 266 | 268 | 262 | 265 | 272 | 270 | 279 | 287 | 310 | 317 | 317 | 317 | 314 | 312 | 312 | 311 | 310 | 307 | 304 | 303 | 303 | 293 | 297 | 301 | 298 | 294 | 229 | 226 | 224 | 216 | 215 | 197 | 211 | 208 | 211 | 211 | 200 |
| Line item | TTM | FY2026 | 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 | $94,720 | $94,720 | $87,926 | $87,693 | $90,155 | $93,512 | $83,959 | $69,217 | $69,693 | $65,450 | $60,319 | $50,365 | $47,453 | $45,567 | $44,287 | $42,680 | $39,304 | $34,734 | $35,497 | $37,953 | $35,214 | $32,294 | $29,363 | $24,710 | $22,487 | $20,607 | $19,629 | $18,257 | $16,773 | $15,873 | $11,520 | $10,274 | $9,392 | $8,480 | $7,808 | $7,550 | $7,688 | $7,015 | $5,167 | $3,883 | $3,178 | $2,606 |
| Cost of revenue | ($74,098) | ($74,098) | ($68,931) | ($68,741) | ($70,989) | ($73,345) | ($66,005) | ($55,873) | ($16,654) | ($15,101) | ($13,630) | ($38,539) | ($36,705) | ($36,194) | ($35,404) | ($33,970) | ($31,515) | ($27,893) | ($28,414) | ($29,700) | ($27,183) | ($24,795) | ($22,671) | ($3,836) | ($3,606) | ($3,560) | ($3,300) | ($3,077) | ($1,397) | ($1,286) | ($6,019) | ($5,269) | ($4,542) | ($3,245) | ($3,056) | ($3,059) | ($3,315) | ($3,077) | ($1,767) | ($2,164) | ($966) | ($679) |
| Gross profit | $20,622 | $20,622 | $18,995 | $18,952 | $19,166 | $20,167 | $17,789 | $13,344 | $53,039 | $50,349 | $46,689 | $11,826 | $10,748 | $9,373 | $8,883 | $8,710 | $7,789 | $6,841 | $7,083 | $8,253 | $8,031 | $7,499 | $6,692 | $20,874 | $18,881 | $17,047 | $16,329 | $15,180 | $15,377 | $14,587 | $5,501 | $5,004 | $4,850 | $5,235 | $4,752 | $4,491 | $4,374 | $3,938 | $3,400 | $1,719 | $2,212 | $1,927 |
| Operating expenses | ||||||||||||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($33,844) | ($33,844) | ($31,232) | ($30,961) | ($31,019) | ($32,058) | ($30,173) | ($25,031) | ($24,776) | ($23,795) | ($22,017) | ($18,581) | ($17,110) | ($16,171) | ($16,055) | ($16,099) | ($15,276) | ($14,027) | ($5,132) | ($5,296) | ($4,755) | ($4,485) | ($4,221) | ($12,646) | ($11,581) | ($10,879) | ($9,913) | ($9,137) | ($8,484) | ($7,933) | ($6,166) | ($5,579) | ($5,244) | ($4,105) | ($3,808) | ($3,637) | ($3,438) | ($3,045) | ($2,588) | ($1,050) | ($1,608) | ($1,502) |
| Total operating expenses | ($15,159) | ($15,159) | ($13,778) | ($13,393) | ($14,254) | ($13,922) | ($11,932) | ($10,927) | ($48,573) | ($46,077) | ($42,123) | ($8,749) | ($8,881) | ($5,558) | ($4,449) | ($5,524) | ($5,411) | ($4,843) | ($6,336) | ($6,178) | ($4,755) | ($4,485) | ($4,221) | ($19,434) | ($17,410) | ($15,726) | ($15,258) | ($13,958) | ($14,214) | ($13,576) | ($7,871) | ($7,026) | ($6,495) | ($5,100) | ($3,227) | ($2,800) | ($2,726) | ($2,559) | ($2,965) | ($1,340) | ($1,841) | ($1,732) |
| Total costs and expenses | ($89,257) | ($89,257) | ($82,709) | ($82,134) | ($85,243) | ($87,267) | ($78,102) | ($66,800) | ($65,227) | ($61,178) | ($55,753) | ($47,288) | ($45,586) | ($41,752) | ($39,853) | ($39,494) | ($36,926) | ($32,736) | ($34,750) | ($35,878) | ($31,938) | ($29,280) | ($26,892) | ($23,270) | ($21,016) | ($19,286) | ($18,558) | ($17,036) | ($15,610) | ($14,862) | ($13,890) | ($12,296) | ($11,038) | ($8,345) | ($6,283) | ($5,859) | ($6,041) | ($5,636) | ($4,732) | ($3,504) | ($2,807) | ($2,412) |
| Operating income | $5,463 | $5,463 | $5,217 | $5,559 | $4,912 | $6,245 | $5,857 | $2,417 | $4,466 | $4,272 | $4,566 | $3,077 | $1,867 | $3,815 | $4,434 | $3,186 | $2,378 | $1,998 | $747 | $2,075 | $3,276 | $3,014 | $2,471 | $1,440 | $1,471 | $1,321 | $1,071 | $1,221 | $1,163 | $1,011 | ($2,370) | ($2,022) | ($1,645) | $135 | $1,525 | $1,691 | $1,648 | $1,379 | $435 | $379 | $371 | $194 |
| Earnings | ||||||||||||||||||||||||||||||||||||||||||
| EBITDA | $9,832 | $9,832 | $9,481 | $9,846 | $9,088 | $10,215 | $9,650 | $6,032 | $7,819 | $7,367 | $7,561 | $5,708 | $4,478 | $6,402 | $6,820 | $5,299 | $4,351 | $3,956 | $2,722 | $4,021 | $5,018 | $4,562 | $3,933 | $2,815 | $2,822 | $2,685 | $2,347 | $2,376 | $2,198 | $1,974 | ($3,147) | ($2,742) | ($2,298) | ($464) | $945 | $1,114 | $1,113 | $900 | – | – | – | – |
| Interest income | $437 | $437 | $363 | $370 | $198 | $53 | $52 | $55 | $59 | $48 | $33 | $21 | $14 | $18 | $21 | $13 | $9 | $8 | $26 | $44 | $83 | $38 | $21 | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($970) | ($970) | ($789) | ($745) | ($694) | ($689) | ($793) | ($672) | ($588) | ($558) | ($512) | ($336) | ($235) | ($160) | ($82) | ($52) | ($86) | ($79) | ($85) | ($98) | ($136) | ($142) | ($160) | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Pre-tax income | $5,793 | $5,793 | $5,441 | $5,836 | $5,363 | $4,896 | $6,674 | $1,669 | $655 | $4,353 | $4,579 | $2,740 | $1,627 | $3,658 | $4,338 | $3,141 | $2,265 | $1,894 | $677 | $2,016 | $3,215 | $2,899 | $2,313 | $1,319 | $1,338 | $1,160 | $928 | $1,138 | $1,061 | $900 | $628 | $540 | $522 | $378 | $204 | ($147) | $41 | $218 | $298 | $302 | $312 | $164 |
| Income tax expense | ($1,360) | ($1,360) | ($1,349) | ($1,505) | ($1,391) | ($1,070) | ($1,443) | ($383) | ($115) | $219 | ($1,582) | ($920) | ($577) | ($1,334) | ($1,622) | ($1,109) | ($813) | ($710) | ($579) | ($891) | ($1,199) | ($1,093) | ($864) | ($481) | ($508) | ($435) | ($343) | ($449) | ($430) | ($401) | ($267) | ($232) | ($224) | ($174) | ($94) | $33 | ($35) | ($103) | ($132) | ($115) | ($145) | ($32) |
| Net income | $4,433 | $4,433 | $4,092 | $4,331 | $3,972 | $3,826 | $5,231 | $1,286 | $540 | $4,572 | $2,997 | $1,820 | $1,050 | $2,324 | $2,716 | $2,032 | $1,452 | $1,184 | $98 | $1,125 | $2,016 | $1,806 | $1,449 | $838 | $830 | $710 | $584 | $688 | $631 | $503 | $361 | $308 | $298 | $204 | $54 | ($114) | $6 | $116 | $166 | $188 | ($66) | $132 |
| Per share | ||||||||||||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $18.55 | $18.55 | $16.81 | $17.21 | $15.48 | $14.33 | $19.45 | $4.90 | $2.03 | $16.79 | $11.07 | $6.51 | $3.65 | $7.48 | $8.55 | $6.41 | $4.57 | $3.76 | $0.31 | $3.60 | $6.48 | $5.83 | $4.72 | $2.76 | $2.74 | $2.34 | $1.99 | $2.32 | $2.10 | $1.69 | $0.67 | $1.35 | $1.32 | $0.92 | $0.25 | ($0.53) | $0.03 | $0.55 | $0.80 | $0.89 | ($0.31) | $0.66 |
| Basic EPS (GAAP) | $18.71 | $18.71 | $16.96 | $17.41 | $15.60 | $14.54 | $19.79 | $4.92 | $2.06 | $17.08 | $11.24 | $6.59 | $3.70 | $7.56 | $8.61 | $6.44 | $4.61 | $3.78 | $0.31 | $3.64 | $6.57 | $5.94 | $4.81 | $2.80 | $2.79 | $2.38 | $2.02 | $2.36 | $2.13 | $1.72 | $0.68 | $1.35 | $1.32 | $0.92 | $0.25 | ($0.53) | $0.03 | $0.55 | $0.80 | $0.89 | ($0.31) | $0.66 |
| Basic shares outstanding | 237 | 237 | 241 | 248 | 254 | 263 | 264 | 261 | 262 | 267 | 266 | 276 | 283 | 307 | 315 | 315 | 315 | 312 | 311 | 309 | 307 | 304 | 301 | 299 | 297 | 298 | 289 | 292 | 296 | 292 | 291 | 226 | 224 | 224 | 216 | 215 | 197 | 211 | 208 | 211 | 211 | 200 |
| Margins | ||||||||||||||||||||||||||||||||||||||||||
| Gross margin | 21.8% | 21.8% | 21.6% | 21.6% | 21.3% | 21.6% | 21.2% | 19.3% | 76.1% | 76.9% | 77.4% | 23.5% | 22.6% | 20.6% | 20.1% | 20.4% | 19.8% | 19.7% | 20.0% | 21.7% | 22.8% | 23.2% | 22.8% | 84.5% | 84.0% | 82.7% | 83.2% | 83.1% | 91.7% | 91.9% | 47.8% | 48.7% | 51.6% | 61.7% | 60.9% | 59.5% | 56.9% | 56.1% | 65.8% | 44.3% | 69.6% | 73.9% |
| Operating margin | 5.8% | 5.8% | 5.9% | 6.3% | 5.4% | 6.7% | 7.0% | 3.5% | 6.4% | 6.5% | 7.6% | 6.1% | 3.9% | 8.4% | 10.0% | 7.5% | 6.1% | 5.8% | 2.1% | 5.5% | 9.3% | 9.3% | 8.4% | 5.8% | 6.5% | 6.4% | 5.5% | 6.7% | 6.9% | 6.4% | (20.6%) | (19.7%) | (17.5%) | 1.6% | 19.5% | 22.4% | 21.4% | 19.7% | 8.4% | 9.8% | 11.7% | 7.5% |
| Net margin | 4.7% | 4.7% | 4.7% | 4.9% | 4.4% | 4.1% | 6.2% | 1.9% | 0.8% | 7.0% | 5.0% | 3.6% | 2.2% | 5.1% | 6.1% | 4.8% | 3.7% | 3.4% | 0.3% | 3.0% | 5.7% | 5.6% | 4.9% | 3.4% | 3.7% | 3.4% | 3.0% | 3.8% | 3.8% | 3.2% | 3.1% | 3.0% | 3.2% | 2.4% | 0.7% | (1.5%) | 0.1% | 1.7% | 3.2% | 4.8% | (2.1%) | 5.1% |