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
- The shares trade at 7.6× trailing earnings, higher than 89% of the company's own readings over the past five years.
- The stock is in an uptrend: above its 200-day average for 160 trading days, with the 50-day average above the 200-day.
- Revenue over the last four quarters was $483.9M, up 23.2% from a year earlier, accelerating from -2.3% 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 25%
- EPS growth (TTM, YoY)Top 37%
- FCF growth (TTM, YoY)Bottom 26%
- Revenue growth, 3-year CAGRTop 34%
- Revenue growth accelerationTop 6%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalTop 17%
- Gross marginTop 20%
- Operating marginTop 17%
- Cash conversion (OCF / net income)Top 48%
- Accruals (lower is better)Top 36%
- Net debt / EBITDA (lower is better)Top 42%
- Interest coverTop 40%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldTop 9%
- Free-cash-flow yieldTop 44%
- EBITDA / enterprise valueTop 14%
- Sales / enterprise valueBottom 48%
- P/E vs own 5-year history (lower is better)Bottom 11%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthTop 28%
- 6-month returnTop 13%
- 1-year return vs S&P 500Top 16%
- Distance from 52-week highTop 9%
- Trend checklist (0–4)Top 5%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersTop 29%
- Consecutive EPS beatsTop 50%
- Share of analysts rating BuyTop 2%
- Upside to consensus price targetBottom 3%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Top 37%
- Maximum drawdown, 3 yearsTop 31%
- Beta vs S&P 500 (lower is better)Bottom 48%
- Net debt / EBITDA (lower is better)Top 42%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | -2.3% | 23.2% | ↑ |
| EPS growth (YoY) | -39.1% | 21.9% | ↑ |
| Gross margin | 53.8% | 59.8% | ↑ |
| Operating margin | 32.5% | 38.9% | ↑ |
| FCF margin | 29.3% | 12.3% | ↓ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | 23.2% | -2.3% | ↑ | Top 25% |
| EPS growth (TTM, YoY) | 21.9% | -39.1% | ↑ | Top 37% |
| Gross margin | 59.8% | 53.8% | ↑ | Top 20% |
| Operating margin | 38.9% | 32.5% | ↑ | Top 17% |
| Net margin | 24.5% | 24.4% | ↑ | — |
| Free-cash-flow margin | 12.3% | 29.3% | ↓ | — |
| Return on invested capital | 13.7% | — | Top 17% | |
| Revenue growth, 3-year CAGR | 6.8% | — | Top 34% |
Quality of earnings and balance sheet
- Cash conversion (OCF / net income)Above 1× means profits are backed by cash.
- 2.02×
- Accruals (net income − OCF) / assetsLower is better; high accruals can signal weaker earnings quality.
- -9.5%
- 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.
- +72.8 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- 1.11×
- Interest cover (operating income / interest)How many times operating profit covers interest.
- 6.0×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 3.74%
- Net buyback yield (TTM)
- 1.05%
- Shareholder yield
- 4.79%
- Share count change, 1 year
- +0.5%
- Share count change, 3-year CAGR
- +2.1%
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
- 1
- Beats in the last 8 reports
- 3 of 8
- Average EPS surprise, last 4
- +22.8%
- Average 2-day reaction, last 8
- -0.9%
- Positive 20 days after report
- 7 of 8
Analysts
- Consensus price target
- $37.00
- Target vs current price
- -12.3%
- Analysts with a rating
- 3
- Share rating Buy or Strong Buy
- 100%
- 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 | +56.4% | -2.0% | +8.5% | +17.1% | — |
| May 6, 2026 | -7.3% | -9.3% | -1.4% | -3.6% | -7.0% |
| Mar 4, 2026 | +62.7% | +0.6% | +8.8% | +23.7% | +19.8% |
| Nov 5, 2025 | -20.6% | +0.6% | +4.4% | +8.9% | +10.7% |
| Aug 6, 2025 | +44.0% | -0.5% | +4.4% | +9.9% | +0.8% |
| May 7, 2025 | -0.6% | -1.9% | +16.3% | +4.2% | +0.2% |
| Mar 5, 2025 | -42.2% | -1.1% | -3.3% | +6.0% | -7.5% |
| Nov 7, 2024 | -22.9% | +6.4% | +10.9% | +6.3% | +11.3% |
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.55 | $1.63 | +56.4% | $165.8M |
| May 6, 2026 | $1.02 | $1.10 | -7.3% | $113.9M |
| Mar 4, 2026 | $1.35 | $0.83 | +62.7% | $97.3M |
| Nov 5, 2025 | $0.77 | $0.97 | -20.6% | $106.9M |
| Aug 6, 2025 | $1.44 | $1.00 | +44.0% | $85.4M |
| May 7, 2025 | $1.62 | $1.63 | -0.6% | $102.5M |
| Mar 5, 2025 | $0.96 | $1.66 | -42.2% | $102.7M |
| Nov 7, 2024 | $1.21 | $1.57 | -22.9% | $102.3M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 7.6× | 5.7× | 89th | Top 9% |
| P/E (forward) | 6.8× | — | — | — |
| EV / EBITDA | 5.2× | — | — | Top 14% |
| EV / Sales | 2.40× | — | — | Bottom 48% |
| Free-cash-flow yield | 6.50% | — | — | Top 44% |
| Earnings yield | 13.08% | — | — | Top 9% |
P/E over the past five years
Range 3.9× – 69.5× since Mar 31, 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
- +54.3%
- Earnings per share growth (TTM)
- +21.9%
- Change in P/E multiple
- +5.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
- 40
- Days above the 200-day average
- 160
- 50-day average slope (20 days)
- +9.2%
- 200-day average slope (20 days)
- +4.6%
- Distance from 50-day average
- +9.2%
- Distance from 200-day average
- +24.3%
- RSI (14)
- 57.8
- Relative volume
- 0.56×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 34.6%
- Volatility vs own 5-year history
- 1th percentile · Low for this stock
- Beta vs S&P 500 (2 years, weekly)
- 0.47
- Correlation with S&P 500
- 0.16
- Current drawdown from 1-year high
- -6.0%
- Maximum drawdown, 3 years
- -38.6%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| Feb 10, 2021 | Dec 6, 2021 | -73.4% | 207 days | Not yet recovered |
| Jan 28, 2021 | Feb 1, 2021 | -47.8% | 2 days | 7 days (Feb 10, 2021) |
| Oct 21, 2020 | Nov 5, 2020 | -39.5% | 11 days | 40 days (Jan 5, 2021) |
| Jan 20, 2021 | Jan 22, 2021 | -20.7% | 2 days | 4 days (Jan 28, 2021) |
| Oct 8, 2020 | Oct 14, 2020 | -13.9% | 4 days | 2 days (Oct 16, 2020) |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $915.4M
- P/E (TTM)
- 7.6
- EPS, diluted (TTM)
- $5.52
- Revenue (TTM)
- $483.9M
- Dividend yield
- 3.79%
- 52-week range
- $24.08 – $45.31
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Revenue | $151.0M | $321.7M | $375.0M | $410.2M | $392.0M |
| Gross profit | $93.9M | $237.4M | $220.9M | $234.0M | $181.9M |
| Operating income | $59.9M | $203.5M | $187.5M | $153.7M | $141.3M |
| Net income | -$65.7M | $118.0M | $111.6M | $88.9M | $160.8M |
| EPS (diluted) | -$4.19 | $5.99 | $5.58 | $4.26 | $7.59 |
| Q3 2024 | Q4 2024 | Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $102.3M | $102.7M | $102.5M | $85.4M | $106.9M | $97.3M | $113.9M | $165.8M |
| Net income | $25.7M | $10.9M | $28.6M | $30.5M | $16.3M | $85.4M | -$70.4M | $87.4M |
| EPS (diluted) | $1.21 | $0.52 | $1.36 | $1.44 | $0.77 | $4.02 | -$3.38 | $4.11 |
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Operating cash flow | $86.1M | $170.3M | $207.2M | $246.3M | $212.5M |
| Capital expenditure | -$60.5M | -$128.3M | -$141.3M | -$129.9M | -$126.3M |
| Free cash flow | $25.6M | $42.0M | $65.9M | $116.3M | $86.2M |
| Dividends paid | -$18.3M | -$25.1M | -$27.7M | -$30.8M | -$33.3M |
| Net share buybacks | $46.5M | $0 | $0 | $25.4M | -$3.2M |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $20.7M
- Total assets
- $1.27B
- Total liabilities
- $637.1M
- Total debt
- $267.5M
- Net debt
- $246.8M
- Shareholders’ equity
- $633.4M
As of Jun 30, 2026 (filed Aug 5, 2026).
Dividends
| Ex-date | Amount | Paid |
|---|---|---|
| Jul 29, 2026 | $0.40 | Aug 12, 2026 |
| Apr 29, 2026 | $0.40 | May 13, 2026 |
| Jan 22, 2026 | $0.40 | Feb 5, 2026 |
| Oct 21, 2025 | $0.40 | Nov 6, 2025 |
| Jul 24, 2025 | $0.38 | Aug 7, 2025 |
| Apr 24, 2025 | $0.38 | May 8, 2025 |
| Jan 23, 2025 | $0.38 | Feb 6, 2025 |
| Oct 24, 2024 | $0.38 | Nov 7, 2024 |
Short interest
- Shares sold short
- 853,579
- Days to cover
- 2.28
- Change vs previous report
- -0.9%
FINRA short interest, settlement date Sep 15, 2026.
Stock splits
- Mar 1, 2021
- 1-for-12
- Mar 24, 2016
- 1-for-10
- Aug 30, 2001
- 21-for-20