Stocks · Industrials · Engineering & Construction
Willdan Group, Inc. WLDN
$73.58 +0.05% Close, Oct 5, 2026 · NASDAQ · Market cap $1.11B
Strong growthInexpensive vs sector
Next earnings report: Nov 5, 2026
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
- Diluted EPS over the last four quarters was $4.26, up 78.2% year over year.
- At 17.3× trailing earnings, the shares trade at the lowest P/E of the company's past five years.
- Earnings beat analyst estimates in each of the last 11 quarters (average surprise over the last four: +54.9%).
PromtFinance scores
Each score is a percentile within the Industrials 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 25%
- EPS growth (TTM, YoY)Top 16%
- FCF growth (TTM, YoY)Bottom 40%
- Revenue growth, 3-year CAGRTop 17%
- Revenue growth accelerationTop 32%
Returns on capital, margins, earnings quality and balance-sheet strength.
- Return on invested capitalTop 20%
- Gross marginTop 28%
- Operating marginBottom 50%
- Cash conversion (OCF / net income)Bottom 23%
- Accruals (lower is better)Bottom 20%
- Net debt / EBITDA (lower is better)Top 27%
- Interest coverTop 10%
How cheap the shares are relative to earnings, cash flow and their own history.
- Earnings yieldTop 13%
- Free-cash-flow yieldTop 26%
- EBITDA / enterprise valueTop 41%
- Sales / enterprise valueTop 38%
- P/E vs own 5-year history (lower is better)Top 5%
Strength and persistence of the price trend, including versus the S&P 500.
- 12-month return excluding last monthBottom 34%
- 6-month returnBottom 37%
- 1-year return vs S&P 500Bottom 24%
- Distance from 52-week highBottom 23%
- Trend checklist (0–4)Bottom 16%
Earnings surprises and analyst sentiment (estimate-revision history is being collected).
- Average EPS surprise, last 4 quartersTop 12%
- Consecutive EPS beatsTop 10%
- Share of analysts rating BuyTop 4%
- Upside to consensus price targetTop 28%
Low volatility, shallow drawdowns, low market sensitivity and modest leverage.
- Volatility, 60 days (lower is better)Bottom 44%
- Maximum drawdown, 3 yearsBottom 50%
- Beta vs S&P 500 (lower is better)Top 49%
- Net debt / EBITDA (lower is better)Top 27%
What changed
Latest four quarters versus the same period a year earlier (growth: versus one quarter earlier).
| Measure | Before | Now | |
|---|---|---|---|
| Revenue growth (YoY) | 14.9% | 18.1% | ↑ |
| EPS growth (YoY) | 119.5% | 78.2% | ↓ |
| Gross margin | 37.0% | 37.8% | ↑ |
| Operating margin | 6.1% | 7.1% | ↑ |
| FCF margin | 10.2% | 8.4% | ↓ |
Fundamental momentum
| Measure | Now (TTM) | Year / quarter before | Sector rank | |
|---|---|---|---|---|
| Revenue growth (TTM, YoY) | 18.1% | 14.9% | ↑ | Top 25% |
| EPS growth (TTM, YoY) | 78.2% | 119.5% | ↓ | Top 16% |
| Gross margin | 37.8% | 37.0% | ↑ | Top 28% |
| Operating margin | 7.1% | 6.1% | ↑ | Bottom 50% |
| Net margin | 8.8% | 5.6% | ↑ | — |
| Free-cash-flow margin | 8.4% | 10.2% | ↓ | — |
| Return on invested capital | 11.7% | — | Top 20% | |
| Revenue growth, 3-year CAGR | 16.7% | — | Top 17% |
Quality of earnings and balance sheet
- Cash conversion (OCF / net income)Above 1× means profits are backed by cash.
- 1.09×
- Accruals (net income − OCF) / assetsLower is better; high accruals can signal weaker earnings quality.
- -0.9%
- Stock-based compensation / revenueA cost to shareholders through dilution.
- 2.0%
- Receivables growth vs revenue growthReceivables growing much faster than sales can be a warning.
- -66.7 pp
- Net debt / EBITDABelow 1× is conservative; above 3× is high leverage.
- 0.63×
- Interest cover (operating income / interest)How many times operating profit covers interest.
- 26.0×
Shareholder returns
- Dividend yield (dividends paid, TTM)
- 0.00%
- Net buyback yield (TTM)
- -0.53%
- Shareholder yield
- -0.53%
- Share count change, 1 year
- +3.4%
- Share count change, 3-year CAGR
- +4.6%
Shareholder yield = dividends + net buybacks over the last four quarters, divided by market cap.
Based on the four quarters through Jul 3, 2026 (filed Aug 7, 2026).
Earnings and expectations
Earnings momentum
- Consecutive EPS beats
- 11
- Beats in the last 8 reports
- 8 of 8
- Average EPS surprise, last 4
- +54.9%
- Average 2-day reaction, last 8
- -0.5%
- Positive 20 days after report
- 6 of 8
Analysts
- Consensus price target
- $110.00
- Target vs current price
- +49.5%
- Analysts with a rating
- 7
- 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 6, 2026 | +59.2% | -0.6% | +14.6% | +18.1% | — |
| May 7, 2026 | +12.3% | -1.6% | +20.3% | +29.3% | -2.8% |
| Feb 26, 2026 | +98.7% | +2.1% | -28.4% | -29.3% | -22.6% |
| Nov 6, 2025 | +49.4% | -9.4% | +0.0% | +11.7% | +35.0% |
| Aug 7, 2025 | +108.3% | +1.2% | +34.4% | +17.2% | +4.6% |
| May 8, 2025 | +43.2% | +1.2% | +14.3% | +38.9% | +123.1% |
| Mar 6, 2025 | +31.6% | +3.5% | +28.1% | +31.0% | +73.7% |
| Oct 31, 2024 | +32.7% | -0.8% | -8.4% | -9.5% | -22.7% |
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 | $2.07 | $1.30 | +59.2% | $117.2M |
| May 7, 2026 | $0.91 | $0.81 | +12.3% | $92.4M |
| Feb 26, 2026 | $1.57 | $0.79 | +98.7% | $89.5M |
| Nov 6, 2025 | $1.21 | $0.81 | +49.4% | $182.0M |
| Aug 7, 2025 | $1.50 | $0.72 | +108.3% | $173.5M |
| May 8, 2025 | $0.63 | $0.44 | +43.2% | $152.4M |
| Mar 6, 2025 | $0.75 | $0.57 | +31.6% | $144.1M |
| Oct 31, 2024 | $0.73 | $0.55 | +32.7% | $158.3M |
Valuation in context
| Multiple | Now | 5-year median | 5-year percentile | Sector rank (cheapness) |
|---|---|---|---|---|
| P/E (trailing) | 17.3× | 30.1× | 0th | Top 13% |
| P/E (forward) | 14.4× | — | — | — |
| EV / EBITDA | 14.6× | — | — | Top 41% |
| EV / Sales | 1.57× | — | — | Top 38% |
| Free-cash-flow yield | 5.61% | — | — | Top 26% |
| Earnings yield | 5.79% | — | — | Top 13% |
P/E over the past five years
Range 20.2× – 340.0× since Jun 30, 2023. 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
- -21.3%
- Earnings per share growth (TTM)
- +78.2%
- Change in P/E multiple
- -57.4%
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)
- +2.0%
- 200-day average slope (20 days)
- -2.4%
- Distance from 50-day average
- -8.6%
- Distance from 200-day average
- -18.7%
- RSI (14)
- 30.6
- Relative volume
- 0.93×
Risk and drawdowns
- Volatility, 60 days (annualized)
- 48.4%
- Volatility vs own 5-year history
- 30th percentile · Normal for this stock
- Beta vs S&P 500 (2 years, weekly)
- 1.04
- Correlation with S&P 500
- 0.28
- Current drawdown from 1-year high
- -45.5%
- Maximum drawdown, 3 years
- -50.4%
Largest declines in the past six years
| From peak | To low | Decline | Length | Recovery |
|---|---|---|---|---|
| Feb 8, 2021 | Oct 14, 2022 | -78.7% | 425 days | 659 days (Jun 3, 2025) |
| Jan 27, 2026 | Apr 27, 2026 | -50.4% | 62 days | Not yet recovered |
| Aug 14, 2025 | Nov 6, 2025 | -29.1% | 59 days | 44 days (Jan 12, 2026) |
| Oct 16, 2020 | Oct 30, 2020 | -16.5% | 10 days | 5 days (Nov 6, 2020) |
| Jan 26, 2021 | Jan 29, 2021 | -12.8% | 3 days | 4 days (Feb 4, 2021) |
Declines of 10% or more from a closing high, measured on daily closes.
Financial statements
- Market cap
- $1.11B
- P/E (TTM)
- 17.3
- EPS, diluted (TTM)
- $4.26
- Revenue (TTM)
- $741.8M
- 52-week range
- $64.67 – $137.00
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Revenue | $353.8M | $429.1M | $510.1M | $565.8M | $681.6M |
| Gross profit | $135.9M | $143.6M | $179.8M | $202.8M | $255.7M |
| Operating income | -$8.7M | -$7.1M | $22.1M | $31.4M | $44.1M |
| Net income | -$8.4M | -$8.4M | $10.9M | $22.6M | $52.6M |
| EPS (diluted) | -$0.68 | -$0.65 | $0.80 | $1.58 | $3.49 |
| Q3 2024 | Q4 2024 | Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025 | Q1 2026 | Q2 2026 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $158.3M | $144.1M | $152.4M | $173.5M | $182.0M | $173.7M | $155.1M | $231.0M |
| Net income | $7.3M | $7.7M | $4.7M | $15.4M | $13.7M | $18.7M | $8.5M | $24.3M |
| EPS (diluted) | $0.51 | $0.53 | $0.32 | $1.03 | $0.90 | $1.23 | $0.55 | $1.58 |
| FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 | |
|---|---|---|---|---|---|
| Operating cash flow | $9.8M | $9.4M | $39.2M | $72.1M | $80.1M |
| Capital expenditure | -$8.5M | -$9.6M | -$9.9M | -$8.4M | -$9.4M |
| Free cash flow | $1.3M | -$169,000 | $29.3M | $63.7M | $70.7M |
| Dividends paid | $0 | $0 | $0 | $0 | $0 |
| Net share buybacks | -$3.1M | $3.3M | $0 | $0 | $6.0M |
Cash outflows are shown as negative numbers.
- Cash and short-term investments
- $39.2M
- Total assets
- $634.9M
- Total liabilities
- $284.4M
- Total debt
- $89.2M
- Net debt
- $50.0M
- Shareholders’ equity
- $350.5M
As of Jul 3, 2026 (filed Aug 7, 2026).
Short interest
- Shares sold short
- 2,010,919
- Days to cover
- 10.52
- Change vs previous report
- -5.0%
FINRA short interest, settlement date Sep 15, 2026.