Longer notes on travel data, and on what we are building.
Eighteen times I have checked into the same hotel
10 August 2026 · by Jorg
Not one long posting. Eighteen separate arrivals, spread over a
decade, three and four nights at a time. The Nagoya Marriott Associa, sitting
directly on top of JR Nagoya Station. 135 nights in total.
I have a preferred side of the lift lobby. I know which of the two lounges is
worth it on which day, and I know the answer changes at the weekend.
Nobody decides to spend four and a half months of their life in one building.
It accumulated, the way most of a working life accumulates, and I only saw the
shape of it when I put every stay I have ever logged into one place and
looked.
Business travel feels scattered. It is not.
Since 2014 I have stayed in 112 different hotels. I visited 80 of them exactly
once. The other 32 I kept going back to, and those 32 hold two thirds of every
hotel night of my life.
29% of the buildings, 66% of the nights.
Arrivals, not nights
Every hotel I have stayed in, sorted by how many separate
times I checked in. Orange is a hotel I went back to, grey is one I saw
once. The grey tail is the travel people picture. The orange head is the
job.
Second place after Nagoya is a Courtyard in Pangyo, south of Seoul: 17 stays,
98 nights. Third is the Hilton at Schiphol, 12 arrivals and exactly 12 nights,
every single one of them the night before a 06:00 departure. Fourth is a hotel in
Hsinchu, eleven stays.
That is not a travel pattern. It is a work pattern wearing a travel costume,
and it took a decade of data to make it visible.
29% of the buildings, 66% of the nights
Cumulative share of nights, hotels ordered by number of
arrivals. The marked point is where repeat visits stop and the 80 one-time
hotels begin.
More than half my life away from home has been inside one company's buildings
Ask me which hotel company I use and I would have said Marriott, and guessed
a couple of hundred nights. The log agrees with the guess: 189 nights at
properties with the word Marriott on the sign.
Then I rolled up the brands.
Courtyard is Marriott. So is Sheraton, Residence Inn, Four Points, Le
Méridien, JW Marriott, Renaissance, Westin, Aloft and Moxy. Eleven names on
eleven different signs, one company behind all of them, one loyalty balance
underneath. Added together: 565 nights.
What I said, and what it was
Nights at hotels with "Marriott" on the sign, against nights
across all eleven Marriott brands I have stayed in. Same company, same
balance, 56% of every hotel night of my adult life.
Named Marriott, 189 nights
The other ten brands, 376 nights
56% of every hotel night of my adult life, inside one company. I did not know
that, and I am the one who kept the log.
The reason I did not know it is the interesting part, because it is the same
reason your booking history has never told you either.
A confirmation email says "Courtyard by Marriott Seoul Pangyo". It does not
say "this belongs to Marriott, and it earns into the same balance as the Sheraton
in Hiroshima and the Le Méridien in Taichung". That mapping is not in the email.
It has to already exist somewhere, as a curated catalogue of brands, sub-brands
and chain families, maintained by hand and kept current as chains buy and sell
each other.
Parsing a booking email is a weekend project in 2026. Roughly a dozen people
shipped one last year. Knowing what the booking means is a different kind
of work, and almost nobody does it, because it never finishes.
The bug that was not there
I know how hard that mapping is because I got it wrong twice while writing
this post, and the second time is the one worth your time.
While pulling these numbers, my own app told me I had 573 lifetime nights with
Marriott. That looked high, so I went looking.
The six Marriott brands I could see in my stay list added up to 532. The gap
was 41 nights. And there, sitting in my log with exactly 41 nights, was a hotel
that belongs to a Best Western soft brand, not to Marriott at all.
532 plus 41 is 573. An exact match. I wrote it up as a defect: the catalogue
is filing a Best Western property under Marriott, and quietly crediting a program
that never earned those nights.
It was wrong. There was no defect.
That Best Western property had been filed correctly the entire time and
contributed nothing to the 573. The 573 was Marriott from top to bottom. What I
had actually done was list six brands and silently miss five more: JW Marriott,
Renaissance, Westin, Aloft, Moxy. 39 nights. Then a citizenM in Amsterdam that
genuinely was filed under Marriott, one night, and a Marriott in Wuhan that had
no chain recorded against it at all, one night.
39 plus 1 plus 1 is 41. The same 41. Two unrelated errors, one on each side,
happened to be within a night of each other.
The correct answer is 572.
Here is what I want to hand you, and it is the only actual advice in this
post: arithmetic closing is not evidence. My confidence came
entirely from the sum balancing. I never opened the row. A total that reconciles
feels like a total that has been checked, and it has not been. It has only been
shown to be consistent with one story you already had in your head. Consistency
is not proof. It is the absence of one specific disproof.
If you have ever reconciled a spreadsheet and felt the small relief when it
tied out, that relief is the bug.
The real defect turned up later, and it turned up a completely different way.
My catalogue was correctly refusing to treat the word "Accor" as a brand name,
which is true, Accor is a parent company and not a brand. But having refused it,
the code stopped reading and never looked at the hotel's actual name. Four stays
at a Novotel in Singapore therefore belonged to nobody. Accor was reading 37
nights when the real figure was 66. IHG was reading 48 against 72.
Nothing about that was going to show up in a sum. It showed up because I
compared my number against the number in Accor's own app, from the outside, which
is now a job that runs every Monday morning without me.
260 nights I was credited for and never slept
There is a flattering version of this story. Half my nights in one company, so
the status compounds, so the upgrades arrive. That version is true as far as it
goes. I hold Lifetime Platinum with Marriott, status that never has to be
re-earned again.
But concentration is only half of why, and the other half is the number that
surprised me most in this entire exercise.
I have slept 572 nights in Marriott properties. Marriott has credited me with
832.
260 nights I was credited for and never slept
Marriott nights actually slept, against nights Marriott has
credited. My log starts in the same year the account did, so the whole gap is
bonus nights from promotions. This pair is on the loyalty ledger basis, which
includes private stays, unlike every other figure in this post.
260 nights I never slept. And unlike most gaps between two systems, this one
has no ambiguity in it at all: I joined Marriott and Starwood in 2014, which is
exactly where my log starts, so there is no earlier history hiding in the
difference. Every one of those 260 nights is a bonus night.
They came from promotions. Every few months the big chains run one: register,
then stay, and each night counts twice toward status. Registration is free, it
takes about thirty seconds, and it is not retroactive. If you did not register
before you checked in, the stay earns single and nobody tells you.
Turn that around and it says something uncomfortable about how the game is
scored. Assuming they were all straightforward double-night offers, 260 bonus
nights means 260 of my 572 real nights were slept inside a promotion I had
remembered to click. Nearly half. The other half earned single, in the same
hotels, for the same money.
There was a second lever, and it was luck rather than skill. I joined Marriott
and Starwood in the same year. When the two programs merged not long after, my
elite years merged with them. Lifetime status is not only a night count, it is a
night count plus a number of years at status, and I got a run at the years half
that my actual decade of travel had not earned yet.
So: the nights came from promotions, and the years came from a merger I had
nothing to do with. That is the honest anatomy of a lifetime tier, and neither
half is the part people tell you about.
The log is less flattering about the rest. 189 of my nights, 19%, went to
hotels belonging to no chain at all, and earned me nothing whatsoever. Several of
them were the best rooms I have stayed in. The Nagoya lounge I know so well is a
benefit I bought with a decade of choosing the same building over better
buildings.
That is the honest conclusion and it is not advice. You probably do not know
your own numbers. Your concentration is probably higher than you would guess.
Whether it was a good trade is a question you can only ask once you can see
it.
Where these numbers come from
Every figure here comes from my own logged stays in Pelgrim, the travel
tracker the team and I are building.
Two things are deliberately excluded: private stays, which removes 18, and
nights that were not hotels, which removes nine stays with friends and one night
in an airport lounge. Counting a friend's spare room as a hotel would have moved
the headline figure, and this is not the post in which to do that.
One number sits on a different basis and I am not going to hide it. 565 is
public hotel nights at Marriott properties. My own loyalty ledger says 572,
because it includes the stays I keep private and applies the program's
eligibility rules. Marriott says 832, because Marriott counts promotional bonus
nights and my log counts beds. Three numbers, three definitions, all three
correct. Reconciling them into one would destroy the only useful thing about
having more than one, which is that the distance between them is itself
information. In this case the distance was worth a lifetime tier.
One more correction happened before this went out. Nine stays were filed under
the wrong country: hotels in Hsinchu, Taichung and Taipei carried China instead
of Taiwan. That is a live political dispute and a lot of the travel industry's
own reference data carries the same tag, which is exactly why a travel app should
not quietly inherit it. Taiwan is where I have flown more than anywhere else. It
is filed correctly now, and a check runs weekly to make sure it stays that
way.
Finding any of this took asking my own app a question I had never asked
it.
Why we built the thing that drew this
We are building Pelgrim, a travel tracker built around a living world map. The
brand catalogue behind these charts is not a side quest, it is the product: your
stays only mean something once something knows which of those eleven signs share
a balance.
The promotion tracking came out of this post. Nobody keeps a list of which
promotions they are currently registered for, when the window shuts, and whether
the trip they are about to book falls inside it. Your loyalty program will
happily let you register and then never mention it again. So Pelgrim's calendar
and planner say it out loud: this stay falls inside an active promotion, or, you
have one expiring in eleven days with nothing booked in it. That is not a clever
feature. It is a checklist, put where the decision actually gets made.
Your data stays yours: EU-hosted, GDPR-native, exportable in full whenever you
want, no lock-in.
You can see the map without signing up for anything:
open the demo. Then go and count your own
hotels. I would bet the building you have slept in most is one you would not have
named.
◉All posts — everything else on the Pelgrim blog.