PTC Inc [PTC]
As of 2026-07-30 · spot $136.29 · Company state: A (mature-stable), with a declared instrument caveat
| Shares outstanding | 115,505,791 (dei cover, 4 May 2026) — upper bound, see §7 |
| Market capitalisation | $15,742.4m |
| Cash (30 Jun 2026) | $351.454m |
| Debt, net of issuance costs (30 Jun 2026) | $1,423.315m |
| Net debt | $1,071.861m |
| Enterprise value (lease-exclusive) | $16,814.3m |
| Enterprise value (lease-inclusive, +$184.379m) | $16,998.7m |
| TTM revenue (to 30 Jun 2026) | $2,953.972m |
| TTM operating income (GAAP) | $1,117.008m |
| TTM operating margin | 37.81% |
| TTM free cash flow | $935.484m (31.67% margin) |
| EV / Sales | 5.69x |
| EV / EBIT (trailing GAAP) | 15.05x — see §3, this number is an artefact |
| EV / normalised FY2026 FCF ($950m) | 17.7x |
TTM FCF margin is strongly positive, so the interim-FCF correction is conservative in direction;
--fcf-margin 0.3167 was passed explicitly rather than omitted. FY2026 guided FCF (~$850m on
~$2,720m revenue = 31.3%) confirms the forward margin is the same sign and roughly the same size, so
no trailing-vs-forward sign inversion of the GOOGL type applies here.
Basis: PTC's own FY2026 guidance, reconciled through the opex bridge. Not the trailing actual.
TTM operating margin is 37.81% and FY2025 was 35.86%. Both are contaminated, and the contamination is measurable:
| Fiscal 2026 quarter | GAAP operating margin |
|---|---|
| Q4 FY2025 (Sep-25) | 48.5% |
| Q1 FY2026 (Dec-25) | 32.2% |
| Q2 FY2026 (Mar-26) | 38.2% |
| Q3 FY2026 (Jun-26) | 27.7% |
A 20.8pp spread across four consecutive quarters of the same business, in a year with no restructuring and no acquisition. The cause is stated by the company: on-premise subscription licence revenue is recognised upfront, so contract duration and renewal timing move reported margin directly. The TTM window happens to contain the Sep-25 quarter at 48.5%.
The brief warns that a terminal margin below the trailing actual is almost certainly an error. Here is why it is not: the trailing actual is not a margin, it is a phase of a recognition cycle, and the TTM window's composition is an accident of which four quarters you stand in. Setting terminal at 37.81% would be extrapolating the Sep-25 cohort forever.
| Line | Value | % of revenue |
|---|---|---|
| Revenue (guidance midpoint $2,690–2,750m) | $2,720m | 100.0% |
| Gross margin (FY2025 83.76%, TTM 83.7%, Q3 FY2026 83.7%) | $2,285m | 84.0% |
| Operating expenses ("FY'26 GAAP operating expenses are expected to increase approximately 4%" on FY2025's $1,311.858m) | $1,364m | 50.2% |
| = Operating income | $921m | 33.9% |
Terminal margin 34.0%. Constraint satisfied: m_EBIT,T 34.0% ≤ m_gross,T 83.8%.
| Line | $m | % of $2,739.226m |
|---|---|---|
| Gross profit | 2,294.243 | 83.76% |
| less Research & development | 457.693 | 16.71% |
| less Selling & marketing | 566.516 | 20.68% |
| less General & administrative | 226.058 | 8.25% |
| less Amortisation of acquired intangibles | 45.948 | 1.68% |
| less Restructuring and other | 15.643 | 0.57% |
| = Operating income | 982.385 | 35.86% |
Ties to the filed OperatingIncomeLoss of $982,385,000 exactly, and to OperatingExpenses of
$1,311,858,000.
steady_state_check.py --ticker PTC --terminal-margin 0.34 --exit-multiple 16.0 --wacc 0.095MARGIN RAMP
2020-09-30 margin 14.5%
latest margin 35.9%
moved +21.4pp latest is window peak: True
terminal assumed 34.0% (-1.9pp vs latest, -1.9pp vs peak)
RETURNS AND THE WARRANTED MULTIPLE
ROIC measured 14.4%
warranted multiple at steady ROIC 9.6x
SCALING CONTAMINATION 1.00x
terminal reinvestment rate implied by g/ROIC 20.8%
exit multiple used vs steady-state warranted 1.66x
FINDINGS
• MARGIN_STILL_RAMPING: operating margin moved +21.4pp over 2020-09-30 to 2025-09-30 and the
latest value IS the window peak. A terminal margin set at the latest actual is a ramp endpoint
extrapolated, not an observed plateau.
• EXIT_MULTIPLE_UNWARRANTED_AT_STEADY_STATE: 16.0x is 1.7x the 9.6x warranted at a 14%
steady-state ROIC.
What it flagged, and the response:
MARGIN_STILL_RAMPING — flagged, and it is correct, and this memo does not set terminal at the
latest actual. The check is doing exactly what it was built to do. The FY2025 35.86% is the
20-year peak and the terminal is set 1.9pp below it, from guidance rather than from the peak. Had
the screen's 35.9% been carried forward, this flag would have been the whole finding.EXIT_MULTIPLE_UNWARRANTED_AT_STEADY_STATE — at 14.4% measured ROIC, g = 3%, WACC = 9.5%, the
identity warrants 9.6x EV/EBIT. Any multiple used above that assumes today's returns persist. PTC's
ROIC is materially better than PRGS's (14.4% vs 7.3%) and above WACC, so the gap is 1.66x rather
than 2.20x — but it is a gap.PTC's EV/EBIT sits at the 2.6th percentile of its own 6-year history and the 6.0th percentile of the post-2024 window. That looks like a deep-value signal. It is not.
| Fiscal year | Operating income | EV/EBIT at then-prevailing EV |
|---|---|---|
| FY2023 | $458.474m | ~38x |
| FY2024 | $588.062m | ~35x |
| FY2025 | $982.385m | ~19x |
| TTM to Jun-26 | $1,117.008m | 15.05x |
The multiple collapsed because the denominator nearly doubled, not because the price fell.
Enterprise value is roughly flat over the window. A percentile computed on a series whose denominator
underwent a step change is not measuring multiple movement — it is measuring the step change, which
is precisely the defect own_multiple_history.py was written to avoid.
The post-2024 EV/EBIT deciles confirm the series is bimodal: [15.9, 20.3, 31.0, 33.2, 35.4, 39.4, 40.8, 43.5, 46.7]. There is a 10.7x gap between the 20th and 30th percentile. A distribution with a hole in the middle is two distributions.
Therefore: the EV/EBIT anchor is declared UNIDENTIFIED for the 12-month target, per criteria.md
("If history is too short or spans a regime change, declare UNIDENTIFIED rather than substituting a
peer median"). No peer median is substituted. EV/Sales is used instead, where the denominator is
continuous.
EV/EBIT is still used for the implied-path test, because there the multiple is an input held fixed and sensitised, not an anchor read off history.
Daily series from Alpaca split-adjusted closes, 2020-07-27 → 2026-07-29, n = 1,509; current share count and net debt held fixed; 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 | [6.71, 12.36], med 8.39 | [4.69, 11.12], med 9.52 | 85.1% |
| EV/EBIT | [29.9, 85.5], med 38.9 | [12.1, 48.9], med 35.4 | 71.3% |
EV/Sales overlaps at 85.1% — the series is regime-continuous and admissible. This is the opposite of the ZS finding (12.7%) and the opposite of PRGS's EV/Sales (32.2%). PTC's multiple has not re-based; its earnings have.
Current EV/Sales 5.69x sits at the 5.7th percentile of the post-2024 window and the 2.5th percentile of the full six years. Window-B deciles: [6.06, 7.27, 8.36, 8.88, 9.52, 9.79, 9.96, 10.18, 10.45] — today is below the 10th percentile of the entire window.
One qualification, stated rather than hidden: the historic EV/Sales series includes Kepware and ThingWorx revenue, which have been divested. The revenue denominator therefore falls slightly going forward relative to history, which mechanically raises the forward multiple at a constant price. This makes the 5.7th-percentile reading modestly less cheap than it appears. The divested ARR is not separately quantified by PTC, so the adjustment cannot be sized — recorded as a known bias in the conservative direction of the anchor.
reverse_dcf.py --spot 136.29 --shares 115.505791 --net-cash -1071.861 --revenue 2953.972
--terminal-margin 0.34 --exit-multiple 15.05 --fcf-margin 0.3167 --wacc 0.095
THE MARKET REQUIRES: revenue CAGR of 5.6% Held fixed: terminal margin 34.0%, exit multiple 15.05x EV/EBIT, WACC 9.5%, 5 years.
| Demonstrated basis | Value | Margin (demonstrated − required) |
|---|---|---|
Screen's revenue_cagr_demonstrated |
+12.3% | +6.7pp |
| Constant-currency ARR ex-divested (FY2026 guidance) | +9.25% | +3.65pp |
| As-reported ARR, Q3 FY2026 | 0.0% (flat) | −5.6pp |
| FY2026 revenue guidance | −1.0% | −6.6pp |
The honest number is +3.65pp, on constant-currency ARR excluding divested businesses — that is the metric management guides on, it is the metric that is ASC-606-neutral, and it is the only one that describes the ongoing business. But the memo records all four, because the spread between +6.7pp and −6.6pp is 13.3pp and it is entirely definitional.
Verdict: PASS WITH ARGUMENT. The argument is specific and evidenced: constant-currency ARR ex-divested is guided at +9% to +9.5% and printed +9.1% in Q3, above the required 5.6%; free cash flow is $935m TTM and ~$950m normalised; gross margin is 83.8% and stable. It is not a plain PASS, because on the two measures that are not adjusted for the divestiture — as-reported ARR (flat) and guided revenue (−1%) — the price requires more than the business is delivering.
| Exit EV/EBIT | Required revenue CAGR | vs cc ARR ex-divested +9.25% |
|---|---|---|
| 9.6x (ROIC-warranted) | ~13.5% (extrapolated between 10x and 12x) | −4.3pp FAIL |
| 10.0x | +12.9% | −3.65pp FAIL |
| 12.0x | +9.6% | −0.35pp marginal |
| 15.05x (current trailing, held fixed) | +5.6% | +3.65pp PASS |
| 20.0x | +0.6% | +8.65pp |
| 25.0x | −3.2% | +12.45pp |
| 35.4x (post-2024 EV/EBIT median) | −9.1% | +18.35pp |
Flip point ~11.8x EV/EBIT. Applied to normalised EBIT of $921m rather than the TTM $1,117m, the flip point in price terms is roughly $121 — about 11% below spot. That is a genuinely tighter buffer than the headline +6.7pp screen margin implies.
Terminal value exceeds 60% of EV, so the reverse DCF is the primary output and the forward DCF is
supporting evidence, per criteria.md.
Anchor: EV/Sales, because the EV/EBIT anchor is UNIDENTIFIED (§3) and EV/Sales overlaps 85.1% across the regime break (§4).
FY2026 guidance midpoint $2,720m. ARR compounds at ~9% constant currency and revenue converges on ARR over time; PTC's revenue is now ex-Kepware/ThingWorx for a full year from Q3 FY2027. A forward 12-month revenue of $2,880m (+5.9% on the FY2026 midpoint) is the base — below ARR growth, because FX and contract-duration mix are both headwinds and PTC has just demonstrated that revenue can lag ARR by a wide margin.
| EV/Sales anchor | Percentile of window B | EV | less net debt | Equity | Per share | vs $136.29 |
|---|---|---|---|---|---|---|
| 4.69x (window-B low) | 0th | $13,507m | $1,072m | $12,435m | $107.66 | −21.0% |
| 5.69x — BASE, current held flat | 5.7th | $16,387m | $1,072m | $15,315m | $132.59 | −2.7% |
| 6.06x | 10th | $17,453m | $1,072m | $16,381m | $141.82 | +4.1% |
| 7.27x | 20th | $20,938m | $1,072m | $19,866m | $171.99 | +26.2% |
| 9.52x | 50th | $27,418m | $1,072m | $26,346m | $228.10 | +67.4% |
12-month target: $133 (−2.7%), at 5.69x EV/Sales = the 5.7th percentile of the 2024–26 own-history window, held flat.
The base assumes no re-rating. That is a deliberate and conservative choice and the reason is
stated: criteria.md forbids a base below every stated anchor without argument — this base sits at
the current anchor, not below it — and the divested-revenue bias identified in §4 means the historic
percentile reads cheaper than the forward reality. A re-rating to even the 20th percentile of the
company's own recent range is worth +26%; the memo does not assume it.
The distribution is the finding: −2.7% base, +67% at the median of PTC's own two-and-a-half-year trading range, −21% at its low. PTC is not cheap or expensive on revenue; it is unchanged, while its earnings have doubled and are about to normalise back down.
The last filed cover-page count is 115,505,791 (4 May 2026). On 2026-07-29 the CFO said PTC repurchased "more than two times what we previously targeted" in fiscal Q3. Q3 GAAP net income of $118.780m over $1.03 EPS implies 115.32m diluted for the quarter — an average, so the end-of-period count is lower still. The Q3 10-Q, not yet filed, will carry the exact figure.
115,505,791 is used as an upper bound. Market capitalisation and therefore EV are consequently overstated, and the target per share understated — both in the conservative direction. Per the brief, the discrepancy is reported rather than either number being silently adopted.
| Criteria | Type | Verdict | Basis |
|---|---|---|---|
| Quality | BINDING | PASS | COMPOUNDER. ROIC 14.4% vs WACC ~9.5% — above, with an evidenced redeployment mechanism (tuck-in M&A explicitly named in the FY2026 capital-allocation commentary, plus buybacks). Gross margin 83.8% stable, ~90% recurring revenue, $935m TTM FCF, ARR $2.4bn compounding at 9% cc. Accruals: FCF/net income is healthy on a normalised basis once the $464.6m non-cash divestiture gain is removed. |
| Valuation | BINDING | PASS WITH ARGUMENT | Required 5.6% vs cc ARR ex-divested +9.25% = +3.65pp. Argument evidenced: guided +9% to +9.5%, printed +9.1%. But as-reported ARR is flat and guided revenue is −1%, so the pass depends on accepting the divestiture-adjusted basis. Flip point ~11.8x EV/EBIT ≈ $121, ~11% below spot. |
| Accounting quality | MEASURED | FLAG — ASC 606 recognition, not fraud | Trailing GAAP revenue and EBIT are non-stationary; 20.8pp of operating-margin range across four consecutive quarters. $463m divestiture gain verified non-operating. GAAP EPS guidance +39–51% vs non-GAAP −1% to +6%. |
| Receivables / DSO | MEASURED | INDETERMINATE | Same-quarter DSO 125.0 days (Q3 FY2026). Prior-year Q3 AR is not in the 8-K and the Q3 10-Q is unfiled, so the YoY trend cannot be computed. Factoring search CLEAN through the Q2 10-Q only. |
| Retired or redefined metric | MEASURED | FLAG | "ARR excluding divested businesses" introduced Q2 FY2026 and now the headline. As-reported ARR is flat; the featured figure is +9.1%. Both are disclosed on the same page. |
| ARR definition change | MEASURED | YES — see above | The ARR calculation methodology is unchanged; the comparator basis changed. |
| On-prem vs cloud mix | MEASURED | INDETERMINATE | Not disclosed at the required granularity. The absence is informative: it is the largest driver of reported revenue variance and PTC does not quantify it. |
| Customer concentration | MEASURED | NOT FOUND | No concentration disclosure located; search was targeted, not exhaustive. Recorded as not-found, not as clean. |
| Mention-frequency split | MEASURED | INDETERMINATE | EARNINGS_CALL_TRANSCRIPT not retrieved within the time-box. |
| Steady-state test | MEASURED | 2 flags | MARGIN_STILL_RAMPING (answered: terminal set from guidance, 1.9pp below the peak) and EXIT_MULTIPLE_UNWARRANTED_AT_STEADY_STATE at 1.66x. |