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.15 | -$0.26 | -73.3% | — | $73.4M | — |
| Q1 26 | -$0.06 | -$0.33 | -450.0% | — | $75.6M | — |
| Q4 25 | -$0.34 | -$1.68 | -394.1% | — | $74.9M | — |
| Q3 25 | -$0.4 | -$0.25 | +37.5% | — | $70.8M | — |
| Q2 25 | -$0.23 | -$0.21 | +8.7% | — | $80.4M | — |
| Q1 25 | $0.03 | -$0.17 | -666.7% | — | $96M | — |
| Q4 24 | $0.21 | $0.05 | -76.2% | — | $120.8M | — |
| Q3 24 | $0.24 | $0.25 | +4.2% | — | $138.7M | — |
| Q2 24 | $0.35 | $0.29 | -17.1% | — | $164.9M | — |
| Q1 24 | $0.34 | $0.47 | +38.2% | — | $192.1M | — |
| Q4 23 | $0.46 | $0.27 | -41.3% | — | $199.2M | — |
| Q3 23 | $0.06 | $0.05 | -16.7% | — | $186.6M | — |
| Q2 23 | $0.03 | -$0.02 | -166.7% | — | $125.5M | — |
| Q1 23 | $0.02 | -$0.03 | -250.0% | — | $113M | — |
| Q4 22 | $0.05 | $0.01 | -80.0% | — | $108.8M | — |
| Q3 22 | $0.05 | $0.03 | -40.0% | — | $104.3M | — |
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 | — | -$1.84 | — | — | $322.2M | — |
| FY24 | — | $0.2 | — | — | $616.6M | — |
| FY23 | — | $0.07 | — | — | $624.3M | — |
| FY22 | — | $0.34 | — | — | $440.5M | — |
| FY21 | — | $0.3 |
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 | $48.3M | $94.1M | $318.7M | $440.5M | $624.3M | $616.6M | $322.2M |
| YoY change | — | +94.8% | +238.7% | +38.2% | +41.7% | -1.24% | -47.7% |
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 | 48.3M | 94.1M | 318.7M | 440.5M | 624.3M | 616.6M | 322.2M |
| Cost of revenue | 35.1M | 62.7M | 209M | 285.8M | 428.9M | 403M | 223.4M |
| Gross profit | 13.2M | 31.3M | 109.7M | 154.7M | 195.4M | 213.6M | 98.8M |
| Gross margin | 27.3% | 33.3% | 34.4% | 35.1% | 31.3% | 34.6% | 30.7% |
| Research & development | 1.2M | 1.2M | 3.3M | 5.4M | 10.9M | 11.6M | 13.6M |
| Selling, general & administrative | 28.5M | 39.4M | 83.6M | 116.9M | 153M | 157.4M | 158.7M |
| Operating expenses | 29.8M | 40.6M | 86.9M | 122.3M | 163.9M | 169M | 172.3M |
| Operating income | -20.8M | -14.8M | 15.4M | 21.8M | 15.1M | 28.7M | -89.2M |
| Operating margin | -43% | -15.7% | 4.82% | 4.96% | 2.41% | 4.65% | -27.7% |
| Non-operating income, net | 117.6K | 330.5K | 5.2M | 187.6K | -446.1K | 989.5K | -97.1M |
| Pretax income | -21.2M | -14.6M | 19.8M | 22.8M | 16.3M | 27.7M | -187.5M |
| Income tax | 47K | 167.4K | 615.7K | -8M | 6.2M | 14.4M | 8.9M |
| Net income | -21.2M | -14.8M | 19.2M | 30.7M | 10M | 13.4M | -196.4M |
| Net margin | -44% | -15.7% | 6.02% | 6.98% | 1.61% | 2.17% | -60.9% |
| EBITDA | -16.7M | -9.6M | 22.8M | 32.6M | 31.9M | 44.5M | 22.5M |
| EPS | -0.2 | -0.14 | 0.3 | 0.34 | 0.07 | 0.2 | -1.84 |
| Diluted EPS | -0.2 | -0.14 | 0.25 | 0.34 | 0.06 | 0.18 | -1.84 |
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 | 186.6M | 199.2M | 192.1M | 164.9M | 138.7M | 120.8M | 96M | 80.4M | 70.8M | 74.9M | 75.6M | 73.4M |
| Cost of revenue | 131.5M | 132.6M | 124.8M | 109.1M | 88.8M | 80.3M | 65.2M | 55M | 52.7M | 50.6M | 51.7M | 51M |
| Gross profit | 55.1M | 66.7M | 67.3M | 55.9M | 49.9M | 40.5M | 30.8M | 25.4M | 18.1M | 24.4M | 23.9M | 22.4M |
| Gross margin | 29.5% | 33.5% | 35% | 33.9% | 36% | 33.5% | 32.1% | 31.6% | 25.6% | 32.5% | 31.6% | 30.5% |
| Research & development | 3.2M | 3.2M | 2.4M | 2.4M | 3.1M | 3.7M | 3.6M | 3M | 3.2M | 3.8M | 3.7M | 3.4M |
| Selling, general & administrative | 38.8M | 47.2M | 44.8M | 39.2M | 32.5M | 41M | 37.4M | 36M | 36.2M | 49.1M | 36.2M | 34.2M |
| Operating expenses | 42M | 50.4M | 47.2M | 41.5M | 35.6M | 44.6M | 41.1M | 38.9M | 39.4M | 52.9M | 39.9M | 37.6M |
| Operating income | 8.7M | 11.7M | 15.9M | 10.1M | 10.1M | -7.5M | -14M | -17.5M | -25.2M | -32.4M | -18.7M | -17.9M |
| Operating margin | 4.67% | 5.86% | 8.26% | 6.15% | 7.31% | -6.18% | -14.6% | -21.7% | -35.6% | -43.3% | -24.8% | -24.4% |
| Non-operating income, net | 102.7K | 515.7K | 216K | -68K | -597.9K | 1.4M | -379.3K | 7.3K | -17.7M | -79M | 2.1M | 83.6K |
| Pretax income | 9.2M | 12.2M | 15.7M | 9.6M | 9M | -6.6M | -14.8M | -17.9M | -43.2M | -111.6M | -16.7M | -17.9M |
| Income tax | 4.5M | 4.2M | 5.1M | 3.7M | 4.5M | 1.1M | -3.7M | -4.6M | -13.5M | 30.7M | 19.3K | 56.1K |
| Net income | 4.6M | 8M | 10.6M | 5.9M | 4.5M | -7.6M | -11.1M | -13.3M | -29.7M | -142.3M | -16.7M | -18M |
| Net margin | 2.48% | 4.01% | 5.52% | 3.55% | 3.28% | -6.33% | -11.5% | -16.5% | -41.9% | -190% | -22.1% | -24.5% |
| EBITDA | 12.9M | 16.7M | 20.2M | 14.6M | 14.4M | -4.6M | -10.6M | -13.4M | -3.5M | 49.6M | -15.8M | -15.1M |
| EPS | 0.05 | 0.07 | 0.11 | 0.06 | 0.05 | — | -0.09 | -0.11 | -0.28 | -1.37 | -0.15 | -0.16 |
| Diluted EPS | 0.05 | 0.07 | 0.1 | 0.06 | 0.05 | — | -0.09 | -0.11 | -0.28 | -1.37 | -0.15 | -0.16 |
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 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|
| Market cap | — | 1B | — | — | 578.6M | 434.2M | 87M | 36.1M |
| Enterprise value | — | 999.2M | — | — | 565.8M | 402.1M | 65.1M | 13.5M |
| Shares outstanding | 100.2M | 100.2M | 80.3M | 101.2M | 103.5M | 102.4M | 99.1M | 99.1M |
| Metric | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|
| P/E | — | — | — | — | 57.6 | 32.5 | — | 8.47 |
| P/S | — | 10.8 | — | — | 0.93 | 0.7 | 0.27 | 0.12 |
| P/B | — | 15.2 | — | — | 1.9 | 1.38 | 0.69 | 0.3 |
| EV/EBITDA | — | -104.3 | — | — | 17.7 | 9.05 | 2.9 | -0.17 |
| EV/Sales | — | 10.6 | — | — | 0.91 | 0.65 | 0.2 | 0.05 |
| Earnings yield | — | — | — | — | 1.74% | 3.08% | — | 11.8% |
| FCF yield | — | -1.67% | — | — | -12.8% | 14.9% | 31.1% | 4.83% |
| PEG | — | — | — | — | — | — | — | 0.19 |
| Metric | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|
| Gross margin | 27.3% | 33.3% | 34.4% | 35.1% | 31.3% | 34.6% | 30.7% | 30.5% |
| Operating margin | -43% | -15.7% | 4.82% | 4.96% | 2.41% | 4.65% | -27.7% | -24.4% |
| Net margin | -44% | -15.7% | 6.02% | 6.98% | 1.61% | 2.17% | -60.9% | -65.3% |
| ROE | -26.8% | -22.1% | 8.45% | 11% | 3.29% | 4.24% | -156% | -107.8% |
| ROA | -21% | -14.8% | 6.19% | 7.82% | 2.05% | 2.93% | -90.4% | -19.8% |
| ROIC | -44% | -30.5% | 21.9% | 15.4% | 3.18% | 4.88% | -85.7% | -97.8% |
| Return on tangible assets | -31% | -22.6% | 7.08% | 11.4% | 3.14% | 4.32% | -90.4% | -112.3% |
| Metric | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|
| Current ratio | 6.08 | 2.49 | 4.42 | 2.71 | 1.99 | 2.5 | 2.26 | 1.66 |
| Quick ratio | 6.08 | 2.49 | 4.42 | 2.71 | 1.99 | 2.5 | 2.26 | 1.66 |
| Debt / equity | 0.2 | 0.21 | 0.07 | 0.07 | 0.15 | 0.18 | 0.23 | 0.27 |
| Debt / assets | 0.15 | 0.14 | 0.05 | 0.05 | 0.09 | 0.13 | 0.13 | 0.14 |
| Net debt / EBITDA | 1.93 | 1.93 | -6.99 | -4.21 | -0.4 | -0.72 | -0.97 | 0.04 |
| Interest coverage | — | — | 26.9 | — | — | 15.4 | — | — |
| Effective tax rate | 0% | 0% | 3.11% | 0% | 38.3% | 51.9% | 0% | 0% |
| Metric | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|
| Revenue per share | 0.48 | 0.94 | 3.97 | 4.35 | 6.03 | 6.02 | 3.25 | 3 |
| EPS (basic) | -0.2 | -0.14 | 0.3 | 0.34 | 0.07 | 0.2 | -1.84 | -1.84 |
| EPS (diluted) | -0.2 | -0.14 | 0.25 | 0.34 | 0.06 | 0.18 | -1.84 | -2.06 |
| Book value per share | 0.79 | 0.67 | 2.83 | 2.76 | 2.95 | 3.08 | 1.27 | 1.2 |
| FCF per share | -0.18 | -0.17 | -0.11 | 0.23 | -0.72 | 0.63 | 0.27 | -0.29 |
| Cash per share | 0.48 | 0.32 | 2.19 | 1.55 | 0.57 | 0.87 | 0.51 | 0.26 |
| Capex per share | 0 | 0.04 | 0.06 | 0.03 | 0.07 | 0.03 | — | — |
| Metric | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|
| Capex / revenue | 0.59% | 4.34% | 1.49% | 0.73% | 1.1% | 0.58% | — | — |
| Capex / operating cash flow | -1.51% | -18.3% | -22.4% | 9.57% | -5.83% | 4.17% | — | — |
| Payout ratio | — | — | — | — | — | — | — | 0% |
| — |
| — |
| $318.7M |
| — |
| FY20 | — | -$0.14 | — | — | $94.1M | — |
| FY19 | — | -$0.2 | — | — | $48.3M | — |
| Q1 24 |
|---|
| Q2 24 |
|---|
| Q3 24 |
|---|
| Q4 24 |
|---|
| Q1 25 |
|---|
| Q2 25 |
|---|
| Q3 25 |
|---|
| Q4 25 |
|---|
| Q1 26 |
|---|
| Q2 26 |
|---|
| Revenue | $186.6M | $199.2M | $192.1M | $164.9M | $138.7M | $120.8M | $96M | $80.4M | $70.8M | $74.9M | $75.6M | $73.4M |
| YoY change | +78.8% | +83.2% | +70% | +31.4% | -25.7% | -39.4% | -50% | -51.2% | -48.9% | -38% | -21.3% | -8.7% |
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 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|
| Cash & short-term investments | 47.7M | 32.4M | 175.5M | 157.3M | 59.3M | 89.2M | 51M |
| Receivables | 10.2M | 24.9M | 78.4M | 103M | 262.1M | 210.9M | 92.9M |
| Inventory | — | — | — | — | — | — | — |
| Total current assets | 59.1M | 58.4M | 256M | 271.1M | 338.9M | 304.5M | 152.4M |
| Property, plant & equipment | 20.4M | 20.9M | 25.7M | 38.8M | 37.9M | 41.7M | 43M |
| Goodwill & intangibles | 32.6M | 34.6M | 38.7M | 123.7M | 170.4M | 146.3M | 0 |
| Total assets | 101M | 100.2M | 309.6M | 393.3M | 490.5M | 455.6M | 217.1M |
| Accounts payable | 947.9K | 4M | 15.8M | 21.6M | 19.8M | 28.4M | 11.1M |
| Short-term debt | 3.7M | 4.2M | 5.4M | 5.7M | 31.3M | 38.6M | 10.2M |
| Total current liabilities | 9.7M | 23.5M | 57.9M | 100.2M | 170.1M | 121.8M | 67.5M |
| Long-term debt | 11.9M | 9.7M | 11.2M | 14.2M | 15.2M | 18.6M | 19M |
| Total liabilities | 21.6M | 33.2M | 82.5M | 114.4M | 185.3M | 140.4M | 91.2M |
| Shareholders' equity | 79.4M | 66.9M | 227.1M | 278.9M | 305.2M | 315.2M | 125.9M |
| Total debt | 15.5M | 13.9M | 16.5M | 19.9M | 46.5M | 57.2M | 29.2M |
| Net debt | -32.2M | -18.5M | -159M | -137.4M | -12.8M | -32.1M | -21.8M |
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 | 52.9M | 59.3M | 41.2M | 66.1M | 89.5M | 89.2M | 79M | 104.2M | 73.4M | 51M | 35.7M | 25.2M |
| Receivables | 207.3M | 262.1M | 283.1M | 257.5M | 233.7M | 210.9M | 178.8M | 122.8M | 107M | 92.9M | 94M | 86.2M |
| Inventory | — | — | — | — | — | — | — | — | — | — | — | — |
| Total current assets | 267.1M | 338.9M | 335.1M | 328.7M | 328.3M | 304.5M | 262.5M | 236.6M | 190.2M | 152.4M | 138.2M | 119.8M |
| Property, plant & equipment | 39.3M | 37.9M | 38.3M | 38.9M | 41.9M | 41.7M | 45.3M | 44.2M | 42.9M | 43M | 41.5M | 38.2M |
| Goodwill & intangibles | 172.4M | 170.4M | 168.5M | 167M | 165.7M | 146.3M | 153.8M | 153.3M | 118.1M | 0 | 1.3M | 2.8M |
| Total assets | 419.8M | 490.5M | 490.7M | 488.2M | 493.9M | 455.6M | 430.8M | 408.3M | 353.8M | 217.1M | 209.2M | 186.8M |
| Accounts payable | 9M | 19.8M | 25.6M | 30.8M | 35.1M | 28.4M | 20.5M | 10.1M | 8.1M | 11.1M | 13.9M | 14M |
| Short-term debt | 6M | 31.3M | 36.7M | 37.2M | 38.2M | 38.6M | 39.6M | 40.1M | 9.9M | 10.2M | 10.2M | 9.7M |
| Total current liabilities | 113.1M | 170.1M | 160.1M | 154.1M | 150.2M | 121.8M | 107.6M | 100.1M | 73.6M | 67.5M | 77.2M | 72.3M |
| Long-term debt | 15.2M | 15.2M | 15.5M | 16.1M | 18.7M | 18.6M | 21.3M | 20.4M | 19.5M | 19M | 18.3M | 16.2M |
| Total liabilities | 128.2M | 185.3M | 175.6M | 170.2M | 169M | 140.4M | 128.9M | 120.5M | 93.1M | 91.2M | 98M | 91M |
| Shareholders' equity | 291.6M | 305.2M | 315.1M | 318M | 324.9M | 315.2M | 301.9M | 287.7M | 260.7M | 125.9M | 111.2M | 95.8M |
| Total debt | 21.2M | 46.5M | 52.2M | 53.2M | 57M | 57.2M | 60.9M | 60.5M | 29.5M | 29.2M | 28.5M | 25.9M |
| Net debt | -31.8M | -12.8M | 11M | -12.8M | -32.5M | -32.1M | -18.2M | -43.7M | -43.9M | -21.8M | -7.2M | 672.8K |
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 | -21.2M | -14.8M | 19.2M | 30.7M | 10M | 13.4M | -196.4M |
| Depreciation & amortization | 4.2M | 5.5M | 7.1M | 10.6M | 16.4M | 15.9M | 15.7M |
| Stock-based compensation | 457.5K | 687.1K | 1.4M | 8.1M | 21M | 13.6M | 17.4M |
| Change in working capital | -2.4M | -13.4M | -48.6M | -3M | -161.2M | 48.4M | 95.5M |
| Operating cash flow | -18.8M | -22.3M | -21.1M | 33.4M | -117.2M | 85.4M | 34.5M |
| Capital expenditure | -283.7K | -4.1M | -4.7M | -3.2M | -6.8M | -3.6M | — |
| Investing cash flow | -619.2K | -4.1M | -6.7M | -36.1M | -27.3M | -8.9M | -31.9M |
| Dividends paid | — | — | — | — | — | — | — |
| Share repurchases | — | 0 | -479.3K | -3.7M | 0 | -13.8M | -10.8M |
| Financing cash flow | 55.3M | -812.1K | 146.6M | -7.2M | -462.5K | -24.2M | -50.8M |
| Net change in cash | 35.9M | -27.2M | 118.7M | -9.9M | -145M | 52.4M | -48.2M |
| Free cash flow | -18M | -17M | -8.6M | 23.4M | -74.3M | 64.5M | 27M |
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 | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Net income | 4.6M | 8M | 10.6M | 5.9M | 4.5M | -7.6M | — | -13.3M | -29.7M | -142.3M | -16.7M | -18M |
| Depreciation & amortization | 4.3M | 4.6M | 4.2M | 4.2M | 4.2M | 3.3M | — | 4M | 4M | 3.9M | 2.6M | 2.7M |
| Stock-based compensation | 3.4M | 5.8M | 4M | 2.6M | 3.2M | 3.9M | — | 4.8M | 4.6M | 3.1M | 3.2M | 2.7M |
| Change in working capital | -85.2M | -45.8M | -16.7M | 26.1M | 24.8M | 14.4M | — | 45.4M | 12.6M | 13.6M | 45.5K | 6.4M |
| Operating cash flow | -70.5M | -31.7M | 2.1M | 37.2M | 33.5M | 12.9M | — | 34M | 1.7M | -10.5M | -4.7M | -9.2M |
| Capital expenditure | -804.2K | -2.8M | -926.7K | -1.1M | -859.5K | -797.4K | — | — | — | — | — | — |
| Investing cash flow | -954.7K | -2.9M | -926.7K | -1.3M | -1M | -797.4K | 0 | 0 | 2.6M | -24.1M | 2.7M | 9.2M |
| Dividends paid | — | — | — | — | — | — | — | — | — | — | — | — |
| Share repurchases | 0 | 0 | -4.9M | -4.9M | -1.3M | -2.7M | — | -5.1M | 0 | 0 | 0 | 0 |
| Financing cash flow | -9.1M | 12.9M | -40.9M | -8.1M | -7.4M | -7.9M | — | -7.4M | -33.1M | -1.9M | -2.5M | -1.7M |
| Net change in cash | -80.6M | -21.7M | -39.8M | 27.8M | 25.1M | 4.2M | 0 | 26.7M | -28.8M | -36.4M | -4.4M | -1.7M |
| Free cash flow | -47.2M | -9.2M | -12.4M | 35.1M | 29.6M | 12.2M | — | 32M | 101.2K | -12.6M | -5.8M | -10.4M |