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 $7.55, up 556.5% year over year.
- Revenue over the last four quarters was $581.7M, up 80.0% from a year earlier, accelerating from 35.3% a quarter earlier.
- Operating margin widened to 57.7% from 22.5% a year 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 4%
- EPS growth (TTM, YoY)Top 3%
- FCF growth (TTM, YoY)Top 19%
- Revenue growth, 3-year CAGRTop 32%
- Revenue growth accelerationTop 2%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalTop 8%
- Gross marginTop 14%
- Operating marginTop 6%
- Cash conversion (OCF / net income)Bottom 14%
- Accruals (lower is better)Bottom 9%
- Net debt / EBITDA (lower is better)Top 30%
- Interest coverTop 13%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldTop 9%
- Free-cash-flow yieldTop 29%
- EBITDA / enterprise valueTop 26%
- Sales / enterprise valueBottom 20%
- P/E vs own 5-year history (lower is better)Bottom 48%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthTop 14%
- 6-month returnTop 3%
- 1-year return vs S&P 500Top 7%
- Distance from 52-week highTop 4%
- Trend checklist (0–4)Top 5%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersTop 45%
- Consecutive EPS beatsTop 31%
- Share of analysts rating BuyBottom 33%
- Upside to consensus price targetBottom 9%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Top 48%
- Maximum drawdown, 3 yearsBottom 24%
- Beta vs S&P 500 (lower is better)Bottom 20%
- Net debt / EBITDA (lower is better)Top 30%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | 35.3% | 80.0% | ↑ |
| EPS growth (YoY) | 110.6% | 556.5% | ↑ |
| Gross margin | 36.9% | 63.3% | ↑ |
| Operating margin | 22.5% | 57.7% | ↑ |
| FCF margin | 34.6% | 38.4% | ↑ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | 80.0% | 35.3% | ↑ | Top 4% |
| EPS growth (TTM, YoY) | 556.5% | 110.6% | ↑ | Top 3% |
| Gross margin | 63.3% | 36.9% | ↑ | Top 14% |
| Operating margin | 57.7% | 22.5% | ↑ | Top 6% |
| Net margin | 55.3% | 15.1% | ↑ | — |
| Free-cash-flow margin | 38.4% | 34.6% | ↑ | — |
| Return on invested capital | 17.8% | — | Top 8% | |
| Revenue growth, 3-year CAGR | 7.3% | — | Top 32% |
Quality of earnings and balance sheet
- Cash conversion (OCF / net income)Above 1× means profits are backed by cash.
- 0.75×
- Accruals (net income − OCF) / assetsLower is better; high accruals can signal weaker earnings quality.
- 4.3%
- Stock-based compensation / revenueA cost to shareholders through dilution.
- 1.9%
- Receivables growth vs revenue growthReceivables growing much faster than sales can be a warning.
- +103.1 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- 0.72×
- Interest cover (operating income / interest)How many times operating profit covers interest.
- 15.6×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 5.16%
- Net buyback yield (TTM)
- 0.21%
- Shareholder yield
- 5.37%
- Share count change, 1 year
- -0.0%
- Share count change, 3-year CAGR
- +1.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 5, 2026).
Earnings and expectations
Earnings momentum
- Consecutive EPS beats
- 2
- Beats in the last 8 reports
- 2 of 8
- Average EPS surprise, last 4
- +9.9%
- Average 2-day reaction, last 8
- -2.5%
- Positive 20 days after report
- 4 of 8
Analysts
- Consensus price target
- $55.00
- Target vs current price
- -3.9%
- Analysts with a rating
- 9
- Share rating Buy or Strong Buy
- 44%
- Consensus rating
- Hold
How the stock reacted to recent reports
| Report date | EPS surprise | 2 days | 5 days | 20 days | 60 days |
|---|---|---|---|---|---|
| Aug 5, 2026 | +18.9% | -1.1% | -1.1% | +16.9% | — |
| May 20, 2026 | +34.0% | +12.8% | +2.7% | -5.4% | +11.9% |
| Feb 5, 2026 | -3.5% | +1.1% | +9.6% | +19.6% | +31.8% |
| Nov 6, 2025 | -9.7% | -8.1% | -10.1% | -15.4% | +2.7% |
| Aug 1, 2025 | -55.7% | -5.9% | +5.5% | +11.1% | -4.1% |
| May 22, 2025 | -66.7% | -10.9% | -4.2% | +12.8% | +35.6% |
| Jan 31, 2025 | -47.6% | -5.2% | -7.4% | -19.7% | -14.6% |
| Oct 31, 2024 | -32.7% | -2.5% | -4.8% | -17.6% | -16.7% |
Returns from the close before each report. Past reactions do not determine future ones.
Earnings history
| Report date | EPS | Estimate | Surprise | Revenue |
|---|---|---|---|---|
| Aug 5, 2026 | $2.52 | $2.12 | +18.9% | $187.9M |
| May 20, 2026 | $1.89 | $1.41 | +34.0% | $153.3M |
| Feb 5, 2026 | $1.11 | $1.15 | -3.5% | $120.0M |
| Nov 6, 2025 | $1.31 | $1.45 | -9.7% | $120.6M |
| Aug 1, 2025 | $0.27 | $0.61 | -55.7% | $84.2M |
| May 22, 2025 | $0.25 | $0.75 | -66.7% | $75.9M |
| Jan 31, 2025 | $0.43 | $0.82 | -47.6% | $80.7M |
| Oct 31, 2024 | $0.35 | $0.52 | -32.7% | $82.4M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 7.6× | 6.7× | 67th | Top 9% |
| P/E (forward) | 6.8× | — | — | — |
| EV / EBITDA | 6.5× | — | — | Top 26% |
| EV / Sales | 4.73× | — | — | Bottom 20% |
| Free-cash-flow yield | 9.12% | — | — | Top 29% |
| Earnings yield | 13.20% | — | — | Top 9% |
P/E over the past five years
Range 4.9× – 25.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
- +97.1%
- Earnings per share growth (TTM)
- +556.5%
- Change in P/E multiple
- -77.3%
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
- 58
- Days above the 200-day average
- 187
- 50-day average slope (20 days)
- +14.1%
- 200-day average slope (20 days)
- +8.5%
- Distance from 50-day average
- +13.0%
- Distance from 200-day average
- +46.3%
- RSI (14)
- 64.0
- Relative volume
- 1.26×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 39.2%
- Volatility vs own 5-year history
- 35th percentile · Normal for this stock
- Beta vs S&P 500 (2 years, weekly)
- 1.00
- Correlation with S&P 500
- 0.31
- Current drawdown from 1-year high
- -1.9%
- Maximum drawdown, 3 years
- -66.1%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| May 30, 2024 | Apr 4, 2025 | -66.1% | 212 days | 347 days (Aug 24, 2026) |
| Jan 5, 2024 | Feb 20, 2024 | -29.2% | 30 days | 67 days (May 24, 2024) |
| May 10, 2022 | Sep 26, 2022 | -28.3% | 95 days | 26 days (Nov 1, 2022) |
| May 17, 2021 | Sep 20, 2021 | -25.9% | 87 days | 140 days (Apr 8, 2022) |
| Jan 12, 2021 | Jan 27, 2021 | -24.6% | 10 days | 75 days (May 14, 2021) |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $2.45B
- P/E (TTM)
- 7.6
- EPS, diluted (TTM)
- $7.55
- Revenue (TTM)
- $581.7M
- Dividend yield
- 5.86%
- 52-week range
- $23.76 – $59.97
| FY 2022 | FY 2023 | FY 2024 | FY 2025 | FY 2026 | |
|---|---|---|---|---|---|
| Revenue | $274.2M | $389.7M | $560.7M | $353.3M | $481.5M |
| Gross profit | $113.0M | $228.0M | $365.2M | $152.7M | $260.5M |
| Operating income | $92.4M | $198.4M | $328.8M | $112.6M | $207.5M |
| Net income | $71.9M | $172.4M | $307.4M | $90.2M | $193.7M |
| EPS (diluted) | $1.78 | $4.29 | $7.60 | $2.14 | $4.55 |
| Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | Q3 2026 | Q4 2026 | Q1 2027 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $82.4M | $80.7M | $75.9M | $84.2M | $120.6M | $120.0M | $153.3M | $187.9M |
| Net income | $9.4M | $21.4M | $8.1M | $10.1M | $55.4M | $47.2M | $81.0M | $138.3M |
| EPS (diluted) | $0.22 | $0.50 | $0.19 | $0.24 | $1.30 | $1.11 | $1.90 | $3.24 |
| FY 2022 | FY 2023 | FY 2024 | FY 2025 | FY 2026 | |
|---|---|---|---|---|---|
| Operating cash flow | $118.7M | $224.1M | $388.4M | $173.0M | $210.1M |
| Capital expenditure | -$23.2M | -$68.8M | -$32.9M | -$18.9M | -$93.8M |
| Free cash flow | $95.5M | $155.3M | $355.6M | $154.1M | $116.3M |
| Dividends paid | -$80.1M | -$220.6M | -$162.3M | -$156.4M | -$105.0M |
| Net share buybacks | -$21.4M | -$1.7M | -$3.9M | $82.7M | -$7.0M |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $342.1M
- Total assets
- $1.90B
- Total liabilities
- $665.3M
- Total debt
- $646.2M
- Net debt
- $304.1M
- Shareholders’ equity
- $1.24B
As of Jun 30, 2026 (filed Aug 5, 2026).
Dividends
| Ex-date | Amount | Paid |
|---|---|---|
| Jul 27, 2026 | $1.00 | Aug 12, 2026 |
| May 18, 2026 | $1.00 | May 28, 2026 |
| Feb 9, 2026 | $0.70 | Feb 24, 2026 |
| Nov 17, 2025 | $0.65 | Dec 2, 2025 |
| Aug 12, 2025 | $0.60 | Aug 27, 2025 |
| May 16, 2025 | $0.50 | May 30, 2025 |
| Feb 5, 2025 | $0.70 | Feb 27, 2025 |
| Nov 5, 2024 | $1.00 | Nov 25, 2024 |
Short interest
- Shares sold short
- 2,120,875
- Days to cover
- 3.47
- Change vs previous report
- +12.8%
FINRA short interest, settlement date Sep 15, 2026.