Esta página aún no está traducida. Estás leyendo la versión en inglés.

Core concepts

The vocabulary of MapDove: places, visits, visitors, frequency, dwell, percentiles, period-over-period change, trend and category benchmarks.

MapDove reports foot traffic for places and aggregates it to neighborhoods, categories, brands and cities. This page defines every metric you will see on a place page, in rankings and in the API, and how each one is computed in the demo dataset.

Places

A place is a single point of interest: a café, a grocery store, a hotel, a shopping center. Each place has:

  • an integer id, a name and a street address;
  • a category (one of 14, such as coffee, grocery, qsr, mall);
  • an optional brand — one of 31 fictional chains — or none for independent operators (about 27% of places; shopping centers are always unbranded);
  • a neighborhood, coordinates (lng, lat) and a building footprint polygon;
  • a floor area in square feet (sqft) and an opening date (opened_on). Some places open during the data period and ramp up over their first 90 days.

Each demo city has 247 places, 1,235 in total.

Visits and visitors

Metric Definition
Visits Number of times the place was visited in the selected range. Summed from daily counts.
Visitors Estimated unique visitors in the range. Daily visitor counts are de-duplicated across days, so a person who comes every morning counts once, not thirty times.
Avg daily visits Visits in the range divided by the number of days in the range.
Frequency Visits ÷ visitors — how many times the average visitor came in the range. Longer ranges produce higher frequency.
Dwell (avg_dwell_min) Average minutes per visit, weighted by visits. Hotels and cinemas have long dwell; fuel stations and pharmacies short.

Because unique visitors cannot simply be summed day by day, MapDove estimates range visitors as the sum of daily visitors divided by a de-duplication factor 1 + 0.15 · ln(days). Compare frequency only across ranges of the same length.

Date ranges and comparisons

Every analytics endpoint accepts from and to (YYYY-MM-DD). Without them, the range is the last 90 days of available data. The dataset covers 2025-11-01 to 2026-10-31.

  • Change vs previous period (change_pct) compares the selected range with the immediately preceding range of equal length: 100 · (visits − visits_prev) / visits_prev. A 30-day range ending 2026-10-31 is compared with the 30 days before it.
  • YoY trend (yoy_trend_pct) is the place’s underlying annual growth rate across the whole dataset, after removing seasonality and noise. It answers “is this place structurally growing or shrinking?” rather than “was last month better than the month before?”.

The Free plan clamps from to 90 days before the last data day; paid plans can look back 365 days.

Ranking and percentile

  • Rank in category (rank_in_category) orders all places of the same category in the same city by visits in the range (1 = most visited).
  • Percentile in city (percentile_in_city) is the share of same-category places in the same city with fewer visits, from 0 to 100. A café at the 81st percentile out-draws 81% of the city’s other cafés.

Benchmarks

The benchmark series on a place page is the average visits per place for the same category in the same city, at the same granularity (day, week or month). It lets you separate place-specific performance from market-wide effects: if a store and its benchmark both drop in July, it is the season; if only the store drops, it is the store.

category_avg_daily_visits is the same idea as a single number.

Busiest day and hour

The hourly heatmap is a 7 × 24 matrix (rows Sunday = 0 through Saturday = 6, columns hour 0–23) of average visits in each hour. In the demo dataset the daily totals are real model output by weekday; the split across hours uses a category-specific hourly profile (coffee peaks at 8 am, dining at 7 pm, cinema at 7–8 pm). busiest_dow and busiest_hour point to the peak.

Trade areas and segments

A place’s trade area is the set of hex cells its visitors come from, modeled with a gravity model. The demographics of those hexes describe who the place serves. See Trade areas and Lifestyle segments.

Hex cells

Demographics live on a hexagonal grid of cells about 0.8 km² each. Every hex carries population, households, median income and age, daytime population, density, education and family shares, a rent index and a traffic index (both 0–100 within the city), a growth rate, a lifestyle segment and its neighborhood. Ring and trade-area statistics are built from these cells.

Units and currency

US cities display miles and USD; Dubai displays kilometers and AED. API fields with _km or _km2 suffixes are always metric regardless of city; income values are in the city’s local currency.

A note on the data

All places, brands and visits are synthetic and deterministic — every installation sees the same numbers. Nothing is derived from real devices or individuals. Read Demo data before drawing conclusions.