Adobe [ADBE]
As of 2026-07-29. Provenance, construction, adjustments, and the weaknesses in my own numbers. Reproduction
scripts are committed under work/.
| Item | Source | Retrieval |
|---|---|---|
| Prices | Alpaca v2/stocks/snapshots, v2/stocks/{sym}/bars |
work/fetch_prices.py, work/gap_check.py |
| Fundamentals | SEC XBRL companyfacts CIK 0000796343 |
work/edgar_pull.py, work/extract.py |
| Balance sheet, income statement | 10-Q Q2 FY26 adbe-20260529.htm, read directly |
work/fetch_docs.py, work/q.py |
| Disclosure language | FY23/FY24/FY25 10-Ks + Q2 FY26 10-Q, full text | work/censor.py, work/mentions.py |
| Earnings detail, ARR, cRPO, guidance | 8-K Ex-99.1 adbeex991q226.htm, adbeex991q425.htm |
work/fetch_pr.py |
| Multiple history | own P/S by fiscal quarter | work/multiple_hist3.py |
| Implied path | assets/reverse_dcf.py |
work/run_paths.py, work/run_exit.py |
| Peer anchor | XBRL + balance sheets, 11 comparators | work/anchor.py |
| Option chain | Alpaca options contracts + snapshots | work/liquidity.py |
Recency asserted. Period 2026-05-29, filed 2026-06-15 — 44 days old at the memo date, the freshest of the five. The GOOGL (485-day-stale companyfacts) and Alcon (filing history ending 2010) failures do not apply.
Adobe's fiscal Q4 is not separately tagged in XBRL; only the full year is. Q4 is derived as the annual value less the three filed quarters, with contiguity enforced (consecutive period ends 80–100 days apart) before any TTM is summed.
| Quarter ended | Revenue ($m) | Derivation |
|---|---|---|
| 2025-02-28 | 5,714 | filed 10-Q |
| 2025-05-30 | 5,873 | filed 10-Q |
| 2025-08-29 | 5,988 | filed 10-Q |
| 2025-11-28 | 6,194 | derived: FY25 23,769 − (5,714 + 5,873 + 5,988) |
| 2026-02-27 | 6,398 | filed 10-Q |
| 2026-05-29 | 6,618 | filed 10-Q |
TTM revenue = 5,988 + 6,194 + 6,398 + 6,618 = $25,198m. Matches the screen exactly. Last-FY revenue ($23,769m) would have understated the base by 5.7%.
Revenue tag note: Adobe reports under Revenues, not RevenueFromContractWithCustomerExcludingAssessedTax.
A pipeline keyed only on the latter finds nothing for Adobe. My extractor falls through a tag priority list;
this is recorded because it is the same class of error as §4 below.
| Basis | Count | Use |
|---|---|---|
| dei cover page, 2026-06-11 | 397.5m | Market cap. What the screen used — correct. |
| Balance sheet, 2026-05-29 | 399m | 601m issued − 202m treasury. Cross-check ✓ |
| Diluted weighted average, Q2 FY26 | 402.5m | EPS cross-check only |
| Company guidance, FY26 diluted | ~399m | Company's own forward figure |
| 12 months forward (my estimate) | ~385m | 397.5m less ~12.5m net |
Cross-check, mandatory per the brief: net income ÷ diluted shares = 1,712 ÷ 402.5 = $4.253 against filed diluted EPS of $4.25. ✓ Scale confirmed. No dual-class complication — Adobe has a single class of common stock (900m authorised, 601m issued), so the dei tag survives SEC aggregation, unlike WDAY's.
Buyback evidence for the forward count, so it is not an assumption: treasury stock $48,847m → $53,418m in six months ($4,571m in Q2 alone), treasury shares 188m → 202m, FY25 retired 30.8m. My ~12.5m annual net reduction is conservative against a run-rate above 30m.
The screen reported +$4,447m of net cash. Adobe has −$1,019m of net debt. Itemised from the balance sheet:
| Component | 2026-05-29 ($m) | Screen | Mine |
|---|---|---|---|
| Cash and cash equivalents | 4,919 | ✓ | ✓ |
| Short-term investments | 707 | ✓ | ✓ |
| Debt, current | (1,843) | used (850) from 2026-02-27 | ✓ |
| Debt, long-term | (4,802) | OMITTED | ✓ |
| Operating lease liabilities, current | (91) | omitted | disclosed, excluded |
| Operating lease liabilities, noncurrent | (329) | ✓ as debt | disclosed, excluded |
| Net cash ex-lease | (1,019) | +4,447 | HEADLINE |
| Net cash incl. leases | (1,439) | — | Alternative |
Root cause. Adobe tags its long-term debt as LongTermDebt (4,802 @ 2026-05-29). Adobe's
LongTermDebtNoncurrent tag was last filed on 2015-08-28 at $1,900m. A pipeline keyed on
LongTermDebtNoncurrent therefore either finds nothing (and omits $4.8bn) or, worse, finds a well-formed
eleven-year-old number.
This is calibration item D1 in a form the D1 sweep did not cover. D1 is "existence is not validity" for
missing tags returning nan. This is the same disease for stale tags returning a plausible value: nothing
errors, nothing is nan, and the output is a confident wrong number. Every balance-sheet tag must be
date-filtered against the period end, not merely tested for existence. The same pattern is live in CRM
(MarketableSecuritiesCurrent last filed 2014) and PANW (OperatingLeaseLiabilityCurrent last filed 2025-07-31).
Tags checked per the brief: LongTermDebt ✓ 4,802 @ 2026-05-29 · LongTermDebtCurrent ✓ but the live figure
is the balance sheet's "Debt, current" of 1,843, and the XBRL tag's latest value is 850 @ 2026-02-27 — so the
balance sheet is authoritative over the tag here · LongTermDebtNoncurrent ✗ stale to 2015 ·
ConvertibleDebtNoncurrent absent · MarketableSecurities* absent; Adobe uses ShortTermInvestments.
Consequence: EV $105,738m rather than $94,614m — 11.8% higher, EV/S 4.20x rather than 3.75x. The error flattered the cheapest name in the cluster. Correcting it still leaves ADBE the cheapest, which is why the conclusion survives the correction; but the conclusion was not derived from the screen's number.
| # | Adjustment | Effect | Why |
|---|---|---|---|
| 1 | Add back the $68m goodwill impairment to Q2 operating income | margin 33.8% → 34.8% | Non-cash, legacy Publishing & Advertising unit, disclosed as $0.17/share. The run-rate is what matters. Note this adjustment makes the margin better and the trend still compresses. |
| 2 | Strip ~$40m Semrush from Q2 revenue growth | 12.7% → 12.0% | Company-disclosed. |
| 3 | Use constant currency as the demonstrated rate | 12.0% → ~10.3% | The company reports 13% and 11% CC in the same bullet. FX is not a business capability and it reverses. This is the figure used in the implied-path test, and using the reported 12.0% instead would move the margin from +9.3pp to +11.0pp — i.e. my choice is the conservative one. |
| 4 | Decompose guided FY26 ending-ARR growth of 10.2% for the ~1.8pp Semrush contribution | organic ARR ~8.4% | Arithmetic on two disclosed figures ($480m Semrush ARR within $27.10bn). This is the most important derived number in the memo and it is not disclosed as such by the company. |
| 5 | Step shares to ~385m for forward work | +3.2% to forward per-share values | Evidenced by an observed >30m/yr retirement rate; deliberately conservative. |
| 6 | Exclude operating leases from headline net cash | EV −$420m vs incl-lease | Consistency with the peer anchor set, computed on the same basis. |
No SBC adjustment. SBC is real, it is 8.2% of revenue, and the 36.1% GAAP operating margin carries it. The non-GAAP ~45% margin is reported for reference and is never used as a terminal margin. Using it would move the required CAGR from 1.0% to deeply negative and would be exactly the error the framework exists to prevent.
Stated so a reviewer can attack them.