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
- Operating margin narrowed to 62.6% from 76.8% a year earlier.
- At 14.0× trailing earnings, the shares trade at the highest P/E of the company's past five years.
- The stock is in a downtrend: below its 200-day average, with the 50-day average below the 200-day.
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)Bottom 12%
- EPS growth (TTM, YoY)Bottom 32%
- FCF growth (TTM, YoY)Bottom 34%
- Revenue growth, 3-year CAGRBottom 16%
- Revenue growth accelerationTop 49%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalTop 12%
- Gross marginTop 6%
- Operating marginTop 5%
- Cash conversion (OCF / net income)Bottom 36%
- Accruals (lower is better)Bottom 49%
- Net debt / EBITDA (lower is better)Top 17%
- Interest coverTop 9%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldTop 30%
- Free-cash-flow yieldTop 20%
- EBITDA / enterprise valueBottom 37%
- Sales / enterprise valueBottom 12%
- P/E vs own 5-year history (lower is better)Bottom 1%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthBottom 28%
- 6-month returnBottom 42%
- 1-year return vs S&P 500Bottom 34%
- Distance from 52-week highTop 39%
- Trend checklist (0–4)Bottom 45%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersTop 6%
- Consecutive EPS beatsTop 21%
- Share of analysts rating BuyBottom 27%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Top 14%
- Maximum drawdown, 3 yearsTop 8%
- Beta vs S&P 500 (lower is better)Top 35%
- Net debt / EBITDA (lower is better)Top 17%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | -16.3% | -11.8% | ↑ |
| EPS growth (YoY) | -18.3% | -26.3% | ↓ |
| Gross margin | 88.5% | 81.6% | ↓ |
| Operating margin | 76.8% | 62.6% | ↓ |
| FCF margin | 91.3% | 82.5% | ↓ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | -11.8% | -16.3% | ↑ | Bottom 12% |
| EPS growth (TTM, YoY) | -26.3% | -18.3% | ↓ | Bottom 32% |
| Gross margin | 81.6% | 88.5% | ↓ | Top 6% |
| Operating margin | 62.6% | 76.8% | ↓ | Top 5% |
| Net margin | 54.0% | 71.0% | ↓ | — |
| Free-cash-flow margin | 82.5% | 91.3% | ↓ | — |
| Return on invested capital | 16.3% | — | Top 12% | |
| Revenue growth, 3-year CAGR | -14.9% | — | Bottom 16% |
Quality of earnings and balance sheet
- Cash conversion (OCF / net income)Above 1× means profits are backed by cash.
- 1.53×
- Accruals (net income − OCF) / assetsLower is better; high accruals can signal weaker earnings quality.
- -7.3%
- Stock-based compensation / revenueA cost to shareholders through dilution.
- 5.8%
- Receivables growth vs revenue growthReceivables growing much faster than sales can be a warning.
- +81.9 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- -0.02×
- Interest cover (operating income / interest)How many times operating profit covers interest.
- 23.5×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 2.90%
- Net buyback yield (TTM)
- 0.00%
- Shareholder yield
- 2.90%
- Share count change, 1 year
- -0.3%
- Share count change, 3-year CAGR
- -3.7%
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
- 3
- Beats in the last 8 reports
- 3 of 3
- Average EPS surprise, last 4
- +100.0%
- Average 2-day reaction, last 8
- +1.5%
- Positive 20 days after report
- 6 of 8
Analysts
- Analysts with a rating
- 10
- Share rating Buy or Strong Buy
- 40%
- 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 | +516.7% | +8.3% | +6.8% | +15.7% | — |
| May 6, 2026 | +476.0% | -2.3% | -8.4% | -10.1% | -16.8% |
| Feb 27, 2026 | +41.9% | -2.0% | -3.1% | +1.3% | -17.5% |
| Nov 4, 2025 | — | -1.5% | +0.4% | +0.1% | +8.2% |
| Aug 6, 2025 | — | +1.1% | +0.6% | +0.7% | -2.3% |
| May 6, 2025 | — | -3.9% | -4.8% | -5.9% | +0.4% |
| Feb 28, 2025 | — | +6.4% | +1.1% | +7.1% | -2.6% |
| Nov 5, 2024 | — | +5.5% | +18.2% | +17.4% | +10.5% |
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 | $1.85 | $0.30 | +516.7% | $48.1M |
| May 6, 2026 | $1.44 | $0.25 | +476.0% | $47.2M |
| Feb 27, 2026 | $2.27 | $1.60 | +41.9% | $48.4M |
| Nov 4, 2025 | $2.28 | — | — | $49.9M |
| Aug 6, 2025 | $2.52 | — | — | $46.8M |
| May 6, 2025 | $2.97 | — | — | $55.7M |
| Feb 28, 2025 | $3.15 | — | — | $64.8M |
| Nov 5, 2024 | $2.00 | — | — | $52.2M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 14.0× | 7.1× | 100th | Top 30% |
| P/E (forward) | 24.6× | — | — | — |
| EV / EBITDA | 10.5× | — | — | Bottom 37% |
| EV / Sales | 7.48× | — | — | Bottom 12% |
| Free-cash-flow yield | 11.02% | — | — | Top 20% |
| Earnings yield | 7.16% | — | — | Top 30% |
P/E over the past five years
Range 3.1× – 13.5× 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
- +3.2%
- Earnings per share growth (TTM)
- -26.3%
- Change in P/E multiple
- +36.8%
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
- 1
- Days above the 200-day average
- 0
- 50-day average slope (20 days)
- +4.5%
- 200-day average slope (20 days)
- +0.5%
- Distance from 50-day average
- +2.6%
- Distance from 200-day average
- -0.8%
- RSI (14)
- 52.4
- Relative volume
- 0.97×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 24.4%
- Volatility vs own 5-year history
- 25th percentile · Normal for this stock
- Beta vs S&P 500 (2 years, weekly)
- 0.32
- Correlation with S&P 500
- 0.18
- Current drawdown from 1-year high
- -12.7%
- Maximum drawdown, 3 years
- -23.5%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| Mar 3, 2023 | May 31, 2023 | -28.9% | 61 days | 41 days (Jul 31, 2023) |
| May 5, 2022 | Jun 30, 2022 | -25.4% | 38 days | 124 days (Dec 27, 2022) |
| Feb 13, 2026 | Jul 20, 2026 | -23.4% | 106 days | Not yet recovered |
| Jan 3, 2025 | Apr 7, 2025 | -19.7% | 63 days | 192 days (Jan 12, 2026) |
| Mar 15, 2021 | Mar 26, 2021 | -19.4% | 9 days | 46 days (Jun 2, 2021) |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $1.45B
- P/E (TTM)
- 14.0
- EPS, diluted (TTM)
- $7.84
- Revenue (TTM)
- $193.6M
- Dividend yield
- 2.85%
- 52-week range
- $95.51 – $128.60
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Revenue | $194.2M | $328.1M | $293.7M | $245.0M | $202.3M |
| Gross profit | $175.2M | $305.6M | $261.3M | $217.0M | $164.3M |
| Operating income | $147.8M | $248.8M | $292.5M | $199.2M | $139.4M |
| Net income | $108.9M | $268.5M | $274.4M | $183.6M | $133.6M |
| EPS (diluted) | $6.78 | $13.39 | $13.08 | $11.35 | $10.04 |
| Q3 2024 | Q4 2024 | Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $52.2M | $64.8M | $55.7M | $46.8M | $49.9M | $48.4M | $47.2M | $48.1M |
| Net income | $38.6M | $42.8M | $40.3M | $34.2M | $30.3M | $30.4M | $19.2M | $24.7M |
| EPS (diluted) | $2.00 | $3.15 | $2.97 | $2.52 | $2.28 | $2.27 | $1.44 | $1.85 |
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Operating cash flow | $121.8M | $266.8M | $311.0M | $248.5M | $165.9M |
| Capital expenditure | $0 | -$118,000 | -$10,000 | $0 | $0 |
| Free cash flow | $121.8M | $266.7M | $311.0M | $248.5M | $165.9M |
| Dividends paid | -$22.6M | -$34.4M | -$69.9M | -$72.1M | -$56.4M |
| Net share buybacks | $0 | $0 | $0 | $0 | $0 |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $30.1M
- Total assets
- $757.5M
- Total liabilities
- $107.5M
- Total debt
- $27.4M
- Net debt
- -$2.8M
- Shareholders’ equity
- $650.1M
As of Jun 30, 2026 (filed Aug 5, 2026).
Dividends
| Ex-date | Amount | Paid |
|---|---|---|
| Aug 18, 2026 | $0.75 | Aug 25, 2026 |
| May 19, 2026 | $0.75 | May 26, 2026 |
| Mar 10, 2026 | $0.12 | Mar 17, 2026 |
| Feb 17, 2026 | $0.75 | Feb 24, 2026 |
| Nov 18, 2025 | $0.75 | Nov 25, 2025 |
| Aug 19, 2025 | $0.75 | Aug 26, 2025 |
| May 20, 2025 | $0.75 | May 27, 2025 |
| Mar 11, 2025 | $1.21 | Mar 18, 2025 |
Short interest
- Shares sold short
- 285,023
- Days to cover
- 13.71
- Change vs previous report
- -2.7%
FINRA short interest, settlement date Sep 15, 2026.
Stock splits
- Feb 18, 2016
- 1-for-10
- Apr 19, 2007
- 2-for-1