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 $1.17, down 56.0% year over year.
- The stock is in an uptrend: above its 200-day average for 65 trading days, with the 50-day average above the 200-day.
- Earnings beat analyst estimates in each of the last 4 quarters (average surprise over the last four: +20.3%).
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 26%
- EPS growth (TTM, YoY)Bottom 23%
- FCF growth (TTM, YoY)Top 34%
- Revenue growth, 3-year CAGRTop 16%
- Revenue growth accelerationTop 15%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalTop 35%
- Gross marginTop 10%
- Operating marginTop 39%
- Cash conversion (OCF / net income)Top 14%
- Accruals (lower is better)Top 30%
- Net debt / EBITDA (lower is better)Top 5%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldBottom 37%
- Free-cash-flow yieldTop 41%
- EBITDA / enterprise valueBottom 34%
- Sales / enterprise valueBottom 37%
- P/E vs own 5-year history (lower is better)Bottom 29%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthTop 13%
- 6-month returnTop 7%
- 1-year return vs S&P 500Top 15%
- Distance from 52-week highTop 36%
- Trend checklist (0–4)Top 32%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersTop 32%
- Consecutive EPS beatsTop 15%
- Share of analysts rating BuyBottom 40%
- Upside to consensus price targetBottom 29%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Bottom 33%
- Maximum drawdown, 3 yearsBottom 48%
- Beta vs S&P 500 (lower is better)Bottom 7%
- Net debt / EBITDA (lower is better)Top 5%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | 4.5% | 21.8% | ↑ |
| EPS growth (YoY) | -62.4% | -56.0% | ↑ |
| Gross margin | 41.6% | 70.9% | ↑ |
| Operating margin | 24.7% | 18.6% | ↓ |
| FCF margin | 20.8% | 23.6% | ↑ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | 21.8% | 4.5% | ↑ | Top 26% |
| EPS growth (TTM, YoY) | -56.0% | -62.4% | ↑ | Bottom 23% |
| Gross margin | 70.9% | 41.6% | ↑ | Top 10% |
| Operating margin | 18.6% | 24.7% | ↓ | Top 39% |
| Net margin | 6.0% | 16.2% | ↓ | — |
| Free-cash-flow margin | 23.6% | 20.8% | ↑ | — |
| Return on invested capital | 9.3% | — | Top 35% | |
| Revenue growth, 3-year CAGR | 16.2% | — | Top 16% |
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.9%
- Stock-based compensation / revenueA cost to shareholders through dilution.
- -0.4%
- Receivables growth vs revenue growthReceivables growing much faster than sales can be a warning.
- +124.3 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- -0.84×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 1.07%
- Net buyback yield (TTM)
- 0.19%
- Shareholder yield
- 1.26%
- Share count change, 1 year
- +2.1%
- Share count change, 3-year CAGR
- +2.6%
Shareholder yield = dividends + net buybacks over the last four quarters, divided by market cap.
Based on the four quarters through Jun 30, 2026 (filed Jul 31, 2026).
Earnings and expectations
Earnings momentum
- Consecutive EPS beats
- 4
- Beats in the last 8 reports
- 6 of 8
- Average EPS surprise, last 4
- +20.3%
- Average 2-day reaction, last 8
- -0.0%
- Positive 20 days after report
- 5 of 8
Analysts
- Consensus price target
- $72.67
- Target vs current price
- +14.5%
- Analysts with a rating
- 18
- Share rating Buy or Strong Buy
- 50%
- Consensus rating
- Hold
How the stock reacted to recent reports
| Report date | EPS surprise | 2 days | 5 days | 20 days | 60 days |
|---|---|---|---|---|---|
| Jul 29, 2026 | +46.0% | -1.5% | +26.5% | +26.4% | — |
| May 6, 2026 | +7.7% | -0.3% | +4.7% | +7.6% | +18.9% |
| Feb 25, 2026 | +12.1% | -0.5% | -13.8% | -17.1% | +6.7% |
| Oct 29, 2025 | +15.5% | +7.3% | +9.5% | +7.4% | +38.9% |
| Jul 30, 2025 | -1.5% | -0.8% | -14.3% | -13.7% | -20.0% |
| Apr 30, 2025 | +4.3% | -4.4% | +0.3% | +4.6% | +16.5% |
| Feb 26, 2025 | -1.4% | -0.5% | -15.5% | -17.9% | -28.5% |
| Oct 30, 2024 | +5.3% | +0.3% | +8.9% | +19.0% | +8.7% |
Returns from the close before each report. Past reactions do not determine future ones.
Earnings history
| Report date | EPS | Estimate | Surprise | Revenue |
|---|---|---|---|---|
| Jul 29, 2026 | $0.93 | $0.64 | +46.0% | $449.5M |
| May 6, 2026 | $0.70 | $0.65 | +7.7% | $388.3M |
| Feb 25, 2026 | $0.65 | $0.58 | +12.1% | $261.2M |
| Oct 29, 2025 | $0.67 | $0.58 | +15.5% | $264.0M |
| Jul 30, 2025 | $0.66 | $0.67 | -1.5% | $273.6M |
| Apr 30, 2025 | $0.73 | $0.70 | +4.3% | $280.3M |
| Feb 26, 2025 | $0.71 | $0.72 | -1.4% | $272.1M |
| Oct 30, 2024 | $0.79 | $0.75 | +5.3% | $293.2M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 54.2× | 21.5× | 81th | Bottom 37% |
| P/E (forward) | 21.0× | — | — | — |
| EV / EBITDA | 11.2× | — | — | Bottom 34% |
| EV / Sales | 3.00× | — | — | Bottom 37% |
| Free-cash-flow yield | 7.30% | — | — | Top 41% |
| Earnings yield | 1.84% | — | — | Bottom 37% |
P/E over the past five years
Range 14.1× – 69.1× 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
- +58.3%
- Earnings per share growth (TTM)
- -56.0%
- Change in P/E multiple
- +249.2%
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
- 65
- 50-day average slope (20 days)
- +8.9%
- 200-day average slope (20 days)
- +4.2%
- Distance from 50-day average
- -5.3%
- Distance from 200-day average
- +11.7%
- RSI (14)
- 40.2
- Relative volume
- 0.63×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 49.0%
- Volatility vs own 5-year history
- 76th percentile · Normal for this stock
- Beta vs S&P 500 (2 years, weekly)
- 1.33
- Correlation with S&P 500
- 0.46
- Current drawdown from 1-year high
- -14.0%
- Maximum drawdown, 3 years
- -51.9%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| Nov 25, 2024 | Oct 10, 2025 | -51.9% | 218 days | 207 days (Aug 10, 2026) |
| Apr 20, 2022 | May 31, 2023 | -49.0% | 279 days | 292 days (Jul 30, 2024) |
| Mar 8, 2021 | Apr 20, 2021 | -28.3% | 30 days | 30 days (Jun 2, 2021) |
| Jun 16, 2021 | Aug 19, 2021 | -26.1% | 45 days | 41 days (Oct 18, 2021) |
| Oct 25, 2021 | Dec 3, 2021 | -23.1% | 28 days | 32 days (Jan 20, 2022) |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $4.40B
- P/E (TTM)
- 54.2
- EPS, diluted (TTM)
- $1.17
- Revenue (TTM)
- $1.36B
- Dividend yield
- 0.90%
- 52-week range
- $33.20 – $74.07
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Revenue | $438.6M | $688.4M | $1.10B | $1.13B | $1.08B |
| Gross profit | $121.4M | $242.4M | $406.3M | $436.4M | $589.3M |
| Operating income | $75.4M | $174.7M | $264.4M | $289.6M | $250.5M |
| Net income | $49.6M | $110.2M | $169.2M | $185.4M | $166.0M |
| EPS (diluted) | $0.83 | $1.80 | $2.57 | $2.77 | $2.41 |
| Q3 2024 | Q4 2024 | Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $293.2M | $272.1M | $280.3M | $273.6M | $264.0M | $261.2M | $388.3M | $449.5M |
| Net income | $49.9M | $46.7M | $44.2M | $40.3M | $41.6M | $39.8M | -$48.6M | $49.0M |
| EPS (diluted) | $0.74 | $0.69 | $0.64 | $0.59 | $0.60 | $0.57 | -$0.70 | $0.70 |
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Operating cash flow | $63.8M | $117.9M | $340.3M | $316.1M | $256.0M |
| Capital expenditure | -$13.9M | -$28.3M | -$44.0M | -$39.2M | -$38.8M |
| Free cash flow | $49.8M | $89.6M | $296.3M | $276.9M | $217.2M |
| Dividends paid | -$21.2M | -$26.7M | -$30.1M | -$33.7M | -$53.0M |
| Net share buybacks | -$3.3M | -$4.6M | $164.6M | -$9.3M | -$5.9M |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $365.8M
- Total assets
- $2.58B
- Total liabilities
- $881.5M
- Total debt
- $56.2M
- Net debt
- -$309.6M
- Shareholders’ equity
- $1.24B
As of Jun 30, 2026 (filed Jul 31, 2026).
Dividends
| Ex-date | Amount | Paid |
|---|---|---|
| Aug 31, 2026 | $0.15 | Sep 11, 2026 |
| Jun 1, 2026 | $0.14 | Jun 18, 2026 |
| Mar 2, 2026 | $0.14 | Mar 19, 2026 |
| Dec 1, 2025 | $0.14 | Dec 18, 2025 |
| Aug 29, 2025 | $0.14 | Sep 18, 2025 |
| Jun 2, 2025 | $0.13 | Jun 20, 2025 |
| Mar 3, 2025 | $0.13 | Mar 20, 2025 |
| Dec 2, 2024 | $0.13 | Dec 19, 2024 |
Short interest
- Shares sold short
- 3,528,728
- Days to cover
- 5.02
- Change vs previous report
- -0.7%
FINRA short interest, settlement date Sep 15, 2026.