Valuation
Is the price right?Insufficient data: 1 of 3 inputs reported (at least 2 needed). We leave it blank rather than fill the gap with a made-up middle value.
Bringing the fundamentals into focus…
Price as of close on Nov 3, 2026 · Financials updated Oct 1, 2026
Insufficient data: 1 of 3 inputs reported (at least 2 needed). We leave it blank rather than fill the gap with a made-up middle value.
3/3 inputs reported · High confidence
Why it changed since the Oct 27, 2026 close: Score 30 → 29
Weaker than most peers on:
Revenue and earnings-per-share growth over one year, and revenue growth over three years.
Insufficient data: 1 of 3 inputs reported (at least 2 needed). We leave it blank rather than fill the gap with a made-up middle value.
Insufficient data: 0 of 3 inputs reported (at least 2 needed). We leave it blank rather than fill the gap with a made-up middle value.
Valuation, growth and profitability scores: higher is better. Risk: 0 is lower, 2 is higher. Risk is a relative proxy, not a bankruptcy probability. Scores depend on available sector peers.
Mixed: some things better, some worse
| Previous quarter | Latest quarter | Change | |
|---|---|---|---|
| Revenue (12 months) | 647.8M USD | 617.9M USD | −4.6% |
| Net income (12 months) | 293.5M USD | 327.8M USD | +11.7% |
| Cash | 307.7M USD | 255.5M USD | −17.0% |
From the company’s own SEC filings, as filed. Twelve-month figures roll forward one quarter at a time.
| Key ratios | FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | Change |
|---|---|---|---|---|---|---|
| Operating margin | 40.4% | 68.5% | 70.0% | 86.2% | 87.0% | ▲ 0.8 pts |
| Net margin | 43.4% | 18.5% | 32.1% | 39.5% | 36.7% | ▼ 2.9 pts |
| Return on assets (ROA) | 4.4% | 3.6% | 2.9% | 4.3% | 3.7% | ▼ 0.7 pts |
| Return on equity (ROE) | 38.0% | 13.2% | 9.8% | 12.8% | 11.1% | ▼ 1.8 pts |
| Free cash flow margin | -187.9% | -172.0% | -106.1% | -69.2% | — | — |
| Interest coverage | 3.79× | 3.04× | 9.59× | 6.72× | 6.67× | ▼ 0.8% |
Price history is added with the daily price update and will appear after the next one.