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.47B, up 49.0% from a year earlier, accelerating from 39.3% a quarter earlier.
- Diluted EPS over the last four quarters was $1.45, up 6.6% year over year.
- The stock is 24% below its highest close of the past year.
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 11%
- EPS growth (TTM, YoY)Top 47%
- FCF growth (TTM, YoY)Bottom 19%
- Revenue growth, 3-year CAGRBottom 5%
- Revenue growth accelerationTop 32%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalTop 48%
- Gross marginTop 44%
- Operating marginTop 33%
- Cash conversion (OCF / net income)Top 14%
- Accruals (lower is better)Top 37%
- Net debt / EBITDA (lower is better)Bottom 36%
- Interest coverBottom 42%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldBottom 49%
- Free-cash-flow yieldBottom 36%
- EBITDA / enterprise valueBottom 44%
- Sales / enterprise valueBottom 33%
- P/E vs own 5-year history (lower is better)Top 49%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthTop 24%
- 6-month returnTop 35%
- 1-year return vs S&P 500Top 36%
- Distance from 52-week highBottom 44%
- Trend checklist (0–4)Bottom 45%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersTop 42%
- Consecutive EPS beatsTop 50%
- Share of analysts rating BuyTop 46%
- Upside to consensus price targetTop 34%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Top 40%
- Maximum drawdown, 3 yearsTop 19%
- Beta vs S&P 500 (lower is better)Top 47%
- Net debt / EBITDA (lower is better)Bottom 36%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | 39.3% | 49.0% | ↑ |
| EPS growth (YoY) | -16.3% | 6.6% | ↑ |
| Gross margin | 40.1% | 37.0% | ↓ |
| Operating margin | 23.2% | 21.8% | ↓ |
| FCF margin | 18.1% | 2.5% | ↓ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | 49.0% | 39.3% | ↑ | Top 11% |
| EPS growth (TTM, YoY) | 6.6% | -16.3% | ↑ | Top 47% |
| Gross margin | 37.0% | 40.1% | ↓ | Top 44% |
| Operating margin | 21.8% | 23.2% | ↓ | Top 33% |
| Net margin | 3.2% | 7.4% | ↓ | — |
| Free-cash-flow margin | 2.5% | 18.1% | ↓ | — |
| Return on invested capital | 7.0% | — | Top 48% | |
| Revenue growth, 3-year CAGR | -20.8% | — | Bottom 5% |
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.
- -9.2%
- Stock-based compensation / revenueA cost to shareholders through dilution.
- 0.7%
- Receivables growth vs revenue growthReceivables growing much faster than sales can be a warning.
- +53.7 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- 2.15×
- Interest cover (operating income / interest)How many times operating profit covers interest.
- 2.9×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 0.35%
- Net buyback yield (TTM)
- 0.88%
- Shareholder yield
- 1.22%
- Share count change, 1 year
- +0.6%
- Share count change, 3-year CAGR
- +7.2%
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 6, 2026).
Earnings and expectations
Earnings momentum
- Consecutive EPS beats
- 1
- Beats in the last 8 reports
- 5 of 8
- Average EPS surprise, last 4
- +11.9%
- Average 2-day reaction, last 8
- -1.7%
- Positive 20 days after report
- 4 of 8
Analysts
- Consensus price target
- $44.50
- Target vs current price
- +36.8%
- Analysts with a rating
- 15
- Share rating Buy or Strong Buy
- 60%
- Consensus rating
- Buy
How the stock reacted to recent reports
| Report date | EPS surprise | 2 days | 5 days | 20 days | 60 days |
|---|---|---|---|---|---|
| Aug 5, 2026 | +6.1% | -1.8% | -9.8% | -0.5% | — |
| May 6, 2026 | -5.1% | -3.6% | +2.8% | -8.7% | +10.5% |
| Feb 25, 2026 | -3.3% | +1.1% | -4.9% | -18.6% | -16.0% |
| Nov 5, 2025 | +50.0% | +2.8% | +6.0% | +12.0% | +40.8% |
| Aug 11, 2025 | -53.1% | -2.1% | -1.6% | -5.4% | +5.1% |
| May 7, 2025 | +25.6% | -2.7% | +16.4% | +15.9% | -0.2% |
| Feb 26, 2025 | +25.0% | +0.4% | +8.0% | +13.6% | +5.4% |
| Nov 7, 2024 | +12.9% | -7.5% | +1.3% | +21.6% | +18.1% |
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 | $0.37 | $0.35 | +6.1% | $329.3M |
| May 6, 2026 | $0.37 | $0.39 | -5.1% | $433.4M |
| Feb 25, 2026 | $0.29 | $0.30 | -3.3% | $317.6M |
| Nov 5, 2025 | $0.45 | $0.30 | +50.0% | $391.0M |
| Aug 11, 2025 | $0.15 | $0.32 | -53.1% | $204.6M |
| May 7, 2025 | $0.49 | $0.39 | +25.6% | $315.1M |
| Feb 26, 2025 | $0.40 | $0.32 | +25.0% | $274.6M |
| Nov 7, 2024 | $0.35 | $0.31 | +12.9% | $193.4M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 22.4× | 17.5× | 63th | Bottom 49% |
| P/E (forward) | 20.2× | — | — | — |
| EV / EBITDA | 9.9× | — | — | Bottom 44% |
| EV / Sales | 3.27× | — | — | Bottom 33% |
| Free-cash-flow yield | 0.97% | — | — | Bottom 36% |
| Earnings yield | 4.46% | — | — | Bottom 49% |
P/E over the past five years
Range 3.2× – 87.4× since Dec 31, 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
- +28.0%
- Earnings per share growth (TTM)
- +6.6%
- Change in P/E multiple
- +49.1%
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)
- -3.2%
- 200-day average slope (20 days)
- +2.3%
- Distance from 50-day average
- -12.2%
- Distance from 200-day average
- -8.3%
- RSI (14)
- 32.1
- Relative volume
- 0.74×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 36.0%
- Volatility vs own 5-year history
- 28th percentile · Normal for this stock
- Beta vs S&P 500 (2 years, weekly)
- 0.40
- Correlation with S&P 500
- 0.16
- Current drawdown from 1-year high
- -24.1%
- Maximum drawdown, 3 years
- -28.9%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| Nov 22, 2022 | Feb 14, 2024 | -54.8% | 307 days | 195 days (Nov 21, 2024) |
| Jun 3, 2022 | Jul 1, 2022 | -35.9% | 19 days | 100 days (Nov 22, 2022) |
| Jan 21, 2025 | Sep 8, 2025 | -28.9% | 158 days | 89 days (Jan 14, 2026) |
| Feb 25, 2026 | Jun 8, 2026 | -25.8% | 71 days | Not yet recovered |
| Apr 14, 2022 | Apr 21, 2022 | -15.3% | 4 days | 28 days (Jun 1, 2022) |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $3.76B
- P/E (TTM)
- 22.4
- EPS, diluted (TTM)
- $1.45
- Revenue (TTM)
- $1.47B
- Dividend yield
- 1.01%
- 52-week range
- $24.89 – $43.18
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Revenue | $888.6M | $2.47B | $1.16B | $851.4M | $1.23B |
| Gross profit | $200.4M | $259.7M | $412.4M | $408.1M | $395.4M |
| Operating income | $139.3M | $186.7M | $210.6M | $215.0M | $300.9M |
| Net income | $41.1M | $26.3M | $30.4M | $32.9M | $39.2M |
| EPS (diluted) | $1.72 | $3.05 | $1.16 | $1.27 | $1.28 |
| Q3 2024 | Q4 2024 | Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $193.4M | $274.6M | $315.1M | $204.6M | $391.0M | $317.6M | $433.4M | $329.3M |
| Net income | $9.0M | $10.9M | $49.0M | $4.7M | $14.0M | $9.1M | $12.3M | $12.1M |
| EPS (diluted) | $0.35 | $0.40 | $0.46 | $0.15 | $0.43 | $0.28 | $0.37 | $0.37 |
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Operating cash flow | $141.6M | $225.1M | $231.9M | $244.4M | $440.0M |
| Capital expenditure | -$36.1M | -$119.3M | -$312.7M | -$113.3M | -$163.0M |
| Free cash flow | $105.5M | $105.8M | -$80.8M | $131.2M | $277.0M |
| Dividends paid | $0 | -$5.4M | -$2.6M | -$25.9M | -$8.5M |
| Net share buybacks | $0 | $412.1M | -$52,000 | -$50.0M | $201.8M |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $345.7M
- Total assets
- $4.16B
- Total liabilities
- $1.89B
- Total debt
- $1.39B
- Net debt
- $1.05B
- Shareholders’ equity
- $686.8M
As of Jun 30, 2026 (filed Aug 6, 2026).
Dividends
| Ex-date | Amount | Paid |
|---|---|---|
| Aug 19, 2026 | $0.09 | Sep 3, 2026 |
| May 20, 2026 | $0.08 | Jun 4, 2026 |
| Mar 11, 2026 | $0.08 | Mar 26, 2026 |
| Nov 19, 2025 | $0.08 | Dec 4, 2025 |
| Aug 20, 2025 | $0.08 | Sep 4, 2025 |
| May 21, 2025 | $0.06 | Jun 5, 2025 |
| Mar 12, 2025 | $0.06 | Mar 27, 2025 |
| Nov 20, 2024 | $0.06 | Dec 5, 2024 |
Short interest
- Shares sold short
- 2,406,840
- Days to cover
- 6.32
- Change vs previous report
- +4.5%
FINRA short interest, settlement date Sep 15, 2026.
Stock splits
- Jan 10, 1996
- 1-for-10