Scroll or pinch to zoom, drag to move. Daily prices adjusted for splits. Markers: E = earnings (green beat, red miss), S = split, D = dividend.
Three things to know
- Diluted EPS over the last four quarters was $0.26, up 2048.8% year over year.
- Over the past year the stock returned +151.9%, ahead of the S&P 500 by 136.8 percentage points.
- Revenue over the last four quarters was $387.0M, up 26.5% from a year earlier, accelerating from 21.7% a quarter earlier.
PromtFinance scores
Each score is a percentile within the Energy sector (0–100). Under each score: how the stock ranks in its sector on every component. As of Oct 5, 2026.
How fast revenue, earnings and cash flow are growing.
- Revenue growth (TTM, YoY)Top 19%
- EPS growth (TTM, YoY)Top 1%
- FCF growth (TTM, YoY)Top 1%
- Revenue growth, 3-year CAGRTop 27%
- Revenue growth accelerationTop 49%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalBottom 28%
- Gross marginBottom 23%
- Operating marginBottom 21%
- Cash conversion (OCF / net income)Top 14%
- Accruals (lower is better)Top 31%
- Net debt / EBITDA (lower is better)Top 40%
- Interest coverTop 41%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldTop 47%
- Free-cash-flow yieldTop 6%
- EBITDA / enterprise valueTop 42%
- Sales / enterprise valueTop 10%
- P/E vs own 5-year history (lower is better)Top 31%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthTop 2%
- 6-month returnTop 25%
- 1-year return vs S&P 500Top 2%
- Distance from 52-week highTop 17%
- Trend checklist (0–4)Top 5%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersBottom 7%
- Consecutive EPS beatsTop 21%
- Share of analysts rating BuyBottom 7%
- Upside to consensus price targetBottom 1%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Bottom 27%
- Maximum drawdown, 3 yearsTop 27%
- Beta vs S&P 500 (lower is better)Top 18%
- Net debt / EBITDA (lower is better)Top 40%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | 21.7% | 26.5% | ↑ |
| Gross margin | 10.4% | 13.2% | ↑ |
| Operating margin | -2.8% | 2.0% | ↑ |
| FCF margin | 0.1% | 8.9% | ↑ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | 26.5% | 21.7% | ↑ | Top 19% |
| EPS growth (TTM, YoY) | 2048.8% | — | Top 1% | |
| Gross margin | 13.2% | 10.4% | ↑ | Bottom 23% |
| Operating margin | 2.0% | -2.8% | ↑ | Bottom 21% |
| Net margin | 2.7% | 0.3% | ↑ | — |
| Free-cash-flow margin | 8.9% | 0.1% | ↑ | — |
| Return on invested capital | 2.5% | — | Bottom 28% | |
| Revenue growth, 3-year CAGR | 8.9% | — | Top 27% |
Quality of earnings and balance sheet
- Cash conversion (OCF / net income)Above 1× means profits are backed by cash.
- 3.00×
- Accruals (net income − OCF) / assetsLower is better; high accruals can signal weaker earnings quality.
- -10.5%
- Stock-based compensation / revenueA cost to shareholders through dilution.
- 0.9%
- Receivables growth vs revenue growthReceivables growing much faster than sales can be a warning.
- -29.5 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- 1.05×
- Interest cover (operating income / interest)How many times operating profit covers interest.
- 5.6×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 4.36%
- Net buyback yield (TTM)
- 2.42%
- Shareholder yield
- 6.79%
- Share count change, 1 year
- +5.1%
- Share count change, 3-year CAGR
- +2.9%
Shareholder yield = dividends + net buybacks over the last four quarters, divided by market cap.
Based on the four quarters through Jun 30, 2026 (filed Aug 11, 2026).
Earnings and expectations
Earnings momentum
- Consecutive EPS beats
- 3
- Beats in the last 8 reports
- 4 of 8
- Average EPS surprise, last 4
- -100.0%
- Average 2-day reaction, last 8
- +1.3%
- Positive 20 days after report
- 5 of 8
Analysts
- Consensus price target
- $2.25
- Target vs current price
- -57.9%
- Analysts with a rating
- 14
- Share rating Buy or Strong Buy
- 21%
- Consensus rating
- Hold
How the stock reacted to recent reports
| Report date | EPS surprise | 2 days | 5 days | 20 days | 60 days |
|---|---|---|---|---|---|
| Aug 11, 2026 | — | +1.3% | +7.0% | +16.8% | — |
| May 12, 2026 | — | +5.7% | -1.2% | +9.4% | -9.8% |
| Feb 26, 2026 | +200.0% | -1.7% | -21.1% | -3.3% | -5.4% |
| Nov 12, 2025 | +366.7% | -0.9% | +16.7% | +67.8% | +109.9% |
| Aug 12, 2025 | +66.7% | +1.6% | +5.4% | +2.7% | +15.7% |
| May 13, 2025 | -1966.7% | +4.3% | -11.1% | -3.4% | -12.6% |
| Mar 3, 2025 | +0.0% | -2.3% | +0.0% | +16.7% | -17.1% |
| Nov 12, 2024 | -100.0% | +1.9% | -11.6% | -10.1% | -7.0% |
Returns from the close before each report. Past reactions do not determine future ones.
Earnings history
| Report date | EPS | Estimate | Surprise | Revenue |
|---|---|---|---|---|
| Aug 11, 2026 | $0.25 | — | — | $115.0M |
| May 12, 2026 | -$0.10 | — | — | $93.1M |
| Feb 26, 2026 | $0.03 | -$0.03 | +200.0% | $86.0M |
| Nov 12, 2025 | $0.08 | -$0.03 | +366.7% | $92.8M |
| Aug 12, 2025 | -$0.01 | -$0.03 | +66.7% | $85.8M |
| May 13, 2025 | -$0.62 | -$0.03 | -1966.7% | $65.6M |
| Mar 3, 2025 | $0.09 | $0.09 | +0.0% | $91.4M |
| Nov 12, 2024 | -$0.00 | -$0.00 | -100.0% | $63.2M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 20.5× | 24.4× | 46th | Top 47% |
| P/E (forward) | 53.9× | — | — | — |
| EV / EBITDA | 8.3× | — | — | Top 42% |
| EV / Sales | 0.68× | — | — | Top 10% |
| Free-cash-flow yield | 15.09% | — | — | Top 6% |
| Earnings yield | 4.87% | — | — | Top 47% |
P/E over the past five years
Range 6.1× – 169.3× since Jun 30, 2021. Each point: price on the filing date divided by trailing-twelve-month EPS known then.
What moved the stock over the past year
- Price return, 1 year
- +151.9%
- Earnings per share growth (TTM)
- +2048.8%
- Change in P/E multiple
- -88.5%
Most of the move came from earnings growth.
Technical state
Trend checklist
- ✓ Price above 20-day average
- ✓ Price above 50-day average
- ✓ Price above 200-day average
- ✓ 50-day average above 200-day
- ✗ MACD histogram positive
Trend quality
- Days above the 50-day average
- 27
- Days above the 200-day average
- 41
- 50-day average slope (20 days)
- +3.3%
- 200-day average slope (20 days)
- +4.0%
- Distance from 50-day average
- +8.3%
- Distance from 200-day average
- +12.2%
- RSI (14)
- 58.0
- Relative volume
- 1.02×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 53.9%
- Volatility vs own 5-year history
- 46th percentile · Normal for this stock
- Beta vs S&P 500 (2 years, weekly)
- 0.14
- Correlation with S&P 500
- 0.03
- Current drawdown from 1-year high
- -8.2%
- Maximum drawdown, 3 years
- -33.5%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| Apr 20, 2022 | Sep 26, 2022 | -70.3% | 109 days | 834 days (Jan 23, 2026) |
| Mar 2, 2021 | Dec 20, 2021 | -52.2% | 204 days | 51 days (Mar 4, 2022) |
| Mar 8, 2022 | Mar 14, 2022 | -34.5% | 4 days | 19 days (Apr 8, 2022) |
| Feb 19, 2026 | Mar 11, 2026 | -32.4% | 14 days | 12 days (Mar 27, 2026) |
| Jun 8, 2026 | Jul 28, 2026 | -29.0% | 34 days | Not yet recovered |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $229.5M
- P/E (TTM)
- 20.5
- EPS, diluted (TTM)
- $0.26
- Revenue (TTM)
- $387.0M
- Dividend yield
- 4.68%
- 52-week range
- $2.03 – $5.92
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Revenue | $126.6M | $255.7M | $296.0M | $311.4M | $330.2M |
| Gross profit | -$15.9M | $29.6M | $41.6M | $44.8M | $35.5M |
| Operating income | -$63.5M | -$3.1M | -$1.5M | $3.0M | -$5.0M |
| Net income | -$50.7M | -$703,000 | $4.6M | $3.0M | $1.3M |
| EPS (diluted) | -$1.21 | -$0.02 | $0.12 | $0.08 | $0.03 |
| Q3 2024 | Q4 2024 | Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $63.2M | $91.4M | $65.6M | $85.8M | $92.8M | $86.0M | $93.1M | $115.0M |
| Net income | -$98,000 | $3.7M | -$24.2M | $21.4M | $3.0M | $1.2M | -$3.9M | $10.2M |
| EPS (diluted) | -$0.00 | $0.09 | -$0.62 | $0.54 | $0.08 | $0.03 | -$0.10 | $0.25 |
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Operating cash flow | $32.4M | $5.4M | $31.0M | $17.9M | $44.1M |
| Capital expenditure | -$11.2M | -$12.7M | -$23.0M | -$7.0M | -$11.6M |
| Free cash flow | $21.2M | -$7.3M | $8.0M | $10.9M | $32.5M |
| Dividends paid | $0 | $0 | $0 | -$3.9M | -$5.9M |
| Net share buybacks | -$360,000 | $99,000 | -$4.8M | -$422,000 | -$2.7M |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $10.2M
- Total assets
- $347.1M
- Total liabilities
- $109.0M
- Total debt
- $43.4M
- Net debt
- $33.2M
- Shareholders’ equity
- $238.1M
As of Jun 30, 2026 (filed Aug 11, 2026).
Dividends
| Ex-date | Amount | Paid |
|---|---|---|
| Jul 28, 2026 | $0.10 | Aug 12, 2026 |
| Apr 22, 2026 | $0.10 | May 5, 2026 |
| Dec 2, 2025 | $0.05 | Dec 16, 2025 |
| Aug 4, 2025 | $0.10 | Aug 14, 2025 |
| Oct 15, 2024 | $0.10 | Oct 28, 2024 |
Short interest
- Shares sold short
- 2,065,789
- Days to cover
- 11.40
- Change vs previous report
- +3.0%
FINRA short interest, settlement date Sep 15, 2026.