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 20.1× trailing earnings, lower than 90% of the company's own readings over the past five years.
- Net debt is 4.7× EBITDA, a high level of leverage.
- Revenue over the last four quarters was $993.6M, up 14.6% from a year earlier, slowing from 17.2% a quarter earlier.
PromtFinance scores
Each score is a percentile within the Utilities sector (0–100). Under each score: how the stock ranks in its sector on every component. As of Oct 6, 2026.
How fast revenue, earnings and cash flow are growing.
- Revenue growth (TTM, YoY)Top 16%
- EPS growth (TTM, YoY)Top 27%
- FCF growth (TTM, YoY)Bottom 22%
- Revenue growth, 3-year CAGRTop 10%
- Revenue growth accelerationBottom 28%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalTop 18%
- Gross marginTop 40%
- Operating marginTop 19%
- Cash conversion (OCF / net income)Bottom 33%
- Accruals (lower is better)Top 27%
- Net debt / EBITDA (lower is better)Top 33%
- Interest coverTop 15%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldBottom 39%
- Free-cash-flow yieldBottom 30%
- EBITDA / enterprise valueBottom 36%
- Sales / enterprise valueBottom 39%
- P/E vs own 5-year history (lower is better)Top 29%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthBottom 43%
- 6-month returnTop 18%
- 1-year return vs S&P 500Top 48%
- Distance from 52-week highTop 7%
- Trend checklist (0–4)Top 24%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersBottom 19%
- Consecutive EPS beatsBottom 14%
- Share of analysts rating BuyTop 41%
- Upside to consensus price targetBottom 20%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Bottom 32%
- Maximum drawdown, 3 yearsTop 3%
- Beta vs S&P 500 (lower is better)Top 18%
- Net debt / EBITDA (lower is better)Top 33%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | 17.2% | 14.6% | ↓ |
| EPS growth (YoY) | 15.3% | 11.8% | ↓ |
| Gross margin | 41.5% | 49.9% | ↑ |
| Operating margin | 28.3% | 27.3% | ↓ |
| FCF margin | 6.9% | -28.3% | ↓ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | 14.6% | 17.2% | ↓ | Top 16% |
| EPS growth (TTM, YoY) | 11.8% | 15.3% | ↓ | Top 27% |
| Gross margin | 49.9% | 41.5% | ↑ | Top 40% |
| Operating margin | 27.3% | 28.3% | ↓ | Top 19% |
| Net margin | 15.1% | 14.9% | ↑ | — |
| Free-cash-flow margin | -28.3% | 6.9% | ↓ | — |
| Return on invested capital | 5.0% | — | Top 18% | |
| Revenue growth, 3-year CAGR | 11.0% | — | Top 10% |
Quality of earnings and balance sheet
- Cash conversion (OCF / net income)Above 1× means profits are backed by cash.
- 2.05×
- Accruals (net income − OCF) / assetsLower is better; high accruals can signal weaker earnings quality.
- -3.8%
- Stock-based compensation / revenueA cost to shareholders through dilution.
- 0.8%
- Receivables growth vs revenue growthReceivables growing much faster than sales can be a warning.
- -13.7 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- 4.69×
- Interest cover (operating income / interest)How many times operating profit covers interest.
- 3.7×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 2.10%
- Net buyback yield (TTM)
- -2.57%
- Shareholder yield
- -0.47%
- Share count change, 1 year
- +3.3%
- Share count change, 3-year CAGR
- +10.6%
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
- 0
- Beats in the last 8 reports
- 3 of 8
- Average EPS surprise, last 4
- -1.7%
- Average 2-day reaction, last 8
- +0.6%
- Positive 20 days after report
- 2 of 8
Analysts
- Consensus price target
- $142.67
- Target vs current price
- +13.0%
- Analysts with a rating
- 12
- Share rating Buy or Strong Buy
- 50%
- Consensus rating
- Buy
How the stock reacted to recent reports
| Report date | EPS surprise | 2 days | 5 days | 20 days | 60 days |
|---|---|---|---|---|---|
| Aug 6, 2026 | -1.9% | -0.3% | +0.7% | -2.2% | — |
| May 6, 2026 | +3.8% | -0.0% | +0.2% | -4.2% | +5.5% |
| Feb 25, 2026 | +0.0% | -0.6% | +1.6% | -7.8% | -6.0% |
| Nov 6, 2025 | -8.9% | +2.2% | +3.4% | -1.1% | -1.3% |
| Aug 7, 2025 | +4.0% | +0.6% | +4.5% | +3.3% | +6.7% |
| May 7, 2025 | -2.6% | +0.5% | -10.7% | -10.1% | -10.4% |
| Feb 26, 2025 | -2.4% | +0.0% | +0.5% | -1.7% | -3.4% |
| Nov 8, 2024 | +16.4% | +2.6% | +3.8% | +6.8% | +3.0% |
Returns from the close before each report. Past reactions do not determine future ones.
Earnings history
| Report date | EPS | Estimate | Surprise | Revenue |
|---|---|---|---|---|
| Aug 6, 2026 | $1.05 | $1.07 | -1.9% | $201.9M |
| May 6, 2026 | $2.47 | $2.38 | +3.8% | $353.1M |
| Feb 25, 2026 | $1.94 | $1.94 | +0.0% | $258.9M |
| Nov 6, 2025 | $0.82 | $0.90 | -8.9% | $179.6M |
| Aug 7, 2025 | $1.04 | $1.00 | +4.0% | $192.8M |
| May 7, 2025 | $2.22 | $2.28 | -2.6% | $298.7M |
| Feb 26, 2025 | $1.63 | $1.67 | -2.4% | $215.0M |
| Nov 8, 2024 | $0.78 | $0.67 | +16.4% | $160.1M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 20.1× | 24.0× | 10th | Bottom 39% |
| P/E (forward) | 19.6× | — | — | — |
| EV / EBITDA | 13.2× | — | — | Bottom 36% |
| EV / Sales | 4.78× | — | — | Bottom 39% |
| Free-cash-flow yield | -9.19% | — | — | Bottom 30% |
| Earnings yield | 4.97% | — | — | Bottom 39% |
P/E over the past five years
Range 17.7× – 28.2× 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
- -6.0%
- Earnings per share growth (TTM)
- +11.8%
- Change in P/E multiple
- -1.5%
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.0%
- 200-day average slope (20 days)
- -0.2%
- Distance from 50-day average
- -4.5%
- Distance from 200-day average
- -1.8%
- RSI (14)
- 40.0
- Relative volume
- 1.09×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 20.0%
- Volatility vs own 5-year history
- 31th percentile · Normal for this stock
- Beta vs S&P 500 (2 years, weekly)
- 0.00
- Correlation with S&P 500
- 0.00
- Current drawdown from 1-year high
- -9.2%
- Maximum drawdown, 3 years
- -14.4%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| Dec 31, 2021 | Nov 10, 2023 | -40.5% | 468 days | Not yet recovered |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $3.06B
- P/E (TTM)
- 20.1
- EPS, diluted (TTM)
- $6.27
- Revenue (TTM)
- $993.6M
- Dividend yield
- 2.25%
- 52-week range
- $118.88 – $140.83
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Revenue | $570.0M | $680.7M | $670.6M | $787.2M | $930.0M |
| Gross profit | $217.9M | $237.5M | $255.3M | $334.8M | $294.1M |
| Operating income | $131.1M | $142.9M | $150.8M | $228.2M | $257.6M |
| Net income | $83.5M | $89.8M | $87.2M | $118.6M | $140.3M |
| EPS (diluted) | $4.73 | $5.04 | $4.73 | $5.26 | $5.97 |
| Q3 2024 | Q4 2024 | Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $160.1M | $215.0M | $298.7M | $192.8M | $179.6M | $258.9M | $353.2M | $201.9M |
| Net income | $17.5M | $36.7M | $50.9M | $23.9M | $19.4M | $46.1M | $59.3M | $25.4M |
| EPS (diluted) | $0.78 | $1.60 | $2.21 | $1.02 | $0.82 | $1.93 | $2.47 | $1.05 |
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Operating cash flow | $150.5M | $158.9M | $203.5M | $239.4M | $233.7M |
| Capital expenditure | -$186.9M | -$128.3M | -$188.6M | -$355.3M | -$448.6M |
| Free cash flow | -$36.4M | $30.6M | $14.9M | -$115.9M | -$214.9M |
| Dividends paid | -$31.5M | -$35.1M | -$40.0M | -$54.2M | -$60.7M |
| Net share buybacks | $15.9M | $4.5M | $366.4M | $72.6M | $123.0M |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $400,000
- Total assets
- $4.17B
- Total liabilities
- $2.50B
- Total debt
- $1.69B
- Net debt
- $1.69B
- Shareholders’ equity
- $1.67B
As of Jun 30, 2026 (filed Aug 6, 2026).
Dividends
| Ex-date | Amount | Paid |
|---|---|---|
| Sep 14, 2026 | $0.74 | Oct 5, 2026 |
| Jun 15, 2026 | $0.74 | Jul 6, 2026 |
| Mar 16, 2026 | $0.69 | Apr 6, 2026 |
| Dec 15, 2025 | $0.69 | Jan 5, 2026 |
| Sep 15, 2025 | $0.69 | Oct 6, 2025 |
| Jun 16, 2025 | $0.69 | Jul 7, 2025 |
| Mar 14, 2025 | $0.64 | Apr 7, 2025 |
| Dec 16, 2024 | $0.64 | Jan 6, 2025 |
Short interest
- Shares sold short
- 1,011,475
- Days to cover
- 6.44
- Change vs previous report
- -0.3%
FINRA short interest, settlement date Sep 15, 2026.
Stock splits
- Sep 9, 2014
- 3-for-2
- Apr 5, 1989
- 3-for-2
- Oct 6, 1986
- 3-for-2
- Jun 7, 1984
- 2-for-1
- Nov 9, 1973
- 51-for-50