ES EN
Back to blog
Nightfill blog

What three competitor prices actually measure

Three properties, three days out, one guest, one night: the floor came back between MXN 168 and 206 across 32 runs. When the scrape fails, the fallback is 215.

Published September 15, 2026 · 6 min read
Charming Andalusian courtyard with lush plants in Cordova, Spain, capturing traditional Spanish architecture.
Photo: Domenico Adornato / Pexels

Three prices, one date, one guest

Every morning the pricing engine running on our own hostel in Oaxaca goes and looks at what the neighbours are charging. In the log that step is one line: the market floor, in pesos. It reads like a fact about the market. It is not one. It is a measurement, taken with a particular instrument under particular conditions, and like every measurement it has a spec, a normal range and a way of failing.

Here is the spec, written out. Three named properties on Hostelworld: Leveli, Viajero, Casa Angel. One probe date, three days out. One guest. One night. A fourth property nearby, Ticuchi, is excluded on purpose, because the bed it sells is not the bed we sell.

That is one cell of a very large grid. Not tonight, not next weekend, not a six-bed private, not four nights, not two people sharing. Everything the engine believes about the market comes through that one hole. The narrowness is the point: a fixed spec is what makes today's reading comparable to yesterday's. The mistake is forgetting the spec exists and treating the number as the market itself.

What the instrument has actually read

Across 32 logged runs between 14 August and 5 September 2026, the competitor floor came back between MXN 168 and MXN 206. A 38-peso band, about 23 percent of the bottom of the range.

That band is the useful output, not today's number. If you have watched three competitors for three weeks and know they live between 168 and 206, a reading of 172 is an ordinary Tuesday and 260 is a question, not an instruction.

The engine uses the floor in one narrow way, and the rule is worth stealing even if you price by hand. There is a hard cap on how far the headline anchor may sit below the cheapest tracked competitor: 12 MXN. Not a percentage, a fixed number of pesos. It overrides the learning layer, the part of the engine that had already walked the same-day discount from 0% down to -8% chasing weak near-term occupancy. Whatever that layer wants on a given morning, it does not get to sit more than 12 pesos under the cheapest comparable bed on the street. You can win the sort by 12 pesos as easily as by 60, and the 48 in between are yours.

The number that shows up when the instrument breaks

Scrapes fail. The API times out, a layout changes, a property goes off-sale for the probe date. The engine has a fallback: if the scrape fails, it uses a fixed 215 MXN as the market floor.

Put 215 next to the observed range of 168 to 206. The fallback sits above the highest floor this engine has ever measured. That is not an accident, and it is the part worth copying. A broken sensor does not stop the morning; something gets used anyway. The only real question is which direction you want to be wrong in on a day nobody noticed the reading never arrived. With a fallback above the observed range, a failure makes the engine believe the market is dearer than it has ever seen it, so it prices up. You may sell a bed or two fewer. You do not quietly give away margin.

A fallback of 150 would do the opposite, on every lead-time band and every date in range, and the log line would look perfectly normal while it happened. Cheap failures announce themselves. Expensive ones look like a normal Tuesday.

If your rates depend on anything you did not type yourself, a channel manager rule, a competitor tool, a spreadsheet that pulls a price, you already have a fallback. Find out what it uses when the number does not arrive, and which way that failure pushes you.

A large jump is a broken instrument until proven otherwise

There is a second guard, and it is deliberately weak. The engine flags a competitor floor that moves more than 40 percent day over day as a possible scrape failure, and watches the same way for a booking pickup spike of three times normal, a three-day drought after a healthy run, and an overnight occupancy jump of more than 35 points. All of it is log-only: a flag is a prompt for a person, not a decision. A 40 percent overnight move is occasionally real, a festival announcement or a competitor closed for renovations. Far more often it is a broken reading.

Across the whole reviewed log the detector fired zero times. Read that honestly. It has been verified not to misfire on three weeks of ordinary data. It has not been verified to catch a real failure, because there has not been one yet.

Your three is not everyone's three

One more thing about comp sets, this time from our prospecting data rather than the pricing engine. We hold 2,194 independent hostels and small hotels in the list we work from, and they are not spread evenly: 219 in Madrid, 66 in Porto, 50 in Lima, 36 in Playa del Carmen, 29 in Cusco, 22 in Santa Marta, 7 in Bocas del Toro, 2 in Colonia del Sacramento.

Those are properties we collected, not a census, so the counts are not market size. But the shape is real. In a town with a handful of comparable beds, tracking three is tracking most of the street. In Madrid, three out of a couple of hundred is thin enough that the daily movement is mostly news about those three. In a dense city, widen the set or narrow the definition: three properties within four blocks, at your standard and your dorm size, beat three that came up first in a list.

Five things to write down before tomorrow morning

  • The spec. Which properties, how many days out, how many guests, how many nights. If you cannot write it on one line, you are comparing different things on different days.
  • The band. Two weeks of readings gives you a normal range. Ours is 168 to 206. Without one you cannot tell news from noise.
  • The fallback, and its direction. What price your system uses when the reading does not arrive, and whether that failure pushes you up or down.
  • The undercut cap. A fixed number of pesos below the cheapest tracked competitor that you will not go past, whatever any promo or rule asks for.
  • The jump rule. A threshold past which a movement is treated as a broken reading until a person confirms it.

What this data does not say

Every run described here falls in low season; high-season behaviour has not been observed. The 32 runs cover 22 unique calendar dates, because four dates were run more than once while the formula was still being hand-calibrated. Three properties, one probe date, one guest, one night is a narrow proxy for any market, and the argument here is for knowing that rather than pretending otherwise. None of this is a revenue claim: the finding is about how a price gets read, not what it earned.

If this sounds like your property, see the three Nightfill tiers and start a free 14-day pilot on your own data: view pricing.

revenue-managementpricingcompetenciadatosoaxaca