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 diluted share count rose 21.9% in a year.
- At 24.0× trailing earnings, the shares trade at the lowest P/E of the company's past five years.
- Diluted EPS over the last four quarters was $1.06, up 58.2% year over 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 29%
- EPS growth (TTM, YoY)Top 22%
- FCF growth (TTM, YoY)Top 43%
- Revenue growth, 3-year CAGRTop 24%
- Revenue growth accelerationTop 38%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalTop 34%
- Gross marginTop 32%
- Operating marginTop 23%
- Cash conversion (OCF / net income)Top 14%
- Accruals (lower is better)Top 45%
- Net debt / EBITDA (lower is better)Bottom 15%
- Interest coverBottom 33%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldBottom 47%
- Free-cash-flow yieldTop 36%
- EBITDA / enterprise valueBottom 43%
- Sales / enterprise valueBottom 17%
- P/E vs own 5-year history (lower is better)Top 3%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthBottom 41%
- 6-month returnBottom 47%
- 1-year return vs S&P 500Bottom 40%
- Distance from 52-week highTop 43%
- Trend checklist (0–4)Bottom 18%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersBottom 36%
- Consecutive EPS beatsTop 50%
- Share of analysts rating BuyBottom 30%
- Upside to consensus price targetBottom 35%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Top 13%
- Maximum drawdown, 3 yearsTop 12%
- Beta vs S&P 500 (lower is better)Top 42%
- Net debt / EBITDA (lower is better)Bottom 15%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | 12.2% | 19.9% | ↑ |
| EPS growth (YoY) | 42.6% | 58.2% | ↑ |
| Gross margin | 67.0% | 44.7% | ↓ |
| Operating margin | 30.2% | 30.1% | ↓ |
| FCF margin | 26.3% | 26.3% | ↑ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | 19.9% | 12.2% | ↑ | Top 29% |
| EPS growth (TTM, YoY) | 58.2% | 42.6% | ↑ | Top 22% |
| Gross margin | 44.7% | 67.0% | ↓ | Top 32% |
| Operating margin | 30.1% | 30.2% | ↓ | Top 23% |
| Net margin | 12.4% | 9.6% | ↑ | — |
| Free-cash-flow margin | 26.3% | 26.3% | ↑ | — |
| Return on invested capital | 9.5% | — | Top 34% | |
| Revenue growth, 3-year CAGR | 12.3% | — | Top 24% |
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.
- -8.2%
- Stock-based compensation / revenueA cost to shareholders through dilution.
- 0.6%
- Receivables growth vs revenue growthReceivables growing much faster than sales can be a warning.
- +21.6 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- 4.41×
- Interest cover (operating income / interest)How many times operating profit covers interest.
- 1.9×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 7.41%
- Net buyback yield (TTM)
- 0.07%
- Shareholder yield
- 7.48%
- Share count change, 1 year
- +21.9%
- Share count change, 3-year CAGR
- +13.5%
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
- 3 of 8
- Average EPS surprise, last 4
- -2.5%
- Average 2-day reaction, last 8
- +0.2%
- Positive 20 days after report
- 7 of 8
Analysts
- Consensus price target
- $30.00
- Target vs current price
- +18.0%
- Analysts with a rating
- 19
- Share rating Buy or Strong Buy
- 42%
- Consensus rating
- Buy
How the stock reacted to recent reports
| Report date | EPS surprise | 2 days | 5 days | 20 days | 60 days |
|---|---|---|---|---|---|
| Aug 4, 2026 | +11.4% | +2.4% | +1.3% | +5.3% | — |
| May 5, 2026 | -18.0% | +1.5% | +1.8% | +5.7% | -3.1% |
| Feb 17, 2026 | -21.4% | -2.5% | +1.3% | +5.2% | +9.8% |
| Nov 5, 2025 | +18.2% | +6.6% | +9.1% | +12.8% | +15.1% |
| Aug 6, 2025 | +4.8% | +2.0% | +4.2% | +1.5% | -5.6% |
| May 6, 2025 | -18.2% | -4.7% | -0.9% | +8.3% | -1.9% |
| Feb 11, 2025 | -25.0% | -3.4% | -2.5% | -13.6% | -21.0% |
| Nov 5, 2024 | -35.0% | +0.1% | +7.3% | +10.5% | +27.2% |
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.31 | $0.28 | +11.4% | $342.1M |
| May 5, 2026 | $0.27 | $0.33 | -18.0% | $331.3M |
| Feb 17, 2026 | $0.22 | $0.28 | -21.4% | $252.5M |
| Nov 5, 2025 | $0.26 | $0.22 | +18.2% | $250.3M |
| Aug 6, 2025 | $0.22 | $0.21 | +4.8% | $250.1M |
| May 6, 2025 | $0.18 | $0.22 | -18.2% | $245.2M |
| Feb 11, 2025 | $0.18 | $0.24 | -25.0% | $245.9M |
| Nov 5, 2024 | $0.13 | $0.20 | -35.0% | $240.0M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 24.0× | 38.2× | 0th | Bottom 47% |
| P/E (forward) | 19.7× | — | — | — |
| EV / EBITDA | 9.9× | — | — | Bottom 43% |
| EV / Sales | 5.64× | — | — | Bottom 17% |
| Free-cash-flow yield | 8.41% | — | — | Top 36% |
| Earnings yield | 4.17% | — | — | Bottom 47% |
P/E over the past five years
Range 24.6× – 336.2× since Dec 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
- +6.5%
- Earnings per share growth (TTM)
- +58.2%
- Change in P/E multiple
- -30.9%
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
- 0
- Days above the 200-day average
- 0
- 50-day average slope (20 days)
- -0.4%
- 200-day average slope (20 days)
- +0.7%
- Distance from 50-day average
- -3.5%
- Distance from 200-day average
- -4.5%
- RSI (14)
- 41.6
- Relative volume
- 0.23×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 24.1%
- Volatility vs own 5-year history
- 32th percentile · Normal for this stock
- Beta vs S&P 500 (2 years, weekly)
- 0.37
- Correlation with S&P 500
- 0.21
- Current drawdown from 1-year high
- -16.1%
- Maximum drawdown, 3 years
- -25.3%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| Apr 3, 2024 | Aug 5, 2024 | -25.3% | 85 days | 126 days (Feb 5, 2025) |
| Apr 18, 2022 | Jun 17, 2022 | -25.1% | 43 days | 142 days (Jan 11, 2023) |
| Feb 10, 2025 | Nov 4, 2025 | -24.8% | 185 days | 131 days (May 14, 2026) |
| Jan 19, 2021 | Jan 27, 2021 | -20.4% | 6 days | 100 days (Jun 21, 2021) |
| May 19, 2026 | Jun 24, 2026 | -18.1% | 24 days | Not yet recovered |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $3.69B
- P/E (TTM)
- 24.0
- EPS, diluted (TTM)
- $1.06
- Revenue (TTM)
- $1.18B
- Dividend yield
- 8.26%
- 52-week range
- $21.85 – $30.55
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Revenue | $632.6M | $704.6M | $846.2M | $950.4M | $998.1M |
| Gross profit | $441.8M | $473.9M | $565.2M | $641.7M | $384.5M |
| Operating income | $140.9M | $169.3M | $232.0M | $294.4M | $318.1M |
| Net income | $10.3M | $30.3M | $68.3M | $99.6M | $111.3M |
| EPS (diluted) | -$0.40 | -$0.19 | $0.20 | $0.72 | $0.85 |
| Q3 2024 | Q4 2024 | Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $240.0M | $245.9M | $245.2M | $250.1M | $250.3M | $252.5M | $331.3M | $342.1M |
| Net income | $19.3M | $25.4M | $20.5M | $28.6M | $34.5M | $27.8M | $38.3M | $45.7M |
| EPS (diluted) | $0.13 | $0.18 | $0.14 | $0.22 | $0.26 | $0.22 | $0.27 | $0.31 |
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Operating cash flow | $265.4M | $260.6M | $271.9M | $341.3M | $394.3M |
| Capital expenditure | -$45.2M | -$134.2M | -$238.5M | -$204.9M | -$117.3M |
| Free cash flow | $220.2M | $126.4M | $33.4M | $136.5M | $277.0M |
| Dividends paid | -$206.3M | -$207.4M | -$209.0M | -$240.9M | -$254.2M |
| Net share buybacks | $0 | $0 | $0 | $0 | $0 |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $9.5M
- Total assets
- $3.69B
- Total liabilities
- $3.40B
- Total debt
- $2.96B
- Net debt
- $2.95B
- Shareholders’ equity
- $287.1M
As of Jun 30, 2026 (filed Aug 6, 2026).
Dividends
| Ex-date | Amount | Paid |
|---|---|---|
| Jul 27, 2026 | $0.53 | Aug 7, 2026 |
| Apr 27, 2026 | $0.53 | May 8, 2026 |
| Jan 26, 2026 | $0.53 | Feb 6, 2026 |
| Oct 27, 2025 | $0.53 | Nov 7, 2025 |
| Jul 28, 2025 | $0.53 | Aug 8, 2025 |
| Apr 28, 2025 | $0.53 | May 9, 2025 |
| Jan 27, 2025 | $0.53 | Feb 7, 2025 |
| Oct 21, 2024 | $0.53 | Nov 1, 2024 |
Short interest
- Shares sold short
- 1,339,620
- Days to cover
- 3.42
- Change vs previous report
- -10.3%
FINRA short interest, settlement date Sep 15, 2026.