Progress Software [PRGS]
As of 2026-07-30 · spot $40.01 · Company state: A (mature-stable)
| Shares outstanding | 41,012,942 (dei cover, 26 Jun 2026) |
| Market capitalisation | $1,640.9m |
| Net debt (carrying) | $1,189.169m |
| Enterprise value (lease-exclusive) | $2,830.1m |
| Enterprise value (lease-inclusive, +$34.611m) | $2,864.7m |
| TTM revenue (to 31 May 2026) | $1,003.725m |
| TTM operating income (GAAP) | $178.600m |
| TTM operating margin | 17.79% |
| TTM free cash flow | $305.221m (30.41% margin) |
| EV / Sales | 2.82x |
| EV / EBIT | 15.85x |
| EV / FCF | 9.27x |
TTM FCF margin is positive, so per DATA_DEFECTS.md the interim-FCF correction moves in the
conservative direction; omitting it would have overstated required CAGR. --fcf-margin 0.3041
was passed explicitly. No forward-guidance basis exists that would flip the sign (capex is $8.5m/yr).
Basis: the company's own TTM demonstrated GAAP operating margin of 17.79%, rounded up to 18.0%.
| Line | $m | % rev |
|---|---|---|
| Gross profit | 790.250 | 80.82% |
| less Product development (R&D) | 192.265 | 19.66% |
| less Selling & marketing | 211.013 | 21.58% |
| less General & administrative | 108.215 | 11.07% |
| less Amortisation of acquired intangibles (opex) | 104.266 | 10.66% |
| less Restructuring | 13.109 | 1.34% |
| less Acquisition-related and other | 8.092 | 0.83% |
| = Operating income | 153.290 | 15.68% |
Ties to the filed OperatingIncomeLoss of $153,290,000 exactly. Constraint satisfied:
m_EBIT,T 18.0% ≤ m_gross,T 80.8%.
The 22.4pp gap between the 80.8% gross margin and the 15.7% FY2025 operating margin is real operating cost, and 12.83pp of it (amortisation of acquired intangibles + acquisition costs) is structurally permanent for this business: PRGS's organic revenue declines, so it must keep acquiring, so the amortisation is replenished rather than run off. FY2024 amortisation was 12.5% of revenue; FY2025 was 14.88%. It is rising, not decaying.
A terminal margin built by adding back that amortisation — the non-GAAP ~40% — would assume PRGS stops acquiring and keeps growing. Those are mutually exclusive on this name's own numbers.
The four most recent quarters print 15.2%, 17.6%, 19.9%, 18.5%. 18.0% is the centre of that band and +2.3pp above the FY2025 annual actual — it is not below the trailing figure, which the brief flags as almost always an error.
steady_state_check.py --ticker PRGS --terminal-margin 0.18 --exit-multiple 15.85 --wacc 0.095MARGIN RAMP
2020-11-30 margin 24.4%
latest margin 15.7%
moved -8.7pp latest is window peak: False
terminal assumed 18.0% (+2.3pp vs latest, -6.4pp vs peak)
RETURNS AND THE WARRANTED MULTIPLE
ROIC measured 7.3%
warranted multiple at steady ROIC 7.2x
SCALING CONTAMINATION 1.00x
terminal reinvestment rate implied by g/ROIC 40.8%
exit multiple used vs steady-state warranted 2.20x
FINDINGS
• EXIT_MULTIPLE_UNWARRANTED_AT_STEADY_STATE: 15.8x is 2.2x the 7.2x warranted at a 7%
steady-state ROIC.
What it flagged, and the response:
EXIT_MULTIPLE_UNWARRANTED_AT_STEADY_STATE — and this one is the memo. At a measured ROIC of
7.3%, g = 3% and WACC = 9.5%, the identity EV_T/EBIT_T = (1−t)(1−g/ROIC)/(WACC−g) warrants
7.2x. The stock trades at 15.85x, which is 2.20x warranted. The exit multiple is not a
free parameter and this is the proof: PRGS's price is justifiable only if the market continues to
pay software multiples for a business earning 7.3% on invested capital. That is an assumption
about market convention, not about the company.reverse_dcf.py --spot 40.01 --shares 41.012942 --net-cash -1189.169 --revenue 1003.725
--terminal-margin 0.18 --exit-multiple 15.85 --fcf-margin 0.3041 --wacc 0.095
THE MARKET REQUIRES: revenue CAGR of −1.3% Held fixed: terminal margin 18.0%, exit multiple 15.85x, WACC 9.5%, 5 years.
| Demonstrated basis | Value | Margin (demonstrated − required) |
|---|---|---|
Screen's revenue_cagr_demonstrated |
+17.5% | +18.8pp |
| ARR (organic, like-for-like) | +2.0% | +3.3pp |
| Revenue ex-ShareFile | −2.2% | −0.9pp |
| Software licenses | −5.0% | −3.7pp |
The honest number is +3.3pp, on ARR — the only measure that is both organic and forward-looking. The screen's +13.3pp is 10.0pp too generous because it counts a $875m acquisition as demonstrated growth.
Verdict: PASS WITH ARGUMENT. The required path (−1.3%) does sit below the organic demonstrated
path (+2.0%). But it clears by 3.3pp, not 13.3pp, and it clears only at an exit multiple that
steady_state_check says is 2.2x warranted.
| Exit EV/EBIT | Required revenue CAGR | vs organic +2.0% |
|---|---|---|
| 7.2x (ROIC-warranted) | not solvable in range — price unjustifiable at any growth rate | FAIL |
| 10.0x | +5.2% | −3.2pp FAIL |
| 13.0x | +1.5% | +0.5pp marginal |
| 15.85x (current, held flat) | −1.3% | +3.3pp PASS |
| 20.0x | −4.7% | +6.7pp |
| 25.0x | −8.0% | +10.0pp |
The flip point is ~13.4x. PRGS's post-2024 EV/EBIT low is 13.3x — the name has already traded through its own flip point inside the current regime. This is not a robust PASS.
Terminal value share of EV at the base case is well above 60%, so per criteria.md the reverse DCF
is the primary output and the forward DCF is supporting evidence only.
Daily EV/Sales and EV/EBIT series built from Alpaca split-adjusted closes (2020-07-27 → 2026-07-29, n = 1,509), current share count and net debt held fixed so the series measures multiple movement, TTM revenue lagged 60 days to filing availability.
| Series | Window A (2020-07→2023-12) | Window B (2024-01→2026-07) | Share of B inside A's range |
|---|---|---|---|
| EV/Sales | [4.78, 7.32], med 5.86 | [2.27, 5.67], med 4.58 | 32.2% |
| EV/EBIT | [21.2, 47.4], med 27.7 | [13.3, 34.6], med 28.5 | 78.3% |
The EV/Sales long series is rejected. Only 32.2% of the current regime overlaps the 2020–23 regime, which never once traded below 4.78x. Quoting a 6.2nd-percentile EV/Sales reading against a series whose floor is 2.1x above today's price is the ZS failure mode (12.7% overlap) in a milder form.
EV/EBIT overlaps at 78.3% and is admissible. It is also the right instrument: gross margin 80.8% (nowhere near the <15% low-margin trigger), positive EBIT every year, State A.
| EV/EBIT | |
|---|---|
| Current | 15.85x |
| Percentile within window B (2024–26) | 10.1st |
| Percentile within the full 6-year series | 4.3rd |
| Window B deciles | 15.8 / 20.7 / 22.0 / 26.4 / 28.5 / 29.7 / 30.5 / 31.1 / 31.7 |
| ROIC-warranted (§2) | 7.2x |
Base anchor: 15.85x — the current multiple, held flat, at the 10.1st percentile of the
regime-valid window. No re-rating is assumed, and the reason is stated: every point in PRGS's own
history, at every percentile, sits above the 7.2x its returns on capital warrant. A "reversion to
the median" anchor here would be reverting to an unwarranted level. Under criteria.md the base may
not sit below every stated anchor without argument — it does not; it sits at the current anchor.
1H FY2026 revenue $501.264m (+5%, +4% cc); 1H operating income $96.352m (19.22% margin). Full-year FY2026 at ~$1,020m revenue and an 18.0% margin gives EBIT ≈ $184m; the rolling 12-month figure one year out ≈ $190m.
| Anchor | EV | less net debt | Equity | Per share | vs $40.01 |
|---|---|---|---|---|---|
| 7.2x (ROIC-warranted) | $1,368m | $1,189m | $179m | $4.36 | −89% |
| 13.0x (flip point) | $2,470m | $1,189m | $1,281m | $31.23 | −22% |
| 15.85x — BASE, 10.1st pctile | $3,011m | $1,189m | $1,822m | $44.43 | +11.0% |
| 22.0x (window-B 30th pctile) | $4,180m | $1,189m | $2,991m | $72.92 | +82% |
| 28.5x (window-B median) | $5,415m | $1,189m | $4,226m | $103.03 | +158% |
12-month target: $44 (+11%), at 15.85x EV/EBIT = the 10.1st percentile of the 2024–26 own-history window.
The spread from $4 to $103 across the multiple range is not a modelling failure; it is the finding. PRGS's equity is 42% geared, so it absorbs the entire multiple move, and the multiple is not anchored by the company's returns on capital. That is what a leveraged roll-up earning below its cost of capital looks like when you refuse to add back acquisition amortisation.
| Criteria | Type | Verdict | Basis |
|---|---|---|---|
| Quality | BINDING | FAIL | COMPOUNDER archetype requires ROIC > WACC with an evidenced redeployment mechanism. ROIC 7.3–8.3% vs WACC ~9.5%. The mechanism exists ($1.5bn facility, 7 deals); the return does not. Organic ARR +2%, NRR 99–100%, licenses −5%. Cheap cannot rescue a failure here. |
| Valuation | BINDING | PASS WITH ARGUMENT | Required −1.3% vs organic demonstrated +2.0% = +3.3pp. Argument is specific and evidenced (ARR +2% twice, NRR ≥99%, 80.8% gross margin, $305m TTM FCF). But it inverts to FAIL below a 13.4x exit multiple, and window B's own floor is 13.3x. |
| Accounting quality | MEASURED | Growth is acquired, not organic | ShareFile 26.8% of FY2025 revenue; ex-ShareFile −2.2%; ARR +2%. Disclosure itself is good — the company gives the numbers needed to compute it. |
| Receivables / DSO | MEASURED | PASS | Same-quarter DSO 45.4d, falling; zero factoring/securitisation language in the 10-K or 10-Q, so the fall is real. |
| Retired or redefined metric | MEASURED | FLAG | NRR band restated 100–102% → 99–100% between the FY2025 10-K and the Q2 FY2026 10-Q, uncommented. |
| Customer concentration | MEASURED | PASS | No customer, partner or ex-US country >10% of revenue. |
| Mention-frequency split | MEASURED | INDETERMINATE | EARNINGS_CALL_TRANSCRIPT not retrieved within the time-box. Missing input → INDETERMINATE, never FAIL. |
| Steady-state test | MEASURED | 1 flag | EXIT_MULTIPLE_UNWARRANTED_AT_STEADY_STATE, 2.20x. Margin-ramp check clears. |