Phase Space AI

Valuation

Booking Holdings [BKNG]

Booking Holdings [BKNG] — Valuation

Spot $191.565 · 794m diluted shares · market cap $152,111m · net debt $2,446m · EV $154,557m · TTM revenue $27,687m · TTM operating income $9,034m (filed basis) · EV/Sales 5.58x · EV/EBIT 17.11x

EV is lease-exclusive — BKNG's operating lease liabilities are small relative to a $154bn EV and were not separately extracted. Stated per the DATA_DEFECTS requirement rather than left implicit.


COMPANY STATE: A — mature and structurally stable

Test applied. Profitable in every year of the window. No transformative acquisition, no business-model transition, no accounting-basis break. Operating margin low-variance once the COVID window is excluded: 27.3% (FY2023), 31.8% (FY2024), 32.79% (FY2025), 32.63% (TTM) — and 35.6% in FY2019, pre-pandemic. The FY2023 figure is still a recovery year; FY2024 onward is the steady state.

Consequence of State A: the terminal margin is built from the company's own normalised economics plus an explicit forward bridge, and industry data is a sanity band, never an override. That is material here because the screen classified BKNG as sector: TRANSPORT on SIC 4700 and carried a peer median operating margin of 8.0% and an industry p75 of 11.1% — airline economics, 24.8pp below BKNG's own actual. Under State A those figures are inadmissible as a cap and are not used.

Evidence grade: A−. Volume, price, FX and mix are all decomposed by the company itself. Held below a clean A by two things: the direct-booking mix is disclosed only as verbal buckets ("a mid-fifties percentage"), and the traffic-source concentration that determines the marketing tax is never quantified.


Terminal margin: 33.0%, built

First, a correction to my own working, not to the screen. My initial TTM operating margin, summed from Alpha Vantage quarterly operatingIncome, was 34.3%. The filed FY2025 figure is 32.79% ($8,825m on $26,917m) and the correct TTM is 32.63%. The $457m gap is the FY2025 Impairment line, which AV's operatingIncome silently excludes. The screen's 32.8% was right and my AV-derived number was 1.66pp too high. Recorded because it is the direction the framework is least likely to catch.

Opex bridge, FY2025 10-K lines, reconciled:

% of revenue FY2025 actual Terminal Basis for the change
m_gross,T 100.0% 100.0% BKNG reports no cost-of-revenue line; the constraint is trivially satisfied and the real test is the opex build below
Marketing 30.41% 31.5% company-disclosed: "we expect SEO traffic to decline ... which may lead to increased spend in paid marketing channels", and direct mix has stopped improving (mid-fifties % both years)
Sales and other 12.83% 15.0% merchant mix 62.9% → 72.0% and rising; merchant transaction costs added $381m in FY2025 alone. This line rises mechanically with the shift
Personnel 12.64% 11.5% operating leverage plus the Transformation Program, which is an explicit cost programme with $205m spent in FY2025
General & administrative 3.18% 3.0%
Information technology 3.37% 3.5% Gen-AI investment, company-flagged as ongoing
Depreciation & amortisation 2.31% 2.5%
Impairment 1.70% 0.0% non-recurring by construction
Transformation costs 0.76% 0.0% the programme completes
Total opex 67.21% 67.0%
m_EBIT,T 32.79% 33.0%

Hard constraint m_EBIT,T ≤ m_gross,T: 33.0% ≤ 100.0%. SATISFIED.

Terminal sits +0.37pp above the TTM 32.63% and +0.21pp above the FY2025 filed 32.79% — i.e. essentially flat to trailing, which is the correct answer for a State A business already at its own long-run level. It is 2.6pp below the FY2019 pre-pandemic 35.6%, and the causal bridge for that gap is the two structurally dilutive mix shifts the company names itself: alternative accommodations (38% of room nights, up from 37%, "we may experience lower profit margins") and Connected Trip non-accommodation services ("which have lower margins than our accommodation services").


steady_state_check.py — what it flagged, and why one flag is a base-year artifact

python3 steady_state_check.py --ticker BKNG --terminal-margin 0.343 --exit-multiple 22.9
margin ramp 2020→2025 −9.3% → 34.5%, +43.8pp; latest IS window peak: True
ROIC measured 58.4% · steady-state prior 25.0%
warranted multiple at measured ROIC 10.7x · at steady ROIC 9.9x
scaling contamination 1.08x
exit multiple used vs steady-state warranted 2.31x
FINDINGS MARGIN_STILL_RAMPING · ROIC_IS_SCALING_PHASE · EXIT_MULTIPLE_UNWARRANTED_AT_STEADY_STATE

Three flags, and I treat them differently. Two are real and one is an artifact.

MARGIN_STILL_RAMPING — ARTIFACT, and I say so with evidence. The tool's window opens at 2020-12-31, when BKNG's operating margin was −9.3% because global travel had been shut down. A "+43.8pp ramp" measured from a pandemic trough is not a ramp; it is a recovery. The correct base is FY2019 at ~35.6%, against which the latest 32.63% is 2.9pp BELOW, not at a peak. The flag's second clause — "latest IS the window peak" — is true and uninformative, because every post-COVID year is the window peak of a recovering series. This is the mirror image of the error the brief warns about: a bound calibrated on the past rejecting the future. Here a bound calibrated on a catastrophe would have forced a terminal margin below a level the company sustained for years. I therefore do not haircut the terminal margin for this flag, and I state the reason.

ROIC_IS_SCALING_PHASE — REAL and I act on it. A measured 58.4% ROIC is not a perpetuity assumption anyone should make; competition is the reason terminal values are bounded. It is also inflated by BKNG's negative equity: a company with a −$8,724m stockholders' deficit shows a small invested-capital denominator, so the measured ROIC partly reflects the buyback rather than the business. The tool's 25% steady-state prior is the right input and I use it.

EXIT_MULTIPLE_UNWARRANTED_AT_STEADY_STATE — REAL, and it is the decisive one. At a 25% steady-state ROIC the identity warrants 9.9x. BKNG trades at 17.1x and the screen used 22.9x. This is the flag that determines the verdict, and it is reported both ways below rather than resolved by picking the flattering multiple.


Implied-path test (5-year reverse DCF)

Fixed: terminal margin 33.0%, WACC 8.5%, 5 years, EBIT basis, net debt $2,446m, 794m shares. Solved for: revenue CAGR. FCF margin: 31.0% base (normalized_fcf.py steady state; trailing 33.8%, and BKNG has essentially no growth capex — $120m cumulative against $25,794m of revenue added, 215.65 dollars of revenue per dollar of growth capex, the highest capital efficiency of the three).

The expectations surface — required revenue CAGR (%)

exit EV/EBIT → 9.9x (warranted) 12x 14x 16x 19x 23x
FCF margin 25.0% 13.57 (at 10x) 10.16 7.31 4.86 1.75 −1.66
FCF margin 31.0% (BASE) 12.21 8.82 6.10 3.76 0.77 −2.51
FCF margin 33.8% (trailing) 11.34 (at 10x) 8.20 5.55 3.26 0.32 −2.91

Result — PASS on its own history, FAIL at the warranted multiple

Required CAGR (base: 16.0x, 33.0%, 31.0% FCF) 3.76%
Demonstrated CAGR — constant-currency gross bookings, the forward-relevant rate ~8.0%
MARGIN +4.24pp — PASS
Demonstrated CAGR — 3-year trailing revenue (contaminated, see below) 16.3%
Margin on that basis +12.5pp
Screen's margin +13.1pp
Required CAGR at the identity-warranted 9.9x 12.21%
MARGIN at 9.9x −4.2pp — FAIL

Why 8.0% and not 16.3%. The screen's 16.3% three-year CAGR runs from a 2022 base of $17,090m. BKNG's FY2019 revenue was $15,066m, so the entire three-year window is travel normalising rather than the business compounding. The forward-relevant rate is what the company is doing now: room nights +5.9% to +8.8%, constant-currency ADR +1%, constant-currency gross bookings ~+8%, reported revenue +12.5% in FY2025 with roughly 7pp of Q1'26 gross-bookings growth being FX. Using 16.3% would be the same error as RBA's 38.3%, in a milder form: a step-change in the base mistaken for a growth rate.

The verdict is therefore multiple-dependent, and that is the honest finding. BKNG passes at 14x and above (required 6.10% < 8.0%) and fails at 12x and below (required 8.82% > 8.0%). The break-even exit multiple is roughly 12.7x — between the identity's 9.9x and the 25th percentile of its own three-year history at 16.11x. A reader who believes the warranted-multiple identity should read this name as a FAIL; a reader who believes BKNG's own trading history should read it as a +4.2pp PASS. Both are stated, neither is buried, and the parameter that separates them is named.

Sensitivity is over the exit multiple, never over scenario probabilities. Across a 8.8pp band of FCF margin the required CAGR moves only 1.6pp at 16x — the FCF input is nearly irrelevant here, which is itself worth knowing: BKNG is the one name of the three where the interim-FCF correction DATA_DEFECTS makes so much of barely matters.


12-month target: $226 (+17.9%)

current 6-year (n=1,319–1,509 days) 3-year window
EV/Sales 5.73x 52nd percentile (min 3.57, p25 4.90, med 5.61, max 13.18) 55th percentile (p25 5.10, med 5.57, p75 6.52)
EV/EBIT 16.72x 36th percentile (min 11.80, p25 15.75, med 18.94, max 103.59) 31st percentile (p25 16.11, med 18.83, p75 20.85)

Regime-overlap check. The six-year window opens 2020-07-27 and contains the travel shutdown, where EV/EBIT reached 103.59x on collapsed earnings and the minimum was 11.80x. Roughly 58% of the six-year window overlaps the normalised-travel regime; the three-year window is 100%. Status: IDENTIFIED on the 3-year window.

Note the divergence between the two multiples: EV/Sales at the 55th percentile of the three-year window while EV/EBIT sits at the 31st. That gap is BKNG's margin expansion — the market is paying a mid-range price on sales for a materially higher-margin business than the one it was pricing three years ago.

Build. NTM revenue = 5/12 × $29,333m + 7/12 × $32,052m = $30,919m (consensus, time-weighted). At the terminal 33.0% margin, NTM EBIT ≈ $10,203m. Applied at 17.5x — approximately the 40th percentile of the three-year window, between today's 31st and the median's 50th, with the split argued rather than assumed (see the revision counterweight below):

EV $178,553m − $2,446m net debt = $176,107m equity ÷ ~780m shares (allowing for the continuing buyback at −4%/yr) = $225.8, +17.9% to spot.

anchor multiple percentile of 3-yr window target to spot
p25 16.11x 25th $208 +8.4%
base 17.50x ~40th $226 +17.9%
median 18.83x 50th $243 +27.0%

The base sits below the median, and the reason is the revision breadth, not conservatism-by-default. EARNINGS_ESTIMATES shows 2 upward against 25 downward FY2026 EPS revisions over the trailing 30 days, and 8 up against 18 down for FY2027 — the worst breadth of the three names in this run by a wide margin. Anchoring at the median while estimates are being cut 12-to-1 would be ignoring the input the 12-month horizon is most sensitive to. Stated in the same paragraph as the target, per the rule that a counterweight buried elsewhere is not a counterweight.

Named events inside 12 months: Q2'26 results (late July / early August 2026 — INFERRED), which carries the first room-night print after the 5.9% deceleration and the first read on whether the Middle East drag reverses; and Q3'26 (late October — INFERRED), BKNG's seasonal peak quarter and the one that sets the FY2026 outcome.


Comparator set — growth-matched, BKNG-specific

Not shared with MELI or RBA. BKNG is a $27.7bn-revenue OTA at a 32.6% operating margin growing room nights 6–9%; MELI is a 39%-growth LatAm marketplace-plus-lender; RBA is a $4.7bn auction house growing service revenue 5%. One multiple across the three would be the exact defect valuation.md documents.

Comparator Why Growth bracket at exit
Expedia (EXPE) the direct OTA competitor; same merchant/agency mix question, same marketing tax 4–8%
Airbnb (ABNB) alternative accommodations — the 38%-and-rising half of BKNG's own room nights 8–12%
Trip.com (TCOM) Asia-Pacific OTA; brackets the higher-growth end and the region BKNG cites for demand 12–18%
TripAdvisor (TRIP) travel meta-search; brackets KAYAK and the advertising-and-other line 0–5%
Amadeus / Sabre travel distribution infrastructure; brackets the low-growth, high-margin terminal state 2–6%

Bracketing test: BKNG's FY2031 exit-year growth under the base 3.76% required path sits inside the TRIP / Amadeus bracket, and its 8% demonstrated rate sits inside the ABNB / EXPE bracket. The set brackets the subject at exit in both directions. ADMISSIBLE.

Contrast with the screen, which used exit_multiple_peer_n: 296 on SIC 4700 — a transport code. 296 "peers" whose median operating margin is 8.0% is a transport-sector average, not a growth-matched comparator set for a 32.6%-margin marketplace.


Downside case with a named cause

Named cause: the SEO decline the company itself forecasts. The 10-Q states "we expect SEO traffic to decline in the short to medium term, which may lead to increased spend in paid marketing channels", while direct mix has stopped improving (mid-fifties percent in both TTM periods) and performance marketing ROIs are already described as lower.

Quantified: if marketing rises from 4.40% to 5.20% of gross bookings — 80bp, roughly the swing BKNG absorbed in the 2018–19 competitive cycle — that is ~$1,600m of operating income on FY2026 gross bookings near $200bn, or ~5.5pp of operating margin. Margin 32.6% → 27.1%; NTM EBIT falls to $8,379m. Applied at the three-year p25 EV/EBIT of 16.11x: EV $134,986m − $2,446m = $132,540m ÷ 780m = $170, −11.3% to spot.

Type: MEASURED. Logged and scored; it does not reject the name.