
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valuation | ||||||||||||||||||||||||||||||||
| Market cap | $60,593 | $44,117 | $36,148 | $28,213 | $24,597 | $19,848 | $17,303 | $20,216 | $18,071 | $17,142 | $20,687 | $17,575 | $14,118 | $9,861 | $10,155 | $8,654 | $6,727 | $6,050 | $8,318 | $9,266 | $8,220 | $6,008 | $5,882 | $7,497 | $4,040 | $2,423 | $1,201 | $1,297 | $1,448 | $1,012 | $493 | $344 |
| Enterprise value | $67,223 | $47,778 | $40,518 | $32,697 | $31,163 | $20,412 | $18,536 | $22,503 | $19,429 | $18,837 | $22,208 | $17,763 | $14,284 | $10,241 | $9,694 | $8,339 | $6,895 | $6,361 | $8,438 | $9,033 | $8,207 | $6,575 | $6,866 | $8,651 | $5,339 | $2,715 | $1,700 | $1,702 | $1,978 | $1,380 | $896 | $807 |
| P/E (TTM) at period end | 38.99× | 29.23× | 20.71× | 16.61× | 15.97× | – | 20.23× | 12.19× | 49.58× | 12.00× | – | 64.09× | 32.55× | 13.71× | 14.37× | 13.59× | 13.36× | 24.15× | 17.73× | 19.81× | 25.75× | 12.83× | 13.33× | 21.73× | 32.29× | 24.47× | 17.79× | 25.68× | 31.89× | 28.51× | 48.29× | – |
| P/S (TTM) at period end | 0.19× | 0.15× | 0.14× | 0.12× | 0.11× | 0.10× | 0.10× | 0.12× | 0.12× | 0.12× | 0.15× | 0.15× | 0.16× | 0.13× | 0.13× | 0.11× | 0.09× | 0.09× | 0.13× | 0.15× | 0.15× | 0.11× | 0.12× | 0.17× | 0.25× | 0.21× | 0.12× | 0.15× | 0.19× | 0.18× | 0.11× | 0.08× |
| P/B at period end | 40.18× | 68.30× | 69.25× | – | 110.13× | – | 6.01× | 6.89× | 8.75× | 8.05× | 33.56× | 9.05× | 6.12× | 4.02× | 3.54× | 2.93× | 2.48× | 2.23× | 2.68× | 2.24× | 1.92× | 1.38× | 1.47× | 2.26× | 1.42× | 8.58× | 7.22× | 17.22× | 101.26× | – | – | – |
| EV / EBITDA (TTM) | 21.48× | 18.21× | 14.68× | 11.86× | 11.62× | – | 12.94× | 12.77× | 14.69× | 10.71× | 36.08× | 18.75× | 13.77× | 7.23× | 7.58× | 7.22× | 7.20× | 7.04× | 9.75× | 10.95× | 11.47× | 6.87× | 7.13× | 11.02× | 18.79× | 12.46× | 8.77× | 10.12× | 14.77× | 12.61× | 8.31× | 8.71× |
| EV / Sales (TTM) | 0.21× | 0.16× | 0.15× | 0.14× | 0.15× | 0.11× | 0.10× | 0.13× | 0.13× | 0.13× | 0.16× | 0.15× | 0.16× | 0.13× | 0.12× | 0.11× | 0.10× | 0.09× | 0.13× | 0.15× | 0.15× | 0.12× | 0.14× | 0.19× | 0.33× | 0.23× | 0.17× | 0.20× | 0.25× | 0.25× | 0.19× | 0.19× |
| Returns | ||||||||||||||||||||||||||||||||
| Return on equity | 103.1% | 233.6% | 334.3% | – | 689.5% | – | 29.7% | 56.5% | 17.7% | 67.1% | (22.4%) | 14.1% | 18.8% | 29.3% | 24.6% | 21.6% | 18.5% | 9.2% | 15.1% | 11.3% | 7.5% | 10.8% | 11.0% | 10.4% | 4.4% | 35.1% | 40.6% | 67.1% | 317.5% | – | – | – |
| Return on invested capital | 22.4% | 38.3% | 38.4% | 42.3% | 24.1% | – | 23.9% | 27.7% | 12.3% | 39.6% | – | 15.4% | 21.7% | 28.8% | 30.8% | 25.5% | 19.0% | 16.9% | 13.5% | 11.6% | 9.1% | 11.0% | 10.8% | 9.7% | 3.9% | 21.6% | 15.5% | 19.2% | 13.4% | 20.4% | 22.6% | 48.2% |
| Dividend yield | 0.7% | 0.9% | 1.1% | 1.4% | 1.5% | 1.7% | 2.0% | 1.6% | 1.8% | 1.7% | 1.2% | 1.2% | 1.4% | 1.3% | 1.2% | 1.0% | 0.9% | 0.8% | 0.4% | 0.2% | 0.1% | 0.2% | 0.2% | 0.1% | – | – | – | – | – | – | – | – |
| Financial health | ||||||||||||||||||||||||||||||||
| Current ratio | 0.90× | 0.88× | 0.88× | 0.91× | 0.94× | 0.98× | 0.95× | 0.93× | 0.91× | 0.90× | 0.94× | 0.97× | 0.97× | 0.98× | 1.05× | 1.08× | 1.05× | 1.06× | 1.11× | 1.23× | 1.32× | 1.36× | 1.42× | 1.37× | 1.36× | 1.32× | 1.45× | 1.40× | 1.44× | 1.42× | 1.46× | 1.26× |
| Debt / equity | 5.08× | 6.79× | 9.17× | (26.96×) | 29.93× | (4.04×) | 1.45× | 1.47× | 1.67× | 1.97× | 5.67× | 1.03× | 0.61× | 0.57× | 0.47× | 0.45× | 0.43× | 0.44× | 0.40× | 0.26× | 0.22× | 0.33× | 0.45× | 0.55× | 0.56× | 1.46× | 3.36× | 6.03× | 41.24× | (11.79×) | (3.21×) | (1.62×) |
| Effective tax rate | 30.6% | 24.2% | 19.8% | 23.7% | 30.5% | 35.8% | 11.7% | (37.2%) | 60.3% | (2.7%) | 151.4% | 57.9% | 40.2% | 37.4% | 37.6% | 38.1% | 37.9% | 38.4% | 37.0% | 36.8% | 37.7% | 37.9% | 39.2% | 39.7% | 38.3% | 38.0% | 40.6% | 39.0% | 39.2% | 31.1% | 38.0% | (4.7%) |
| Share count | ||||||||||||||||||||||||||||||||
| Diluted shares outstanding | 195 | 200 | 205 | 211 | 208 | 205 | 212 | 220 | 222 | 226 | 218 | 235 | 235 | 257 | 278 | 287 | 303 | 325 | 376 | 415 | 431 | 471 | 464 | 449 | 251 | 208 | 207 | 203 | 200 | 184 | 146 | 117 |
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue and gross profit | |||||||||||||||||||||||||||||||||
| Revenue | $332,771 | $321,333 | $293,959 | $262,173 | $238,587 | $213,989 | $189,894 | $179,589 | $167,940 | $153,144 | $146,850 | $135,962 | $119,569 | $87,959 | $78,081 | $78,696 | $76,496 | $71,760 | $70,190 | $65,672 | $61,203 | $54,577 | $53,179 | $49,657 | $45,235 | $16,191 | $11,645 | $9,807 | $8,669 | $7,816 | $5,552 | $4,669 | $4,302 |
| Cost of revenue | ($319,550) | ($309,854) | ($284,049) | ($253,214) | ($230,291) | ($207,046) | ($184,702) | ($174,451) | ($163,327) | ($148,598) | ($142,577) | ($132,432) | ($116,587) | ($85,451) | ($75,446) | ($76,237) | ($74,218) | ($69,660) | ($68,143) | ($63,453) | ($59,098) | ($52,718) | ($51,066) | ($47,410) | ($43,210) | ($15,491) | ($11,124) | ($9,332) | ($8,246) | ($7,427) | ($5,247) | ($4,400) | ($4,058) |
| Gross profit | $13,221 | $11,479 | $9,910 | $8,959 | $8,296 | $6,943 | $5,192 | $5,138 | $4,612 | $4,546 | $4,273 | $3,529 | $2,982 | $2,508 | $2,635 | $2,459 | $2,278 | $2,100 | $2,047 | $2,219 | $2,105 | $1,859 | $2,055 | $2,247 | $2,024 | $700 | $521 | $476 | $423 | $389 | $305 | $269 | $243 |
| Operating expenses | |||||||||||||||||||||||||||||||||
| Research and development | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Selling, general and administrative | ($7,654) | ($6,494) | ($5,661) | ($5,310) | ($4,849) | ($3,594) | ($2,767) | ($2,664) | ($2,460) | ($2,129) | ($2,091) | ($1,908) | ($1,581) | ($1,334) | ($1,153) | ($1,138) | ($1,113) | ($1,120) | ($1,119) | ($1,340) | ($1,377) | ($1,234) | ($1,185) | ($1,293) | ($1,221) | ($409) | ($303) | ($282) | ($255) | ($255) | ($195) | ($161) | ($151) |
| Total operating expenses | ($10,179) | ($8,850) | ($7,735) | ($6,619) | ($5,930) | ($4,589) | ($10,327) | ($4,026) | ($3,169) | ($3,486) | ($2,747) | ($3,107) | ($2,200) | ($1,609) | ($1,331) | ($1,269) | ($1,191) | ($1,216) | ($1,219) | ($1,430) | ($1,377) | ($1,234) | ($1,185) | ($1,364) | ($1,306) | ($441) | ($320) | ($302) | ($272) | ($270) | ($207) | ($171) | ($165) |
| Total costs and expenses | ($329,730) | ($318,704) | ($291,783) | ($259,833) | ($236,221) | ($211,635) | ($195,029) | ($178,477) | ($166,496) | ($152,083) | ($145,324) | ($135,540) | ($118,787) | ($87,061) | ($76,777) | ($77,506) | ($75,409) | ($70,876) | ($69,362) | ($64,883) | ($60,475) | ($53,952) | ($52,308) | ($48,774) | ($44,516) | ($15,932) | ($11,445) | ($9,634) | ($8,517) | ($7,696) | ($5,454) | ($4,571) | ($4,224) |
| Operating income | $3,042 | $2,629 | $2,175 | $2,341 | $2,366 | $2,354 | ($5,135) | $1,112 | $1,444 | $1,060 | $1,526 | $422 | $782 | $898 | $1,304 | $1,190 | $1,087 | $884 | $828 | $789 | $728 | $625 | $870 | $883 | $718 | $259 | $200 | $174 | $152 | $120 | $98 | $98 | $78 |
| Earnings | |||||||||||||||||||||||||||||||||
| EBITDA | $3,607 | $3,130 | $2,623 | $2,760 | $2,757 | $2,681 | ($4,845) | $1,433 | $1,762 | $1,323 | $1,758 | $616 | $948 | $1,037 | $1,417 | $1,279 | $1,155 | $958 | $903 | $865 | $825 | $716 | $958 | $964 | $785 | $284 | $218 | $194 | $168 | $134 | $110 | $108 | $93 |
| Interest income | – | ($292) | ($157) | ($229) | $21 | $8 | $21 | $38 | $15 | $4 | $4 | $3 | $1 | $1 | $2 | $2 | $2 | $5 | $11 | $43 | – | – | – | – | – | – | – | – | – | – | – | – | – |
| Interest expense | ($484) | ($420) | ($249) | ($276) | ($211) | ($174) | ($138) | ($158) | ($175) | ($145) | ($140) | ($109) | ($84) | ($74) | ($93) | ($76) | ($72) | ($64) | ($75) | ($76) | ($12) | ($57) | ($113) | – | ($141) | – | – | – | – | – | – | – | – |
| Pre-tax income | $3,607 | $2,258 | $2,004 | $2,161 | $2,183 | $2,222 | ($5,294) | $967 | $1,177 | $918 | $1,391 | $269 | $670 | $824 | $1,217 | $1,118 | $1,012 | $824 | $761 | $753 | $741 | $469 | $771 | $726 | $572 | $203 | $160 | $119 | $83 | $78 | $62 | $46 | ($165) |
| Income tax expense | ($967) | ($691) | ($485) | ($428) | ($517) | ($677) | $1,894 | ($113) | $438 | ($553) | $37 | ($407) | ($388) | ($331) | ($456) | ($420) | ($385) | ($312) | ($292) | ($279) | ($273) | ($177) | ($292) | ($285) | ($227) | ($78) | ($61) | ($48) | ($32) | ($31) | ($19) | ($17) | ($8) |
| Net income | $2,625 | $1,554 | $1,509 | $1,745 | $1,699 | $1,540 | ($3,409) | $855 | $1,658 | $364 | $1,428 | ($138) | $274 | $434 | $719 | $707 | $637 | $503 | $251 | $469 | $468 | $319 | $468 | $441 | $345 | $125 | $99 | $68 | $50 | $45 | $36 | $10 | ($208) |
| Per share | |||||||||||||||||||||||||||||||||
| Diluted EPS (GAAP) | $13.46 | $7.96 | $7.53 | $8.53 | $8.04 | $7.39 | ($16.65) | $4.04 | $7.53 | $1.64 | $6.32 | ($0.63) | $1.16 | $1.84 | $2.80 | $2.54 | $2.22 | $1.66 | $0.77 | $1.25 | $1.13 | $0.74 | $1.01 | $0.95 | $0.77 | $0.50 | $0.48 | $0.33 | $0.25 | $0.23 | $0.19 | $0.07 | ($1.78) |
| Basic EPS (GAAP) | $13.52 | $8.02 | $7.60 | $8.62 | $8.15 | $7.48 | ($16.65) | $4.07 | $7.61 | $1.67 | $6.73 | ($0.63) | $1.21 | $1.88 | $2.84 | $2.59 | $2.26 | $1.67 | $0.78 | $1.27 | $1.14 | $0.75 | $1.05 | $1.01 | $0.82 | $0.55 | $0.48 | $0.33 | $0.26 | $0.23 | $0.20 | $0.07 | ($1.78) |
| Basic shares outstanding | 194 | 194 | 199 | 203 | 208 | 206 | 205 | 210 | 218 | 218 | 212 | 218 | 227 | 231 | 253 | 272 | 282 | 301 | 321 | 370 | 410 | 425 | 447 | 435 | 420 | 229 | 206 | 203 | 191 | 198 | 182 | 146 | 117 |
| Margins | |||||||||||||||||||||||||||||||||
| Gross margin | 4.0% | 3.6% | 3.4% | 3.4% | 3.5% | 3.2% | 2.7% | 2.9% | 2.7% | 3.0% | 2.9% | 2.6% | 2.5% | 2.9% | 3.4% | 3.1% | 3.0% | 2.9% | 2.9% | 3.4% | 3.4% | 3.4% | 3.9% | 4.5% | 4.5% | 4.3% | 4.5% | 4.8% | 4.9% | 5.0% | 5.5% | 5.8% | 5.7% |
| Operating margin | 0.9% | 0.8% | 0.7% | 0.9% | 1.0% | 1.1% | (2.7%) | 0.6% | 0.9% | 0.7% | 1.0% | 0.3% | 0.7% | 1.0% | 1.7% | 1.5% | 1.4% | 1.2% | 1.2% | 1.2% | 1.2% | 1.1% | 1.6% | 1.8% | 1.6% | 1.6% | 1.7% | 1.8% | 1.7% | 1.5% | 1.8% | 2.1% | 1.8% |
| Net margin | 0.8% | 0.5% | 0.5% | 0.7% | 0.7% | 0.7% | (1.8%) | 0.5% | 1.0% | 0.2% | 1.0% | (0.1%) | 0.2% | 0.5% | 0.9% | 0.9% | 0.8% | 0.7% | 0.4% | 0.7% | 0.8% | 0.6% | 0.9% | 0.9% | 0.8% | 0.8% | 0.9% | 0.7% | 0.6% | 0.6% | 0.6% | 0.2% | (4.8%) |