Hollow marker is the consensus estimate; filled is the reported figure, colored by beat or miss.
Outlined bar is the consensus estimate; solid is reported.
Periods without a consensus estimate or a reported figure show a dash.
| Period | EPS estimate | EPS actual | EPS surprise % | Revenue estimate | Revenue actual | Revenue surprise % |
|---|---|---|---|---|---|---|
| Q2 26 | $0.21 | $0.23 | +9.5% | — | $684M | — |
| Q1 26 | $0.16 | $0.17 | +6.3% | — | $612M | — |
| Q2 25 | $0.16 | -$0.01 | -106.3% | — | $579M | — |
| Q1 25 | $0.1 | $0.12 | +20.0% | — | $517M | — |
| Q3 24 | $0.06 | $0.02 | -66.7% | — | $519.4M | — |
| Q1 24 | $0.03 | $0.09 | +200.0% | — | $379.3M | — |
| Q3 23 | $0.01 | $0.02 | +100.0% | — | $356.9M | — |
| Q2 23 | $0.02 | $0.06 | +200.0% | — | $380.8M | — |
| Q1 23 | $0.03 | -$0.01 | -133.3% | — | $338.5M | — |
| Q3 22 | $0.07 | $0.07 | 0.0% | — | $307.8M | — |
| Q2 22 | $0.11 | $0.62 | +463.6% | — | $320.8M | — |
| Q1 22 | $0.09 | -$0.35 | -488.9% | — | $334.5M | — |
Reported per-share earnings by fiscal year; the line turns dotted where reported figures end and the analyst consensus begins, with the shaded band marking the low–high range.
Reported revenue by fiscal year; the line turns dotted where reported figures end and the analyst consensus begins, with the shaded band marking the low–high range.
Periods without a consensus estimate or a reported figure show a dash.
| Period | EPS estimate | EPS actual | EPS surprise % | Revenue estimate | Revenue actual | Revenue surprise % |
|---|---|---|---|---|---|---|
| FY25 | — | $0.43 | — | — | $2.2B | — |
| FY24 | — | $0.23 | — | — | $1.8B | — |
| FY23 | — | -$0.02 | — | — | $1.4B | — |
| FY22 | — | $0.37 | — | — | $1.3B | — |
| FY21 | — | $0.49 |
Reported revenue per period; the line is the change from the same period a year earlier, on its own left axis.
| Period | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|
| Revenue | $476M | $908M | $1.3B | $1.3B | $1.4B | $1.8B | $2.2B |
| YoY change | — | +90.7% | +45.4% | -2.15% | +11.1% | +22.9% | +26.4% |
Reported revenue per period; the line is the change from the same period a year earlier, on its own left axis.
| Period | Q3 23 | Q4 23 |
|---|
Revenue, gross profit, operating income, and net income per period.
Click a row to chart it; unreported figures show a dash.
| Period | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|
| Revenue | 476M | 908M | 1.3B | 1.3B | 1.4B | 1.8B | 2.2B |
| Cost of revenue | 230.3M | 365.8M | 546.2M | 636.5M | 769.8M | 890.1M | 1.1B |
| Gross profit | 245.8M | 542.2M | 774.4M | 655.7M | 666.3M | 875.6M | 1.2B |
| Gross margin | 51.6% | 59.7% | 58.6% | 50.7% | 46.4% | 49.6% | 52.8% |
| Research & development | — | — | — | — | — | — | — |
| Selling, general & administrative | 206M | 352.2M | 472.8M | 455.7M | 463.6M | 549.9M | 637M |
| Operating expenses | 264.3M | 361.4M | 485M | 481.4M | 509.1M | 593.1M | 679M |
| Operating income | -49M | 125.4M | 205.9M | 107.6M | 75M | 201.6M | 425M |
| Operating margin | -10.3% | 13.8% | 15.6% | 8.33% | 5.22% | 11.4% | 19% |
| Non-operating income, net | 39M | 35M | 25.1M | 108M | -64.4M | -9.4M | -69M |
| Pretax income | -17.6M | 149.6M | 225.9M | 216.5M | 16.8M | 196.5M | 356M |
| Income tax | 333K | 429K | -10M | 34.2M | 25.4M | 78.3M | 138M |
| Net income | -17.9M | 149.2M | 235.9M | 182.3M | -8.6M | 118.2M | 218M |
| Net margin | -3.77% | 16.4% | 17.9% | 14.1% | -0.6% | 6.69% | 9.77% |
| EBITDA | -18.4M | 181M | 290.8M | 50.3M | 166.1M | 293.7M | 509M |
| EPS | -0.04 | 0.31 | 0.49 | 0.37 | -0.02 | 0.23 | 0.43 |
| Diluted EPS | -0.04 | 0.31 | 0.49 | 0.37 | -0.02 | 0.23 | 0.43 |
Revenue, gross profit, operating income, and net income per period.
Click a row to chart it; unreported figures show a dash.
| Period | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | 356.9M | 359.9M | 379.3M | 517.7M | 519.4M | 428.9M | 517M | 579M | 557M | 578M | 612M | 684M |
| Cost of revenue | 270.8M | -54M | 303.9M | 373.5M | 413.2M | -141.4M | 367M | 410M | 371M | -94M | 422M | 436M |
| Gross profit | 86M | 414M | 75.4M | 144.2M | 106.2M | 570.4M | 150M | 169M | 186M | 672M | 190M | 248M |
| Gross margin | 24.1% | 115% | 19.9% | 27.8% | 20.4% | 133% | 29% | 29.2% | 33.4% | 116.3% | 31% | 36.3% |
| Research & development | — | — | — | — | — | — | — | — | — | — | — | — |
| Selling, general & administrative | 38.8M | 350.3M | 39.2M | 48.3M | 53.3M | 416.6M | 43M | 47M | 45M | 501M | 48M | 50M |
| Operating expenses | 38.5M | 398.5M | 35.6M | 47.4M | 53.2M | 464.8M | 43M | 47M | 38M | 551M | 47M | 49M |
| Operating income | 27.8M | -5.1M | 19.8M | 69.6M | 28.7M | 92.4M | 89M | 104M | 131M | 101M | 123M | 172M |
| Operating margin | 7.78% | -1.43% | 5.23% | 13.4% | 5.53% | 21.5% | 17.2% | 18% | 23.5% | 17.5% | 20.1% | 25.1% |
| Non-operating income, net | -14.2M | -41.9M | 27M | -45.4M | 354.5K | 703.4K | — | — | — | -3M | — | 1M |
| Pretax income | 15.4M | -44.9M | 48.7M | 25.7M | 29.5M | 93.7M | 89M | 39M | 133M | 96M | 122M | 168M |
| Income tax | 4.7M | -1K | 7.7M | 26.7M | 18.6M | 29.7M | 30M | 42M | 37M | 29M | 36M | 45M |
| Net income | 10.6M | -44.9M | 41M | -1M | 10.9M | 64M | 59M | -3M | 96M | 67M | 86M | 123M |
| Net margin | 2.98% | -12.5% | 10.8% | -0.19% | 2.1% | 14.9% | 11.4% | -0.52% | 17.2% | 11.6% | 14.1% | 18% |
| EBITDA | 50.1M | 18.6M | 42.8M | 100.2M | 56.4M | 107.4M | 109M | 126M | 151M | 124M | 146M | 200M |
| EPS | 0.02 | — | 0.08 | -0 | 0.02 | — | 0.12 | — | 0.19 | — | 0.17 | 0.24 |
| Diluted EPS | 0.02 | — | 0.08 | -0 | 0.02 | — | 0.12 | — | 0.19 | — | 0.17 | 0.23 |
Annual history by fiscal year; click a table row below to chart a different metric.
Current values are trailing twelve months where available, otherwise the latest fiscal year; unreported figures show a dash.
| Metric | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|
| Market cap | — | — | 4.7B | 4.6B | 1.4B | 1.4B | 2.7B | — | — |
| Enterprise value | — | — | 4.8B | 4.3B | 1.2B | 1.2B | 2.3B | — | — |
| Shares outstanding | — | 464.7M | 464.7M | 464.7M | 470.8M | 457.4M | 425.8M | 505.3M | 505.3M |
| Metric | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|
| P/E | — | — | 31.5 | 19.5 | 7.75 | — | 22.5 | — | — |
| P/S | — | — | 5.18 | 3.49 | 1.09 | 1.01 | 1.5 | — | — |
| P/B | — | — | 66.4 | 8.97 | 2.64 | 2.69 | 4.59 | — | — |
| EV/EBITDA | — | — | 26.4 | 14.9 | 23.4 | 7.45 | 7.92 | — | — |
| EV/Sales | — | — | 5.27 | 3.28 | 0.91 | 0.86 | 1.32 | — | — |
| Earnings yield | — | — | 3.17% | 5.12% | 12.9% | — | 4.45% | — | — |
| FCF yield | — | — | 2.96% | 3.97% | 9.86% | 5.47% | 7.52% | — | — |
| Metric | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|
| Gross margin | — | 51.6% | 59.7% | 58.6% | 50.7% | 46.4% | 49.6% | 52.8% | 52.8% |
| Operating margin | — | -10.3% | 13.8% | 15.6% | 8.33% | 5.22% | 11.4% | 19% | 19% |
| Net margin | — | -3.77% | 16.4% | 17.9% | 14.1% | -0.6% | 6.69% | 9.77% | 9.77% |
| ROE | — | 24.2% | 210.5% | 45.9% | 34.1% | -1.6% | 20.4% | 27.2% | 27.2% |
| ROA | — | -5.23% | 27.1% | 27.9% | 20.8% | -0.9% | 10.8% | 17.2% | 17.2% |
| ROIC | — | -135.4% | 82.2% | 85.7% | 30.4% | 0% | 48.5% | 73.7% | 73.7% |
| Return on tangible assets | — | -6.3K% | 128.8% | 52.6% | 42.9% | -2.24% | 37.2% | 40% | 40% |
| Metric | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|
| Current ratio | — | 0.38 | 0.6 | 1.81 | 1.82 | 1.26 | 1.25 | 1.94 | 1.94 |
| Quick ratio | — | 0.38 | 0.6 | 1.81 | 1.82 | 1.26 | 1.25 | 1.94 | 1.94 |
| Debt / equity | — | -2.49 | 3.1 | 0.04 | 0.03 | 0.05 | 0.13 | 0.1 | 0.1 |
| Debt / assets | — | 0.54 | 0.4 | 0.02 | 0.02 | 0.03 | 0.07 | 0.06 | 0.06 |
| Net debt / EBITDA | — | -6 | 0.45 | -0.94 | -4.7 | -1.28 | -1.12 | -0.88 | -0.88 |
| Interest coverage | — | -1.28 | 14.6 | 36.5 | 162 | 7.16 | 32 | 33.4 | 33.4 |
| Effective tax rate | — | 0% | 0.29% | 0% | 15.8% | 100% | 39.9% | 38.8% | 38.8% |
| Metric | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|
| Revenue per share | — | 1.02 | 1.95 | 2.84 | 2.74 | 3.14 | 4.15 | 4.41 | 4.41 |
| EPS (basic) | — | -0.04 | 0.31 | 0.49 | 0.37 | -0.02 | 0.23 | 0.43 | 0.43 |
| EPS (diluted) | — | -0.04 | 0.31 | 0.49 | 0.37 | -0.02 | 0.23 | 0.43 | 0.43 |
| Book value per share | — | -0.16 | 0.15 | 1.11 | 1.14 | 1.18 | 1.36 | 1.59 | 1.59 |
| FCF per share | — | 0 | 0.3 | 0.39 | 0.3 | 0.17 | 0.47 | 0.48 | 0.48 |
| Cash per share | — | 0.16 | 0.3 | 0.63 | 0.54 | 0.53 | 0.94 | 1.05 | 1.05 |
| Capex per share | — | 0.01 | 0 | 0.01 | 0.01 | 0.02 | 0.03 | — | — |
| Metric | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|
| Capex / revenue | — | 0.7% | 0.22% | 0.24% | 0.49% | 0.63% | 0.79% | — | — |
| Capex / operating cash flow | — | -11.7% | 1.37% | 1.15% | 2.72% | 12.5% | 4.42% | — | — |
| Payout ratio | — | 0% | 6.7% | 0% | 0% | 0% | 0% | 71.6% | 71.6% |
| Dividend yield | — | — | 0.21% | 0% | 0% | 0% | 0% | — | — |
Split-adjusted payout per share by ex-dividend date.
| Ex-dividend | Amount |
|---|---|
| Sep 22, 2026 | $0.05 |
| Jun 23, 2026 | $0.05 |
| Mar 16, 2026 | $0.05 |
| Dec 15, 2025 | $0.04 |
| Sep 18, 2025 | $0.04 |
| Jun 23, 2025 | $0.04 |
| Mar 10, 2025 | $0.04 |
| Dec 23, 2024 | $0.15 |
| — |
| — |
| $1.3B |
| — |
| FY20 | — | $0.31 | — | — | $908M | — |
| FY19 | — | -$0.04 | — | — | $476M | — |
| Q1 24 |
|---|
| Q2 24 |
|---|
| Q3 24 |
|---|
| Q4 24 |
|---|
| Q1 25 |
|---|
| Q2 25 |
|---|
| Q3 25 |
|---|
| Q4 25 |
|---|
| Q1 26 |
|---|
| Q2 26 |
|---|
| Revenue | $356.9M | $359.9M | $379.3M | $517.7M | $519.4M | $428.9M | $517M | $579M | $557M | $578M | $612M | $684M |
| YoY change | +15.9% | +9.37% | +12% | +36% | +45.5% | +19.2% | +36.3% | +11.8% | +7.24% | +34.7% | +18.4% | +18.1% |
What the company owns (left stack) against what it owes plus shareholders' equity (right stack). The two stacks should match — that's the balance.
Click a row to chart it; unreported figures show a dash.
| Period | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|
| Cash & short-term investments | 26.7M | 74.4M | 138.5M | 293.8M | 254.8M | 241.9M | 401.7M | 529M |
| Receivables | 8.2M | 15.9M | 35.6M | 56.3M | 29M | 41.4M | 23.9M | 14M |
| Inventory | — | — | 0 | 40K | 94K | — | — | — |
| Total current assets | 87M | 149.7M | 263.5M | 559.2M | 560.2M | 492.4M | 560.5M | 742M |
| Property, plant & equipment | 14.1M | 14.3M | 13.6M | 27M | 28.2M | 42.3M | 89.2M | 116M |
| Goodwill & intangibles | 137.2M | 342.6M | 435.3M | 396M | 452.5M | 576.6M | 777.5M | 722M |
| Total assets | 192.6M | 342.9M | 551.2M | 844.1M | 877M | 960.9M | 1.1B | 1.3B |
| Accounts payable | 27M | 59.2M | 75.2M | 77.7M | 63.7M | 80.5M | 92.2M | 103M |
| Short-term debt | 148.4M | 169.5M | 186M | 8.4M | 8.2M | 5.3M | 6.1M | 5M |
| Total current liabilities | 240.1M | 396.7M | 437.3M | 309.1M | 308.2M | 391.1M | 446.7M | 382M |
| Long-term debt | 9.8M | 15.3M | 33.8M | 11.7M | 10.3M | 23.9M | 67.2M | 76M |
| Total liabilities | 249.9M | 417.1M | 480.3M | 330M | 342.4M | 422.1M | 517.2M | 466M |
| Shareholders' equity | -57.3M | -74.2M | 70.9M | 514.1M | 534.6M | 538.8M | 578.2M | 801M |
| Total debt | 158.3M | 184.7M | 219.8M | 20M | 18.5M | 29.2M | 73.3M | 81M |
| Net debt | 131.6M | 110.4M | 81.3M | -273.8M | -236.3M | -212.7M | -314.8M | -432M |
What the company owns (left stack) against what it owes plus shareholders' equity (right stack). The two stacks should match — that's the balance.
Click a row to chart it; unreported figures show a dash.
| Period | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cash & short-term investments | 245.3M | 241.9M | 289.2M | 382.9M | 382.4M | 401.7M | 365M | 409M | 478M | 529M | 438M | 564M |
| Receivables | 154.4M | 41.4M | 133.7M | 165.7M | 184.2M | 23.9M | 148M | 170M | 175M | 14M | 182M | 198M |
| Inventory | — | — | — | — | — | — | — | — | — | — | — | — |
| Total current assets | 493.2M | 492.4M | 483.9M | 611.4M | 622.6M | 560.5M | 530M | 601M | 665M | 742M | 644M | 799M |
| Property, plant & equipment | 39.1M | 42.3M | 40.6M | 49.9M | 106.7M | 89.2M | 96M | 100M | 106M | 116M | 110M | 115M |
| Goodwill & intangibles | 333.3M | 576.6M | 578.3M | 890.8M | 917.6M | 777.5M | 814M | 732M | 732M | 722M | 838M | 812M |
| Total assets | 991.5M | 960.9M | 960.7M | 1.2B | 1.3B | 1.1B | 1.1B | 1.1B | 1.2B | 1.3B | 1.2B | 1.4B |
| Accounts payable | 184M | 80.5M | 232.8M | 284.3M | 311.6M | 92.2M | 260M | 265M | 251M | 103M | 233M | 271M |
| Short-term debt | 4.8M | 5.3M | 5.5M | 7M | 6.9M | 6.1M | 6M | 6M | 5M | 5M | 31M | 32M |
| Total current liabilities | 376.8M | 391.1M | 342.7M | 452.5M | 441.4M | 446.7M | 373M | 381M | 380M | 382M | 401M | 437M |
| Long-term debt | 21.4M | 23.9M | 22.5M | 27.8M | 83.8M | 67.2M | 68M | 70M | 67M | 76M | 73M | 75M |
| Total liabilities | 406.3M | 422.1M | 371.2M | 486.9M | 532.1M | 517.2M | 444M | 454M | 450M | 466M | 503M | 536M |
| Shareholders' equity | 585.2M | 538.8M | 589.6M | 692.7M | 732.2M | 578.2M | 642M | 663M | 743M | 801M | 724M | 831M |
| Total debt | 26.2M | 29.2M | 27.9M | 34.8M | 90.7M | 73.3M | 74M | 76M | 72M | 81M | 104M | 107M |
| Net debt | -219.2M | -212.7M | -261.2M | -348.2M | -291.7M | -314.8M | -277M | -317M | -390M | -432M | -318M | -441M |
Cash from operations, what's left after capex, and what went back to shareholders. Bars below the line are cash going out.
Click a row to chart it; unreported figures show a dash.
| Period | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|
| Net income | -17.9M | 149.2M | 235.9M | 182.3M | -8.6M | 118.2M | 218M |
| Depreciation & amortization | 30.5M | 55.4M | 83.6M | 66.7M | 82.2M | 80.9M | 74M |
| Stock-based compensation | — | — | — | — | — | — | — |
| Change in working capital | -3.7M | -36.5M | -21M | 35.8M | -36.3M | 24.2M | -38M |
| Operating cash flow | -28.6M | 144.3M | 274.3M | 232.4M | 73M | 314.5M | 360M |
| Capital expenditure | -3.3M | -2M | -3.1M | -6.3M | -9.1M | -13.9M | — |
| Investing cash flow | 49.5M | 4M | 4.5M | -77M | 34.3M | -32.6M | -17M |
| Dividends paid | 0 | -10M | 0 | 0 | 0 | 0 | -156M |
| Share repurchases | 0 | 0 | -10.7M | -224.3M | -2.6M | 0 | 0 |
| Financing cash flow | -7.4M | -80.4M | -39.2M | -102M | -129.3M | -53.7M | -149M |
| Net change in cash | 13.5M | 68M | 239.6M | 53.4M | -22M | 228.2M | 194M |
| Free cash flow | 192K | 139.2M | 183.1M | 139.3M | 79.3M | 199.6M | 241M |
Cash from operations, what's left after capex, and what went back to shareholders. Bars below the line are cash going out.
Click a row to chart it; unreported figures show a dash.
| Period | Q1 21 | Q2 21 | Q1 22 | Q2 22 | Q2 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|
| Net income | 38.6M | 63.9M | -163.2M | 298.6M | -162M | 86M | 122M |
| Depreciation & amortization | 20M | 22M | 16M | 15.2M | -37M | 20M | 27M |
| Stock-based compensation | — | — | — | — | — | — | — |
| Change in working capital | 24.3M | -836K | 2.5M | 261K | 28M | -24M | -25M |
| Operating cash flow | 78.2M | 90.2M | 14.8M | -22.7M | -201M | 87M | 161M |
| Capital expenditure | -524K | -810K | -2.5M | -207K | — | — | — |
| Investing cash flow | 10.3M | 22.3M | -12.6M | -17.4M | 22M | -4M | -5M |
| Dividends paid | 0 | 0 | 0 | 0 | 40M | -152M | -25M |
| Share repurchases | -10.7M | 2K | -180M | -43.8M | — | — | — |
| Financing cash flow | -13.7M | -12.8M | -24.1M | -48.2M | 42M | -128M | -27M |
| Net change in cash | 74.8M | 99.6M | -21.9M | -88.3M | -137M | -45M | 129M |
| Free cash flow | 59.1M | 69.7M | 8.9M | 8.2M | -144M | 47M | 146M |