Zscaler [ZS]
As of 2026-07-29. Spot $153.72. Framework v1.5.1.
valuation.md STATE C test |
ZS evidence |
|---|---|
| Pre-profit or thin-margin | GAAP operating margin −4.73% TTM to 2026-04-30 |
| Positive gross margin | 76.7% GAAP TTM, in a 76.1–78.5% band for twelve straight quarters |
| Identifiable contribution margin | Non-GAAP gross margin 80.7%, +40bp YoY |
| Visible expense scaling | R&D 26.5% of revenue; total opex 81.4%; both disclosed quarterly |
| Cohort / commitment data | Total RPO $6,459.3m, current RPO ~46%; NRR 115%; $1m+ ARR customers 748 (+18%) |
| Formally guided long-term model | FY26: revenue ~$3,331m, non-GAAP operating profit $755–757m, EPS $4.10–4.11, FCF margin 22.8–23.3%. FY27 early guide: ARR and revenue growth 16–17% |
Not State A — not profitable on GAAP, and the operating margin is not low-variance around a positive level. Not State B — revenue is subscription and contracted, not driven by an exogenous cycle. (The cost side has just acquired a cyclical exposure through memory/storage/processor pricing, which is noted and is a real development, but it does not make the revenue cyclical.) Not State D — revenue is $3.17bn, gross margin is stable and positive, FCF is $890m, and the reverse DCF returns solutions across the entire parameter range. Nothing is unidentified about the economics.
Consequence of State C, per valuation.md: the terminal margin must be BUILT through the opex bridge and
never assumed; the instrument is the two-dimensional expectations surface {(g,m) : V(g,m) = P₀}; and all
three of {required margin at underwritten growth, required growth at underwritten margin, the clearing region}
must be reported. All three are below.
evidence_grade: B. Statements are audited, RPO and contract liabilities are XBRL-tagged, my billings
reconstruction validates to 0.06% against the company's own last-published figure, and the FY27 growth rate is
management's own. The deduction is for (i) the retirement of billings and NRR as reported metrics, (ii) ARR — now
the primary metric — being unaudited and 4pp inorganically inflated, and (iii) EARNINGS_ESTIMATES returning
empty, so there is no consensus anchor for the 12-month build beyond company guidance.
Base case: m_EBIT,T = 15.0% GAAP, at FY2031.
m_gross,T 77.5% (TTM 76.7%; 12-quarter range 76.1–78.5%; +0.8pp for mix shift
into non-seat metered usage, net of appliance-hardware cost
inflation and the guided capex step-up)
− R&D 21.0% (TTM 26.5%; the line with the most obvious scale leverage —
platform R&D is largely fixed against a doubling revenue base)
− S&M 32.0% (TTM S&M+G&A = 54.9% combined; split 43.5 / 11.4 on the FY25
10-K ratio. S&M carries the least leverage: new-logo
acquisition is the stated priority and requires more coverage,
not less — see the CFO's plan to add capacity in the
2,000–10,000-user segment)
− G&A 9.5% (from 11.4%; the standard scale line)
− other 0.0%
─────────────────────────
= m_EBIT,T 15.0%
Hard constraint check: 15.0% ≤ 77.5% ✓. The full expense bridge reconciles by construction above — the
ceiling test is passed with 62.5pp of headroom, and the bridge, not the ceiling, is the real test per
valuation.md.
The whole question is SBC. ZS's non-GAAP operating margin is already 23.0% and hit an all-time high in FQ3 FY26. Getting from there to a GAAP number requires an SBC assumption:
| FY2031 assumption | SBC as % of revenue | Non-GAAP OM | Intangible amort. | ⇒ GAAP OM |
|---|---|---|---|---|
| Bear — SBC stays where it is | 24.7% (today's level, unchanged for two years) | 27.0% | 2.0% | 0.3% |
| Base | 15.0% | 30.0% | 2.0% | 15.0% |
| Bull | 10.0% | 32.0% | 2.0% | 20.0% |
The base case requires SBC to fall from 24.68% of revenue to 15.0% — a 9.7pp decline over five years, on a line that moved −0.20pp over the last twelve months. That is the load-bearing assumption in this memo and it should be read as such. It is not unreasonable: revenue roughly doubles over the period, so SBC dollars need only grow ~22% cumulatively. But it is not demonstrated, and ZS's own record over the last three years is of SBC holding perfectly flat as a share of revenue.
Is 15.0% above ZS's own trailing actual? Yes — by 19.7pp, from −4.73%. valuation.md requires that a
terminal margin below the trailing actual be justified; this is the opposite case, and the justification for
being above is: (i) the non-GAAP line already prints 23.0% and expanded, (ii) FCF margin is already 28.05%, so
the cash economics of a mid-teens margin exist today, (iii) the gap is entirely a non-cash compensation line
whose ratio must fall as the share base stabilises. PANW — the closest structural comparator, further along the
same path — runs 13.5% GAAP operating margin today. ZS at 15.0% in five years is therefore roughly "become
PANW," which is a defensible, evidenced anchor rather than an extrapolation.
terminal_margin_source: own opex bridge, base case, reconciled to the company's guided non-GAAP operating
margin via an explicit SBC assumption. Not a peer median, not an industry percentile, not clamped.
What the screen used instead: 10.7%, labelled "industry median of mature profitable peers (pre-profit
subject)." Per compute_criteria.py, coverage_scan._slim() stores d.get("sic") from a payload that has no
sic key, so sic2 is None for all 1,433 scanned names and the "sector median" silently degraded to a
universe median. The screen's terminal margin for ZS was therefore neither ZS's nor cybersecurity's. Error:
−4.3pp, and — critically — in the direction that makes the required CAGR look lower, i.e. it flattered the
name.
Terminal value is 100% of EV in this construction (the instrument discounts a single terminal EV), so the
reverse DCF is mandatory as the primary long-horizon output. assets/reverse_dcf.py, verified inputs.
spot $153.72 (Alpaca latest trade, 2026-07-29)
shares 168.0m (company's own FY26 fully-diluted guidance; basic BS count 160.741m)
net cash +$1,772.7m (VERIFIED — the screen had $887.3m; see ZS_Research.md §5)
EV $24,052m EV/Sales 7.58x
revenue $3,173.6m TTM to 2026-04-30
years 5 WACC 10% terminal margin 15.0%
EV_T/EBIT_T = (1−t)(1−g/ROIC)/(WACC−g), with t = 21%, WACC = 10%:
| g (terminal) | ROIC | Warranted EV/EBIT |
|---|---|---|
| 3.5% | 30% | 10.7x |
| 4.0% | 30% | 11.4x |
| 5.0% | 30% | 13.2x |
| 4.0% | 40% | 11.9x |
The identity says 11–13x for a business that has fully matured to 4–5% growth. But the exit multiple is applied at year 5 (FY2031), when ZS on the underwritten path is still growing low-double-digits and decaying toward 4%. A two-stage fade from ~12% to 4% supports roughly 18x.
Base exit multiple: 18.0x EV/EBIT. It is 1.4x the single-stage identity value, and the excess is exactly the fade period — stated, not smuggled. Implied compression from today's multiple: ZS trades at no meaningful EV/EBIT today (GAAP EBIT is negative), so the honest comparison is on sales: today 7.58x EV/Sales, and 18x EBIT on a 15.0% terminal margin is 2.70x EV/Sales at exit — a compression of 4.88 turns, or 64%. That compression is not aggressive pessimism; it is what a 2.9x revenue increase against a 25%-growth-to-12%-growth transition mechanically implies.
Growth-matched anchoring, per criteria.md. The comparator set used to sanity-check 18x is stated in
ZS_analysis.json and is drawn from names whose growth brackets ZS's ~12% growth at exit: PANW (18.8%
trailing / 31.1% latest, 13.5% GAAP OM), FTNT (15.5% trailing / 20.1% latest, 30.7% GAAP OM), OKTA (16.3%
trailing / 11.2% latest, 5.1% GAAP OM), CRWD (29.0% / 25.6%), NET (30.5% / 33.5%), TENB (13.5% / 9.6%). Growth
dispersion 9.6%–33.5% brackets 12% ✓; n = 6 ✓; matching operating model (subscription security software) ✓. The
set is valid. FTNT's traded EV/EBIT of 49.6x and PANW's 180.2x are both far above 18x, which confirms the
valuation.md point that the empirical multiple is not independent of the inputs and cannot be used as the
anchor — it embeds the growth being paid for.
| Exit multiple | 11x | 14x | 18x | 22x | 25x | 30x |
|---|---|---|---|---|---|---|
| Required 5y revenue CAGR | 49.2% | 42.2% | 35.2% | 29.9% | 26.6% | 22.1% |
Held fixed: terminal margin 15.0%, WACC 10%, 5 years, revenue base $3,173.6m, EV $24,052m. Solved for: revenue CAGR.
demonstrated − required, the number the strategy ranks on| Comparator for "demonstrated" | Value | Margin vs 35.2% required | Note |
|---|---|---|---|
| Trailing 3-year revenue CAGR (the screen's figure) | 34.8% | −0.4pp | Backward-looking; the scan's own notes field already flags it stale |
| Latest reported quarter, YoY | 25.4% | −9.8pp | |
| Q4 FY26 guidance | 22.0% | −13.2pp | Company |
| Management's FY27 early guide | 16.5% (16–17%) | −18.7pp | Company's own number, FQ3 FY26 call |
| Q4 FY26 organic net-new-ARR growth | 9.5% | −25.7pp | Company, in Q&A |
Why the forward guide is the right comparator and the trailing CAGR is not. The criterion asks whether the implied path "sits at or below what the business has already demonstrated." Against the trailing 34.8% the answer is a knife-edge −0.4pp. But the trailing CAGR is a statement about 2023–2026, and the company has told the market in prepared remarks that 2027 will be 16–17%. Using 34.8% here would be the exact inverse of the error the brief warns about: not rejecting the future for exceeding the past, but accepting a price because the past exceeded the future. The demonstrated-capability test has to be forward-relevant or it is a momentum indicator wearing a fundamental costume.
Could this PASS WITH ARGUMENT? That requires a specific, evidenced reason the price's requirement is achievable. The evidence points the other way: management guided growth down by half, named new-logo acquisition as the underperforming motion, disclosed two sales-leadership departures, and cut FCF-margin guidance ~5pp on capex. There is no evidenced case for 35% CAGR. The argument does not exist, so this is FAIL, not PASS WITH ARGUMENT.
| Underwritten CAGR | Required terminal GAAP operating margin | Underwritten (built) | Gap |
|---|---|---|---|
| 10% | 42.1% | 15.0% | −27.1pp |
| 13% | 36.8% | 15.0% | −21.8pp |
| 16.5% (mgmt guide) | ~31.8% | 15.0% | −16.8pp |
| 20% | 27.3% | 15.0% | −12.3pp |
| 25% | 22.2% | 15.0% | −7.2pp |
At management's guided growth the price requires a ~31.8% terminal GAAP operating margin — above FTNT's 30.7%, which is the highest in the comparator set, and 2.4x PANW's 13.5%. Reaching it would require SBC to fall from 24.7% of revenue to roughly zero. The terminal margin cannot rescue this, which is the second dimension of the State-C surface and it fails in the same direction.
{(g,m) : V(g,m) = P₀} — required, and shownCombinations that justify today's price at an 18x exit multiple. The fund hurdle region (15% IRR) requires values roughly 1.5x these products.
| m = 10% | m = 15% (built) | m = 20% | m = 25% | m = 30% | |
|---|---|---|---|---|---|
| g = 12% | fail | fail | fail | fail | ≈ clears |
| g = 16.5% (guide) | fail | fail | fail | fail | ≈ clears at 31.8% |
| g = 20% | fail | fail | fail | ≈ clears at 27.3% | clears |
| g = 25% | fail | fail | ≈ clears at 22.2% | clears | clears |
| g = 35.2% | fail | ≈ clears | clears | clears | clears |
The clearing region sits entirely outside the union of {what ZS has guided} × {what ZS's opex bridge supports}. Company history is at the bottom-left of this grid (g = 16.5% guided, m = −4.7% actual / 15.0% built). Management's target is the same cell. The valid-comparator overlay puts PANW at m = 13.5% and FTNT at m = 30.7%, both at g < 21% — and only the FTNT corner clears, on a business with structurally lower SBC.
Already given in §3b: required CAGR ranges 22.1% (30x) to 49.2% (11x). The verdict is FAIL at every exit multiple from 11x to 30x when measured against the 16.5% guide. The flip point — where required CAGR falls to 16.5% — is an exit multiple of ≈41x EV/EBIT, which on a 15.0% terminal margin is 6.2x EV/Sales at exit, i.e. ZS holding 82% of today's sales multiple after five more years of decelerating growth. That is the assumption the current price makes.
Daily EV/Sales series, 2019-01-02 → 2026-07-28, n = 1,902. TTM revenue as known at each date (lagged 32 days from period end, so the series is not forward-looking); shares and net cash held at current verified values so the series measures multiple movement.
| Year | n | min | p25 | median | max |
|---|---|---|---|---|---|
| 2019 | 252 | 18.83x | 23.22x | 35.05x | 49.02x |
| 2020 | 253 | 15.27x | 26.87x | 44.43x | 68.01x |
| 2021 | 252 | 46.89x | 55.95x | 63.35x | 87.28x |
| 2022 | 251 | 13.58x | 22.47x | 26.05x | 62.97x |
| 2023 | 250 | 9.78x | 14.16x | 15.29x | 20.19x |
| 2024 | 252 | 11.22x | 13.67x | 14.58x | 22.94x |
| 2025 | 250 | 11.30x | 13.42x | 16.48x | 20.01x |
| 2026 YTD | 142 | 6.00x | 6.95x | 7.47x | 13.08x |
Regime test, run as a distributional-overlap test rather than asserted:
| Window | min | max | median |
|---|---|---|---|
| 2023-H2 → 2025 (the prior stable regime) | 11.22x | 22.94x | 15.24x |
| 2026 YTD | 6.00x | 13.08x | 7.47x |
Only 12.7% of 2026 observations fall inside the 2023-H2–2025 range. The distributions are effectively disjoint.
Declarations, per valuation.md:
- The full-history percentile (3.8th) is UNIDENTIFIED and must not be used. It spans the 2019–2021 ZIRP
regime at 35–63x — a rate environment, not a business. Using it would produce a target of $600+.
- The 5-year percentile (5.7th) is UNIDENTIFIED for the same reason; it still contains 2021.
- The 3-year percentile (9.6th) is UNIDENTIFIED, and this is the non-obvious one: the 3-year window looks
clean (2023 15.3x, 2024 14.6x, 2025 16.5x) but is broken by 2026 itself. A name at the 9.6th percentile of a
window whose bottom decile is entirely one recent year is not cheap; it has re-rated, and the percentile is
reporting the re-rating.
- The identified anchor is the 2026 window alone, n = 142 trading days. Stated as thin, and it is the reason
evidence_grade is B rather than A.
On the corrected basis ZS trades at 7.58x EV/Sales, which is the 51st percentile of the window that currently applies. ZS is at the median of its own current regime. It is not cheap within the regime it is actually trading in; it looks cheap only against a regime that ended.
(Note: the percentile is computed with net cash at the corrected $1,772.7m. On the screen's erroneous $887.3m the current multiple reads 7.45x — a 1.7% difference that does not move the percentile.)
NTM revenue. FY26 actual-plus-guide: Q1 $788.1m + Q2 $815.8m + Q3 $850.5m + Q4 guide $876.5m (midpoint of $875–878m) = $3,330.9m. NTM as of 2026-07-29 is FY27 (Aug-2026 → Jul-2027): $3,330.9m × 1.165 = $3,880.5m, using management's own 16–17% guide midpoint.
(No consensus cross-check is available: AV EARNINGS_ESTIMATES returns an empty array for ZS. The base is
therefore company guidance alone, which is a real weakness in this build and is stated.)
Named product-cycle events inside 12 months, each dated in ZS_Catalyst_Calendar.md: FQ4 FY26 results and
formal FY27 guidance (early Sept 2026 — this is where 16–17% becomes a commitment or gets revised); the second
sales-leadership appointment; Z-Flex TCV trajectory after $480m in FQ3; the Red Canary integrated SecOps rollout;
and the appliance price increase flowing through gross margin.
Multiple. Anchored at 7.47x forward EV/Sales — the 50th percentile of the 2026 regime. This is the neutral assumption by construction: it holds ZS's current multiple onto guided revenue, so all of the return comes from revenue growth and none from re-rating.
| Case | Forward EV/S | 2026-regime pctile | FY27 revenue | Target | vs spot $153.72 |
|---|---|---|---|---|---|
| Bear | 6.03x | 3rd | $3,880.5m (guide) | $149.83 | −2.5% |
| Low | 6.95x | 25th | $3,880.5m | $171.32 | +11.4% |
| BASE | 7.47x | 50th | $3,880.5m | $181.94 | +18.4% |
| Hold current | 7.58x | 51st | $3,880.5m | $185.64 | +20.8% |
| Bull | 8.50x | 68th | $3,880.5m | $206.89 | +34.6% |
| 2026 high | 13.08x | 99th | $3,880.5m | $312.60 | +103.4% |
Sanity band vs external targets. Not available from AV (EARNINGS_ESTIMATES empty). No external professional
target is on file for ZS in this project, so no gap can be reported. I am not substituting a peer median in its
place.
Both PANW and CRWD sat at the 90th–100th percentile of their own multiple history, and both memos correctly reasoned that "flat multiple" is not a neutral assumption for a name at a near-record multiple — it is an active bet that a record holds. Declaring UNIDENTIFIED was right there.
ZS is the mirror case. It sits at the 51st percentile of the identified window, so the flat-multiple assumption
is neutral, and the regime break is handled by narrowing the window and stating n = 142 rather than by
abandoning the output. The general rule I am proposing from this: a regime break makes the long windows
unidentified; it does not make the output unidentified if a stationary sub-window exists and its size is
disclosed. Filed to CALIBRATION_WATCH.md.
The two outputs disagree, and that is the point of having two. The 12-month target is +18.4% and the
5-year implied-path test is FAIL at −18.7pp. There is no contradiction: over 12 months ZS grows revenue 16–17%
at a held multiple; over 5 years today's price requires 35% CAGR it will not deliver. valuation.md exists
because these are different questions, and reporting only one would be the defect.
| Check | Result |
|---|---|
m_EBIT,T ≤ m_gross,T |
15.0% ≤ 77.5% ✓ |
| Full opex bridge reconciles | 77.5 − 21.0 − 32.0 − 9.5 = 15.0 ✓ |
| Terminal margin ≥ trailing actual | 15.0% vs −4.73% ✓ (above, justified §2) |
| Terminal margin vs comparators | Between PANW 13.5% actual and FTNT 30.7% actual ✓ |
| Exit multiple derived, not asserted | Identity 11.4x single-stage → 18.0x with a stated fade ✓ |
| Exit multiple ≥ lowest stated anchor | 18.0x vs identity 10.7x floor ✓ (the NTRA double-haircut error is not repeated) |
| Monotonicity on VALUE not parameters | V_bull ($207) > V_base ($182) > V_bear ($150) ✓ |
| Splits checked before per-share figures | SPLITS → data: []. No split. The CRWD trap does not apply ✓ |
| Revenue basis | TTM, four consecutive quarters, not last-FY ✓ |
| Filing recency | FQ3 FY26 10-Q, period end 2026-04-30, 90 days old ✓ |
| Sensitivity run on the highest-variance parameter | Exit multiple, not scenario probabilities ✓ |