Frank Chen

Collecting stories by foot, lens, and occasional propeller

← Back to Posts

Introduction to spatial interaction modelling

This tutorial explains the logic behind the spatial interaction model (SIM) used in the practical exercise. The aim is to understand how retail spending from different areas is distributed across competing stores.

Tutorials 7 Mar 2026

Part 1: Understanding the idea

Imagine you live in a neighbourhood and want to buy groceries.

There are several supermarkets nearby. Some are large, some are small. Some are close, some are further away.

When choosing where to shop, most people think about two main things.

Store attractiveness

Large supermarkets often attract more customers because they offer more products, wider variety, and sometimes lower prices.

Distance

People generally prefer shops that are closer to them. Travelling further requires more time and effort.


A simple example

Suppose people in a neighbourhood spend £10,000 per week on groceries.

Nearby there are three stores:

StoreSizeDistance
Tescovery large2 km
Aldimedium1 km
Sainsbury’slarge3 km

Even though Tesco is the biggest store, Aldi is much closer. This means Aldi might still attract many customers.

Instead of assuming everyone goes to one store, the spatial interaction model assumes that spending is shared between all stores depending on their attractiveness and distance.

Example distribution:

StoreSpending received
Tesco£4800
Aldi£3300
Sainsbury’s£1900

Part 2: Key components of the model

To estimate how spending is distributed, the model needs three types of information.

1 Demand

Demand represents the total spending from each residential area.

Example:

Postal sectorWeekly grocery spending
LS1£10,000
LS2£8,000
LS3£12,000

This represents the origin of spending.

2 Store attractiveness

Stores are not equally attractive.

Larger stores usually attract more customers.

In this practical, attractiveness is represented by floorspace.

Example:

StoreFloorspace
Tesco5000 m²
Aldi2000 m²
Sainsbury’s3000 m²

3 Distance

Customers are more likely to shop at stores that are nearby.

Distances are measured between postal sector centres and store locations using their coordinates.


Part 3: How the model works conceptually

The model works in three steps.

Step 1: Calculate store attraction

A store becomes more attractive when it is larger and closer.

Step 2: Compare all stores

For each residential area, the model compares the attraction of every store.

Step 3: Allocate spending

Total spending from each area is divided between the stores according to these attraction levels.


Part 4: Mathematical version of the model

Once the logic is understood, we can express the model mathematically.

Variables

  • i = residential zone
  • j = store
SymbolMeaning
OiO_itotal expenditure from zone ii
WjW_jattractiveness of store jj
dijd_{ij}distance between zone ii and store jj
β\betadistance decay parameter

Distance decay

Distance influence is represented by

dijβ d_{ij}^{-\beta}

In this exercise

β=0.8 \beta = 0.8

Store attraction

The attraction of store jj for zone ii is:

Wjdijβ W_j d_{ij}^{-\beta}

Spatial interaction model

Tij=OiWjdijβk(Wkdikβ) T_{ij} = O_i \frac{W_j d_{ij}^{-\beta}}{\sum_k \left( W_k d_{ik}^{-\beta} \right)}

TijT_{ij} represents spending flowing from zone ii to store jj.


Balancing factor

Ai=1j(Wjdijβ) A_i = \frac{1}{\sum_j \left( W_j d_{ij}^{-\beta} \right)}

The model can also be written as

Tij=AiOiWjdijβ T_{ij} = A_i O_i W_j d_{ij}^{-\beta}

This ensures

jTij=Oi \sum_j T_{ij} = O_i

meaning all spending from each zone is allocated across stores.


Part 5: How the Excel model implements this

Distance sheet

Calculates distances between zones and stores (d{ij}d_\{ij\}).

Calc sheet

Calculates WjdijβW_j d_{ij}^{-\beta} and the balancing factor AiA_i.

Flows sheet

Calculates final retail flows:

Tij=AiOiWjdijβ T_{ij} = A_i O_i W_j d_{ij}^{-\beta}

Key idea

The spatial interaction model predicts where people shop based on:

  • how attractive stores are
  • how far away they are Bigger and closer stores attract more spending, while smaller and distant stores attract less.

Questions to think about

The model is useful because it is simple, but that simplicity also hides assumptions. When interpreting the results, it is worth asking:

  1. Is the way distance is calculated reasonable? Straight-line distance is easy to compute, but real shopping journeys follow roads, public transport routes, and everyday travel patterns.
  2. Are people living near the edge of a postal sector also influenced by stores just across the boundary? Administrative zones are convenient for analysis, but people do not make decisions based on those boundaries.
  3. Does floorspace capture attractiveness well enough? Larger stores often offer more choice, but price, brand, parking, product quality, and opening hours may also shape behaviour.
  4. Do all customers respond to distance in the same way? Some people may be highly sensitive to travel time, while others are willing to travel further for a preferred store.
  5. Is one distance-decay parameter appropriate for every place? Dense urban areas and more rural areas may show very different travel behaviour.
  6. Are there stores that should not be treated as direct competitors? For example, a premium supermarket and a discount supermarket may attract overlapping but not identical customer groups.
  7. Does the model assume shopping demand is fixed? In reality, the opening of a new store may change how much people buy, not just where they buy it.

Further readings

Related tutorials on this site: