What a café will earn, before it exists
Estimating a year of trade for a storefront from its address, its floor plan, and a thousand signals about the street around it.
Given any building in a European city and a short brief — how many tables, on which floor, run as which kind of café — the tool returns an estimate of what that café would take in over a year: a headline figure, a confidence band, a month-by-month curve, and the reasons behind the number. The café does not exist. The estimate is made before the lease is signed.
The work was commissioned by a contractor to one of the world’s largest coffee chains. A chain of that size opens hundreds of locations a year and commits to each lease for the better part of a decade. The costly mistakes are rarely the stores that miss their plan by a little; they are the sites chosen on instinct that should never have been opened, and the strong sites that were quietly passed over. The brief was to make those calls on evidence, across a whole city, before a property team books a single viewing.
What follows describes the approach, shown on a working demonstrator covering two cities. Its figures are illustrative — the demonstrator runs a deterministic model so that the same site always returns the same report — but the structure is the one a deployed system uses.
A siting decision is an estimation problem wearing an optimization problem
The chain’s real question is not what one café would earn; it is which sites to open, and in what configuration, to get the most out of a fixed budget. That is an optimization — maximize return across the portfolio, subject to capital, lease terms, and the stores already trading, since a new café half a mile from an existing one tends to move revenue rather than add it.
Every optimization needs an objective it can actually evaluate. Here the objective — what a given café at a given address would earn — is precisely the thing no one can measure until it is built. So the outer decision rests on an inner estimate, and that estimate has to be both accurate and cheap, because the configuration space is wide (floor, number of tables, format, price tier, opening hours) and a single city holds thousands of candidate addresses.
Ground truth is the scarce resource. A chain learns the true revenue of a location only by opening it; that yields a few thousand observations worldwide against an effectively unbounded space of places it might have gone instead. The central difficulty of the whole exercise is this: estimating a continuous quantity over a vast space from very few labelled points.
The number is a sum of many small, local reasons
A café’s trade is not explained by any one thing. It is the accumulation of the street around it — how many people pass and at what hours, who lives and works within a few hundred metres, how near the closest metro is, how many competitors share the block, whether the frontage catches enough sun for a terrace, and what the weather does to footfall across the year. None of these is decisive alone, and all of them interact.
The demonstrator carries 933 such signals across fourteen categories: footfall and mobility, transit, demographics, workplaces, education, competition, complementary retail, tourism, weather, the site’s own geometry, pricing, brand, and the wider economy. Most are measured at several radii around the exact pin, because a bakery next door and a bakery four streets away are not the same fact, and the model should not pretend they are.
Most of the work is collecting the data
Before any arithmetic, the tool has to establish what is genuinely around the point. The built environment — shops, schools, offices, transit stops, building footprints — comes from OpenStreetMap through Overpass queries run at several radii. Transit frequency comes from GTFS feeds. Population, age, and income come from census micro-grids. Temperature, rainfall, and daylight across the year come from climate reanalysis, which is what lets the model judge whether a terrace is worth anything in a given city.
The hardest layer is the unstructured one — pedestrian counts, competitor ratings, event calendars, how busy a square actually gets. That information exists, but as prose scattered across the web rather than as a tidy table. This is where the AI does the unglamorous part: issuing searches, reading what comes back, reverse-geocoding the address, classifying points of interest, and turning heterogeneous text into the structured signals the model can consume. For a decision this expensive, the provenance of each number matters nearly as much as the number, so the tool records the acquisition step rather than hiding it.
The mathematics: a distribution, not a point
Each signal is normalized to a comparable scale and given a weight. The weighted aggregate forms a demand kernel, which maps through the site’s own capacity — seats, turnover, opening hours, average ticket — into daily covers and then into revenue. Seasonality is handled separately: a monthly decomposition driven by climate and tourism bends the annual figure into a curve, which is why a Lisbon site and a Vienna site of identical size do not take the same money in February.
The weights are the part that must be learned. In deployment they are fit against the chain’s existing stores — the few thousand sites whose real revenue is known — by regression with heavy regularization, because the signals far outnumber the labelled stores: the classic high-dimensional, low-sample regime in which an unconstrained fit would simply memorize noise. Grouping factors by category, and placing a prior on each group, holds the estimate together. Machine learning earns its place here less as a predictor than as a way to pool information across stores that resemble each other in ways no single feature captures.
A lone number is the wrong output for a lease decision, so the tool does not produce one. It re-runs the estimate a few thousand times under perturbed assumptions — a Monte-Carlo pass — and returns a distribution: a central figure with an 80% band. A site whose band is wide is a different proposition from one whose band is narrow at the same midpoint, and the two are worth treating differently.
What it is for
With an estimate that is cheap and calibrated, the two questions that actually mattered become tractable. The configuration question — ground floor or first, how many tables, espresso bar or full café, which price tier — turns into a sweep, since each variant is just another run, and the tool shows directly how the projection moves as the brief changes. The portfolio question — which of the candidate addresses to pursue — turns into a ranking, sites set side by side with their uncertainty attached.
None of this replaces a site visit or a property team. It changes what they spend their attention on. Rather than forming a first opinion on every address in a district, they begin from a shortlist that already accounts for a thousand things a walk-through cannot see, in a configuration that has already been searched.
The demonstrator shown here uses two cities and a deterministic model so that its behaviour is legible and repeatable. A deployed version is calibrated against the commissioning chain’s own stores, and is only ever as good as that history allows — which is the real limit of the method. It estimates the future of a place from the measured present and the recorded past, and it is least certain in exactly the situation where it would be most valuable: a genuinely novel kind of location, with no precedent in the data to learn from.
Recordings are AAIC’s own, captured from the demonstrator. Map tiles © OpenStreetMap contributors.