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
- Revenue over the last four quarters was $1.56B, up 7.1% from a year earlier.
- Diluted EPS over the last four quarters was $3.47, down 13.5% year over year.
- Over the past year the stock returned +9.6%, behind the S&P 500 by 5.4 percentage points.
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)Bottom 40%
- EPS growth (TTM, YoY)Bottom 37%
- Revenue growth, 3-year CAGRTop 31%
- Revenue growth accelerationBottom 37%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalTop 49%
- Gross marginTop 37%
- Operating marginBottom 42%
- Cash conversion (OCF / net income)Bottom 28%
- Accruals (lower is better)Bottom 16%
- Net debt / EBITDA (lower is better)Bottom 30%
- Interest coverBottom 45%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldTop 25%
- Free-cash-flow yieldBottom 23%
- EBITDA / enterprise valueTop 35%
- Sales / enterprise valueTop 23%
- P/E vs own 5-year history (lower is better)Top 18%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthBottom 49%
- 6-month returnBottom 33%
- 1-year return vs S&P 500Bottom 44%
- Distance from 52-week highTop 49%
- Trend checklist (0–4)Bottom 45%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersTop 47%
- Consecutive EPS beatsBottom 20%
- Upside to consensus price targetTop 24%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Top 24%
- Maximum drawdown, 3 yearsTop 29%
- Beta vs S&P 500 (lower is better)Bottom 21%
- Net debt / EBITDA (lower is better)Bottom 30%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | 5.9% | 7.1% | ↑ |
| EPS growth (YoY) | -1.5% | -13.5% | ↓ |
| Gross margin | 28.4% | 42.3% | ↑ |
| Operating margin | 9.7% | 9.5% | ↓ |
| FCF margin | -0.6% | -2.2% | ↓ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | 7.1% | 5.9% | ↑ | Bottom 40% |
| EPS growth (TTM, YoY) | -13.5% | -1.5% | ↓ | Bottom 37% |
| Gross margin | 42.3% | 28.4% | ↑ | Top 37% |
| Operating margin | 9.5% | 9.7% | ↓ | Bottom 42% |
| Net margin | 6.7% | 8.2% | ↓ | — |
| Free-cash-flow margin | -2.2% | -0.6% | ↓ | — |
| Return on invested capital | 6.9% | — | Top 49% | |
| Revenue growth, 3-year CAGR | 7.5% | — | Top 31% |
Quality of earnings and balance sheet
- Cash conversion (OCF / net income)Above 1× means profits are backed by cash.
- 1.27×
- Accruals (net income − OCF) / assetsLower is better; high accruals can signal weaker earnings quality.
- -1.2%
- Stock-based compensation / revenueA cost to shareholders through dilution.
- 0.8%
- Receivables growth vs revenue growthReceivables growing much faster than sales can be a warning.
- +1.6 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- 2.60×
- Interest cover (operating income / interest)How many times operating profit covers interest.
- 3.2×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 0.62%
- Net buyback yield (TTM)
- 1.33%
- Shareholder yield
- 1.95%
- Share count change, 1 year
- +0.7%
- Share count change, 3-year CAGR
- +2.3%
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 5, 2026).
Earnings and expectations
Earnings momentum
- Consecutive EPS beats
- 0
- Beats in the last 8 reports
- 6 of 8
- Average EPS surprise, last 4
- +9.1%
- Average 2-day reaction, last 8
- +0.5%
- Positive 20 days after report
- 3 of 8
Analysts
- Consensus price target
- $60.00
- Target vs current price
- +49.0%
How the stock reacted to recent reports
| Report date | EPS surprise | 2 days | 5 days | 20 days | 60 days |
|---|---|---|---|---|---|
| Aug 4, 2026 | -21.6% | +4.5% | +1.9% | -0.6% | — |
| May 5, 2026 | -56.4% | -1.1% | -14.1% | -14.6% | -9.5% |
| Feb 25, 2026 | +32.6% | -0.3% | -2.8% | -2.9% | -7.9% |
| Nov 4, 2025 | +82.0% | -3.4% | -11.2% | -15.3% | +2.9% |
| Aug 5, 2025 | +36.3% | +3.4% | +10.9% | +11.1% | +13.4% |
| May 6, 2025 | +60.6% | -0.2% | +2.1% | +3.5% | +16.9% |
| Feb 26, 2025 | +75.4% | -1.9% | -6.5% | -8.7% | -17.8% |
| Nov 5, 2024 | +83.6% | +3.3% | +13.0% | +12.0% | +0.8% |
Returns from the close before each report. Past reactions do not determine future ones.
Earnings history
| Report date | EPS | Estimate | Surprise | Revenue |
|---|---|---|---|---|
| Aug 4, 2026 | $0.70 | $0.89 | -21.6% | $411.8M |
| May 5, 2026 | $0.44 | $1.01 | -56.4% | $388.7M |
| Feb 25, 2026 | $0.61 | $0.46 | +32.6% | $377.3M |
| Nov 4, 2025 | $1.72 | $0.95 | +82.0% | $386.3M |
| Aug 5, 2025 | $1.07 | $0.79 | +36.3% | $376.4M |
| May 6, 2025 | $0.92 | $0.57 | +60.6% | $350.5M |
| Feb 26, 2025 | $1.07 | $0.61 | +75.4% | $353.5M |
| Nov 5, 2024 | $1.12 | $0.61 | +83.6% | $356.4M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 11.6× | 20.3× | 33th | Top 25% |
| P/E (forward) | 11.8× | — | — | — |
| EV / EBITDA | 7.3× | — | — | Top 35% |
| EV / Sales | 1.18× | — | — | Top 23% |
| Free-cash-flow yield | -2.89% | — | — | Bottom 23% |
| Earnings yield | 8.62% | — | — | Top 25% |
P/E over the past five years
Range 7.1× – 313.3× since Jun 30, 2022. 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
- +9.6%
- Earnings per share growth (TTM)
- -13.5%
- Change in P/E multiple
- +33.8%
Most of the move came from a change in the valuation multiple.
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
- 0
- Days above the 200-day average
- 0
- 50-day average slope (20 days)
- -1.0%
- 200-day average slope (20 days)
- +1.2%
- Distance from 50-day average
- -8.9%
- Distance from 200-day average
- -8.1%
- RSI (14)
- 32.3
- Relative volume
- 0.51×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 29.3%
- Volatility vs own 5-year history
- 13th percentile · Low for this stock
- Beta vs S&P 500 (2 years, weekly)
- 0.99
- Correlation with S&P 500
- 0.41
- Current drawdown from 1-year high
- -19.5%
- Maximum drawdown, 3 years
- -35.3%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| Mar 10, 2022 | Mar 23, 2023 | -47.0% | 260 days | 362 days (Aug 30, 2024) |
| Aug 30, 2024 | Apr 8, 2025 | -35.3% | 150 days | 137 days (Oct 23, 2025) |
| Nov 5, 2021 | Dec 1, 2021 | -26.2% | 17 days | 68 days (Mar 10, 2022) |
| Dec 15, 2020 | Jan 29, 2021 | -20.2% | 30 days | 143 days (Aug 24, 2021) |
| Apr 13, 2026 | Oct 2, 2026 | -19.5% | 120 days | Not yet recovered |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $1.19B
- P/E (TTM)
- 11.6
- EPS, diluted (TTM)
- $3.47
- Revenue (TTM)
- $1.56B
- Dividend yield
- 0.93%
- 52-week range
- $35.03 – $50.38
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Revenue | $1.19B | $1.20B | $1.30B | $1.42B | $1.49B |
| Gross profit | $191.8M | $278.9M | $330.8M | $398.3M | $318.0M |
| Operating income | $1.2M | $26.0M | $60.8M | $132.6M | $143.8M |
| Net income | -$15.8M | $9.2M | -$6.8M | $94.8M | $129.1M |
| EPS (diluted) | -$0.55 | $0.32 | -$0.24 | $3.21 | $4.32 |
| Q3 2024 | Q4 2024 | Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $356.4M | $377.2M | $350.5M | $376.4M | $386.3M | $377.3M | $388.7M | $411.8M |
| Net income | $28.2M | $31.8M | $27.4M | $31.7M | $51.5M | $18.4M | $13.1M | $21.2M |
| EPS (diluted) | $0.95 | $1.07 | $0.92 | $1.07 | $1.72 | $0.61 | $0.44 | $0.70 |
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Operating cash flow | $123.9M | -$14.1M | $32.0M | $177.4M | $198.2M |
| Capital expenditure | -$31.1M | -$49.6M | -$81.5M | -$255.4M | -$142.0M |
| Free cash flow | $92.8M | -$63.7M | -$49.5M | -$78.0M | $56.1M |
| Dividends paid | $0 | $0 | $0 | $0 | $0 |
| Net share buybacks | -$41.2M | -$11.3M | -$2.7M | -$4.1M | -$13.8M |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $314.8M
- Total assets
- $2.38B
- Total liabilities
- $1.29B
- Total debt
- $969.7M
- Net debt
- $655.0M
- Shareholders’ equity
- $1.09B
As of Jun 30, 2026 (filed Aug 5, 2026).
Dividends
| Ex-date | Amount | Paid |
|---|---|---|
| Aug 14, 2026 | $0.13 | Aug 28, 2026 |
| May 15, 2026 | $0.13 | May 29, 2026 |
| Mar 13, 2026 | $0.13 | Mar 26, 2026 |
Short interest
- Shares sold short
- 1,120,618
- Days to cover
- 4.23
- Change vs previous report
- -5.9%
FINRA short interest, settlement date Sep 15, 2026.
Stock splits
- Jun 12, 2020
- 1-for-2