$19.55
▼ -3.8% Today
as of Jun 7, 07:25 ET
Last 30 days
Overview
52-week range
$8.92
$21
91% of range
Avg surprise (last 1)
+60.0%
Avg reaction (last 1)
+1.7%
100% positive
Earnings trends
EPS — actual vs estimate
Actual Estimate
Revenue vs Net Income
Revenue Net income
Earnings history
| Date | Period | Actual EPS | Est | Surprise | YoY %Δ | Day react | Source |
|---|---|---|---|---|---|---|---|
| Wed May 6, 2026 | Mar/2026 | $0.16 | $0.10 | +60.0% | — | +1.7% | earnings |
| Tue Sep 30, 2025 | Sep 2025 | $-2.19 | — | — | — | — | financials |
| Mon Mar 31, 2025 | Mar 2025 | $0.17 | — | — | — | — | financials |
| Mon Sep 30, 2024 | Sep 2024 | $0.09 | — | — | — | — | financials |
Financials
Income statement (quarterly)
| Metric | Mar 2026 | Dec 2025 | Sep 2025 | Jun 2025 | Mar 2025 | Dec 2024 | Sep 2024 | Jun 2024 |
|---|---|---|---|---|---|---|---|---|
| Revenue | $774M | — | $640M | — | $540M | — | $439M | — |
| Cost of revenue | $433M | — | $356M | — | $305M | — | $249M | — |
| Gross profit | — | — | — | — | — | — | — | — |
| Operating income | $40M | — | $-60M | — | $29M | — | $18M | — |
| Net income | $29M | — | $-59M | $24M | $23M | — | $14M | $18M |
| EPS (diluted) | $0.16 | — | $-2.19 | — | $0.17 | — | $0.09 | — |
Balance sheet (quarterly)
| Metric | Mar 2026 | Dec 2025 | Sep 2025 | Jun 2025 | Mar 2025 | Dec 2024 | Sep 2024 | Jun 2024 |
|---|---|---|---|---|---|---|---|---|
| Cash & equivalents | $344M | $289M | $313M | — | — | $176M | — | — |
| Inventory | $300M | $295M | $269M | — | — | $264M | — | — |
| Total current assets | $807M | $793M | $718M | — | — | $558M | — | — |
| Total assets | $967M | $948M | $843M | — | — | $664M | — | — |
| Long-term debt | — | — | — | — | — | — | — | — |
| Total liabilities | $358M | $367M | $302M | — | — | $285M | — | — |
| Total equity | $610M | $581M | $541M | $155M | $132M | $109M | $94M | $79M |
Implied volatility — last 90 days
No IV snapshots yet for PTRN.
IV is captured twice daily (9:15 AM & 4:30 PM ET) for tickers with upcoming earnings. Comes online automatically once the next options refresh runs.