Booking Holdings [BKNG]
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.
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.
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 artifactpython3 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.
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).
| 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 |
| 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.
| 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.
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.
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.