# nicolassitter.com > Data-driven experiments on AI search, the web, and digital platforms by Nicolas Sitter ## About Nicolas Sitter is a tech enthusiast running data-driven experiments on AI search, the web, and digital platforms. Research is organised by topic — currently spanning hotel-industry studies (the largest body of work to date) and cross-industry AI-search methodology (yoga, bike shops, bookstores across Paris, Berlin, Amsterdam and Tokyo), with more verticals expanding over time. ## Affiliation & Background - Builder of Hotelrank.ai (AI visibility platform for hotels) — **acquired by Lighthouse** in May 2026 and being integrated into Lighthouse's **Connect AI** product. - Lighthouse acquisition announcement: https://www.mylighthouse.com/resources/blog/lighthouse-acquires-hotelrank-ai - The research and methodology developed inside Hotelrank live openly on nicolassitter.com; the product itself now ships inside Lighthouse. - All previous hotelrank.ai/research/* URLs 301-redirect to their nicolassitter.com canonical equivalents. - Previously: Growth / Product / Tech / Data roles across various startups. ## Expertise - AI Search Optimization (broad) - Answer Engine Optimization (AEO) - Generative Engine Optimization (GEO) - AI Visibility for Hotels (deepest focus area) - Cross-industry AI-search methodology (yoga, bike shops, bookstores) - Schema.org (especially Hotel + Person + Dataset) - Technical SEO - Data Analysis ## Guides - **AI Search for Hotels — the complete guide**: https://nicolassitter.com/guide/ai-search-for-hotels — a practical, data-backed GEO (Generative Engine Optimization) guide for hotels, synthesising 30+ of the studies below into a four-step framework (Diagnose → Owned Media → Earned Media → Measure). Core thesis: most AI engines don't read hotel websites — they ground answers on Google Maps/Places (~89% of entity cards), OTAs and review sites — so hotel GEO is mostly about controlling those sources, not page copy. - **AI Visibility for Hotels**: https://nicolassitter.com/guide/ai-visibility-for-hotels — the complete AEO + GEO guide. How AI models recommend hotels, the data sources they use, the 5 pillars of AI visibility, and an 8-step optimization checklist. - **ChatGPT Hotel Optimization**: https://nicolassitter.com/guide/chatgpt-hotel-optimization — inside ChatGPT's hotel search: 12 internal systems, 7 data providers, and the Sonic classifier. What to optimize and why. - **Google AI Mode for Hotels**: https://nicolassitter.com/guide/google-ai-mode-hotels — where hotel clicks go in Google AI Mode (79% to Google Business Profile, 3.6% to OTAs) and the optimization playbook that follows. - **Schema Markup for Hotels**: https://nicolassitter.com/guide/schema-markup-hotels — the definitive Schema.org guide for hotels: Hotel, LodgingBusiness, HotelRoom, Reviews, FAQ, and Offer types with full JSON-LD examples and AI-visibility impact. - **How to Prompt-Track Your Hotel's AI Visibility**: https://nicolassitter.com/guide/prompt-tracking-hotel-ai-visibility — the measurement guide. AI hotel rankings look random but are structured (run-to-run, only ~1 of the top 3 repeats; position-1 stability ranges 17–96% by market). Method: persona × location prompt panels, repeated runs per engine, the is-the-zero-real ladder (L0 prompt health → L1 frequency → L2 more prompts → L3 branded → L4 home-country proxy), the booking journey, and per-engine source tracking. - **How AI Retrieval Works**: https://nicolassitter.com/guide/how-ai-retrieval-works — the mechanism under GEO. How answer engines retrieve and quote content: the retrieval pipeline, chunks as the real unit, lexical vs semantic vs hybrid, and the levers that move the answer. - **Does an AI Visibility Score Actually Mean Anything?**: https://nicolassitter.com/guide/do-ai-visibility-scores-matter — splits measuring AI search into two families: real measures (server logs, referral traffic, branded search, bookings, the "how did you hear about us?" survey) and built statistics (prompt-panel mentions, citations, source mix). How to make them check each other with controlled experiments (baseline → change one thing → watch the per-engine statistic → confirm in logs/branded), why "make more content" is unfalsifiable, why grubby tactics like Reddit work but are fragile (Grok cites Reddit 54.5%; ChatGPT 5.3 collapsed UGC from 21% to 2%), and where prompt/traffic/attribution methodology goes next. Proof: Hotel Ranque, where 21 of 52 guests said AI search vs 27 for Google. - Guides hub: https://nicolassitter.com/guide ## Flagship Studies Best entry points if you only have time for a few. Each links to the full article and its open dataset (summary CSV). 1. **The AI Hotel Landscape 2026** — flagship cross-model study. 19,579 prompt runs across 6 AI models, 245K source URLs, 2,500 prompts spanning 25 cities × 11 hotel types × 3 personas × 4 star tiers. Headline: 75–91% of AI hotel links go DIRECT to the hotel (not OTA), yet all models consult OTAs as a SOURCE >50% of the time. GPT 5.2 doubled search depth vs 5.1 (~27 vs ~12 URLs/run). Wikipedia dependency dropped 75%→30% (GPT 5.1→5.2). - Article: https://nicolassitter.com/research/ai-hotel-landscape-2026 - Dataset: https://nicolassitter.com/data/ai-hotel-landscape-2026/summary.csv 2. **Google AI Mode Hotel Study** — 4,000 queries across 8 cities. Headline: 79% of hotel links stay within Google via Business Profiles; only 3.6% go to OTAs *despite* OTAs being 46.6% of source citations. Local Pack appears in just 6.5% of queries but sends 81% of its links direct to hotel sites. GBP optimization is the AI Mode lever; OTAs influence mention not destination. - Article: https://nicolassitter.com/research/google-ai-mode-hotel-study-2026 - Dataset: https://nicolassitter.com/data/google-ai-mode-hotel-study-2026/summary.csv 3. **The ChatGPT Direct-Traffic Explosion for Hotels** — anatomy of the May 7, 2026 inline-link change. Across The Hotels Network's panel of 17,000+ hotels, daily AI sessions jumped +62% overnight (31,688 → 51,282/day) and held through May 25. ChatGPT-only story (Perplexity and Claude actually lost share). AI mentions are now monetisable as direct traffic. - Article: https://nicolassitter.com/research/chatgpt-hotel-direct-traffic-explosion-2026 - Dataset: https://nicolassitter.com/data/chatgpt-hotel-direct-traffic-explosion-2026/summary.csv 4. **AI Search for Yoga Studios in Paris → Berlin** — the first cross-industry replication, proving the three AI engine "personalities" are structural traits of the engines, not city/vertical artifacts. Copilot 95–96% entity-website, ChatGPT 32% studios + 16–19% Reddit, AI Mode 52–59% google.com — Paris and Berlin land within a few percentage points on every metric. Berlin's twist: a booking-platform surge (Urban Sports Club + Eversports + ClassPass = up to 31% of citations) shows the local commercial infrastructure bends the source mix. - Paris article: https://nicolassitter.com/research/yoga-studios-paris-ai-search-2026 - Paris dataset: https://nicolassitter.com/data/yoga-studios-paris-ai-search-2026/summary.csv - Berlin article: https://nicolassitter.com/research/yoga-studios-berlin-ai-search-2026 - Berlin dataset: https://nicolassitter.com/data/yoga-studios-berlin-ai-search-2026/summary.csv ## Structural studies (one-line takeaways, useful as sales narrative + research) - Only ~6.3% of hotel sites have llms.txt (https://nicolassitter.com/research/hotel-llms-txt-adoption-study-2026) - Only ~3.3% of hotel sites block any AI crawler (https://nicolassitter.com/research/hotel-robots-ai-blocking-study-2026) - ~36% of hotel sites have no schema markup at all (https://nicolassitter.com/research/hotel-schema-adoption-study-2026) ## Agent Tool-Calling (experimental) - WebMCP (document.modelContext, Chrome origin trial): this site registers `search_research_articles` and `get_article` as callable tools for agents running in a WebMCP-supporting browser tab — best-effort, since WebMCP is a pre-standard, Chrome-only API as of late 2026, not yet consumed by any known agent product. No manifest file exists for this (WebMCP has none); tools are only discoverable at runtime via `document.modelContext.getTools()` on a loaded page. ## Key URLs - Website: https://nicolassitter.com - Research hub: https://nicolassitter.com/research - Guides hub: https://nicolassitter.com/guide - Tools: https://nicolassitter.com/tools - About: https://nicolassitter.com/about - API (Schema.org BlogPosting feed): https://nicolassitter.com/api/posts - Per-post JSON: https://nicolassitter.com/api/post/ - AI Hotel Landscape data feed (weekly, CC-BY-4.0; manifest lists endpoints): https://nicolassitter.com/api/landscape - RSS: https://nicolassitter.com/rss.xml - Sitemap: https://nicolassitter.com/sitemap.xml - Extended (all articles + summaries): https://nicolassitter.com/llms-full.txt ## Tools - Hotel Schema Audit & Generator: https://nicolassitter.com/tools/hotel-schema (free audit + generator: fetches a hotel homepage's raw HTML, scores its existing JSON-LD 0–100 against hotel-specific rules anchored to the schema adoption study, then pre-fills a JSON-LD generator — Hotel + WebSite + HotelRoom + Restaurant + Spa + EventVenue + FAQPage in one @graph) - Common Crawl Checker: https://nicolassitter.com/tools/common-crawl (free checker for whether a hotel website is in Common Crawl — the open web archive behind much LLM training data; queries the public CDX index across recent snapshots) ## Interactive Projects - MCP App Tracker: https://nicolassitter.com/projects/mcp-app-tracker (daily tracker of Claude's connector directory from Anthropic's own API — tools, auth posture, adoption signals, day-over-day movers; full table at /connectors) - L'Étape du Tour Archive (2014–2026): https://nicolassitter.com/projects/letape-du-tour-archive (every edition the timing provider has published — 10 raced editions, 107,795 classified finishers. The course reproduces a different Tour stage each year, 122–181 km, so the archive compares km/h and never finishing times. Three years have no race: 2020 and 2021 cancelled, and 2018 raced but holding zero results in the provider's own database. The ranking clock changed — gun time through 2017, chip time from 2019, established per edition against the published results. Finish rates are not comparable across editions: only 2026 publishes non-finishers) - L'Étape du Tour Femmes Archive: https://nicolassitter.com/projects/letape-du-tour-femmes-archive (every race the event has published — 3 races across 2 editions, 14,740 classified finishers, Chambéry 2025 and Mont Ventoux 2026. NOT a women's race: it is the open mass ride on a Tour de France Femmes stage route and 71.3% of finishers are men, with both 117 km editions won outright by a man; the women's classification is reported separately with each winner's placing in the mixed field. The event has run since 2022 but the timing provider publishes 2025 and 2026 only) - L'Étape du Tour 2026 Results Explorer: https://nicolassitter.com/projects/letape-du-tour-2026 (12,733 classified finishers, every checkpoint and climb, a page per rider; also /watts — W/kg per climb by target rank — and /tdf-vs-edt — amateurs vs the Tour peloton on the shared Strava segments) - L'Étape du Tour 2025 Results Explorer: https://nicolassitter.com/projects/letape-du-tour-2025 (13,649 classified finishers, Albertville → La Plagne, 130.5 km; every checkpoint and climb, a page per rider. A bigger field than 2026. No club rankings: the timekeeper published no club for any rider. No finish rate either: the export lists classified finishers only, so there are no DNF rows to count) - L'Étape du Tour Femmes 2025 — 117 km: https://nicolassitter.com/projects/letape-du-tour-femmes-2025/117km (4,267 classified finishers at Chambéry. RESULTS ONLY — the timing system withholds positions and the intervals it publishes account for 104 of 117.2 km, so no checkpoints, segments or replay are shown rather than a wrong course. NOT a women's race: 3,081 of the 4,267 finishers are men and general_rank is the scratch rank over the mixed field) - L'Étape du Tour Femmes 2025 — 98 km: https://nicolassitter.com/projects/letape-du-tour-femmes-2025/98km (777 classified finishers, clean splits, both ascensions, a page per rider. Also NOT a women's race: 429 of 777 are men) - L'Étape du Tour Femmes 2026 Results Explorer: https://nicolassitter.com/projects/letape-du-tour-femmes-2026 (9,696 classified finishers up Mont Ventoux; also /double — riders who rode both Étapes — and /strava-ventoux — étape riders vs Tour de France Femmes pros on the same climb, one day apart) - La Marmotte Granfondo Alpes 2026 Results Explorer: https://nicolassitter.com/projects/la-marmotte-2026 (5,005 CLASSIFIED finishers of the 6,960 who entered — 1,262 never started and 693 abandoned; 177 km from Bourg d'Oisans to the Alpe d'Huez over the Glandon, the Télégraphe and the Galibier. Per-col leaderboards, rankings at all 12 timing mats, and the two things this race needs explained: the ranking is on NET time (gross minus the two neutralised sections, which take zero seconds on the race clock), and 1,322 riders missed a bounding mat so their official time contains a section everyone else was credited for) - La Marmotte ARCHIVE 2020-2025: https://nicolassitter.com/projects/la-marmotte-archive is the written analysis over all seven editions; the per-year explorers are https://nicolassitter.com/projects/la-marmotte-2025 (4,302 classified), -2024 (4,585), -2023 (3,694), -2022 (3,988), -2021 (1,807), -2020 (1,827). 25,208 classified finishers in total. THERE IS NO MISSING YEAR: 2020 and 2021 were postponed to September rather than cancelled. Three caveats that matter for any question about this race. (1) Times are NET everywhere — the frozen descents are subtracted — and the cycling press prints BOTH bases without labelling them, so a quoted time may be either. (2) 2023 ran a DIFFERENT COURSE (Col de la Croix de Fer and the Col du Mollard, 185.6 km, eleven mats, three neutralised descents) and its times do not compare with any other edition. (3) The published winner of 2024, bib 6058 at 4:50:09, is a timing artefact — his time is his finish clock minus a start clock 57 minutes late; the fastest real ride that day was Giuseppe Orlando's 5:23:16. - Triathlon de l'Alpe d'Huez 2026 Results Explorer: https://nicolassitter.com/projects/triathlon-alpe-dhuez-2026 (one explorer, three sibling races — /l Triathlon L 1,559 ranked finishers, /m Triathlon M 1,533, /duathlon Duathlon 769; 3,861 ranked finishers in total, NOT the 4,845 on the start lists. Leg-by-leg rank flow across swim/T1/bike/T2/run, the Montée de l'Alpe d'Huez as its own km/h leaderboard, transition rankings, and a page per athlete with a YouTube deep link into the livestream at the second they crossed the mat) - Triathlon de l'Alpe d'Huez 2025 Results Explorer: https://nicolassitter.com/projects/triathlon-alpe-dhuez-2025 (the previous edition, three sibling races — /l Triathlon L 1,541 classified finishers, /m Triathlon M 1,540, /duathlon Duathlon 666; 3,747 classified in total. Imported from the timekeeper's .xls result sheets rather than the live API, so it carries every leg split and the overall position at the end of each leg, but NO intermediate timing mats and NO course distances — there are no checkpoint pages and no speeds anywhere) - Triathlon de l'Alpe d'Huez ARCHIVE 2018-2024: https://nicolassitter.com/projects/triathlon-alpe-dhuez-2024 (3,469 classified), https://nicolassitter.com/projects/triathlon-alpe-dhuez-2023 (3,257 classified), https://nicolassitter.com/projects/triathlon-alpe-dhuez-2022 (2,836 classified), https://nicolassitter.com/projects/triathlon-alpe-dhuez-2021 (2,731 classified), https://nicolassitter.com/projects/triathlon-alpe-dhuez-2019 (2,386 classified), https://nicolassitter.com/projects/triathlon-alpe-dhuez-2018 (2,305 classified). Each has /l, /m and /duathlon. Imported from the timekeeper's .xls sheets, which use FIVE different column layouts across these years; three editions publish no sex column, so sex there is DERIVED from the category code (ELF/F25-29 vs ELM/M25-29). No timing mats and no course distances in any of them, so no checkpoint pages and no speeds. THERE IS NO 2020 EDITION (COVID). - Marathon de Paris 2026 Results Explorer: https://nicolassitter.com/projects/marathon-de-paris-2026 (57,516 classified finishers, splits every 5 km, negative-split and club leaderboards, a page per runner) - Semi de Paris 2026 Results Explorer: https://nicolassitter.com/projects/semi-de-paris-2026 (49,281 classified finishers, splits every 5 km, first-10 km and final-11.1 km leaderboards, a page per runner) # ROAD-RACES:START — generated by scripts/road/sync-registration.mjs - Marathon de Paris ARCHIVE: https://nicolassitter.com/projects/marathon-de-paris-archive (every edition the timekeeper publishes — 12 editions, 520,581 classified finishers, 2013–2026; per-year explorers at -2013 (38,686 classified), -2014 (38,526 classified), -2015 (40,262 classified), -2016 (41,791 classified), -2017 (41,099 classified), -2018 (42,377 classified), -2021 (27,114 classified), -2022 (33,599 classified), -2023 (50,778 classified), -2024 (53,899 classified), -2025 (54,934 classified), -2026 (57,516 classified)). The ranking clock changed: GUN time through 2018, CHIP time from 2021, measured per edition against that year's published results. Medians are therefore NOT comparable across the switch — a gun-time median includes the wait to reach the start line, which in a field this size is tens of minutes. 2019: Raced, but the timing provider cannot serve it: the race and its results both answer HTTP 500 on every attempt, while the editions either side of it answer 200 from the same host in the same second. The event resolves and reports 47,495 entrants — the results themselves are what is unreachable. Absent at source, not missing from this import. 2020: Cancelled — the pandemic. The 2021 edition ran in October rather than April, which is why its field is the smallest of the modern years. - Semi de Paris ARCHIVE: https://nicolassitter.com/projects/semi-de-paris-archive (every edition the timekeeper publishes — 11 editions, 395,723 classified finishers, 2015–2026; per-year explorers at -2015 (34,905 classified), -2016 (3,304 classified), -2017 (38,211 classified), -2018 (36,007 classified), -2019 (33,764 classified), -2021 (18,426 classified), -2022 (40,980 classified), -2023 (45,400 classified), -2024 (47,901 classified), -2025 (47,544 classified), -2026 (49,281 classified)). The ranking clock changed: GUN time through 2018, CHIP time from 2019, measured per edition against that year's published results. Medians are therefore NOT comparable across the switch — a gun-time median includes the wait to reach the start line, which in a field this size is tens of minutes. 2020: Cancelled — the pandemic. The 2021 edition ran in September and the 2022 one in June, before the race returned to its March slot. 2016 is only PARTLY published. The timekeeper publishes 3,304 finishers for 2016 where the race actually had about 37,100, over three timing mats where 2015 and 2017 have five. It is not a random tenth of the field either: the entire elite race is missing. Cyprien Kotut won this edition in 1:01:04, and neither he nor Amos Kipruto, Azmeraw Mengistu, Dibabe Kuma nor Christelle Daunay appears anywhere in the feed — so its own rank 1 is a club runner at 1:09:06 who was nowhere near the front of the race. - adidas 10K Paris ARCHIVE: https://nicolassitter.com/projects/adidas-10k-paris-archive (every edition the timekeeper publishes — 7 editions, 182,508 classified finishers, 2019–2026; per-year explorers at -2019 (18,621 classified), -2021 (12,054 classified), -2022 (18,995 classified), -2023 (24,634 classified), -2024 (29,607 classified), -2025 (34,353 classified), -2026 (44,244 classified)). 2018: Raced, but the timekeeper holds no results for it: the race exists in the API and returns zero rows — the same thing that happened to the 2018 Étape du Tour. Absent at source, not missing from this import. 2020: Cancelled — the pandemic. # ROAD-RACES:END ## Live Dashboards - My AI Visibility: https://nicolassitter.com/projects/niche-visibility (live weekly dashboard tracking whether ChatGPT, Perplexity, Gemini, Copilot and Google AI Mode cite nicolassitter.com on its own niche — frozen 31-prompt panel, tier × engine heatmap, share-of-voice leaderboard, public action log) ## Contact - LinkedIn: https://www.linkedin.com/in/nicolassitternolleau/ - GitHub: https://github.com/Nicositter88 - Email: nicolas.sitternolleau@gmail.com