To deliver successful interventions, it is crucial for decision makers to understand where populations live in relation to public and private services.

Deciding where services, such as schools, vaccination centres or financial access points, should be placed is a classic but critical spatial problem in resource allocation. Systematic ways to situate those services are especially helpful in contexts where resources are very limited and some populations or areas are marginalised. 

Omotayo Kofoworola 6Qbwpeoamsg Unsplash
Omotayo Kofoworola 7Ehpxnhy Ua Unsplash

Commonly asked questions within this problem include:

  • Where to situate new service points to cover the largest number of people? Where to place staff to provide sufficient service capacity?
  • What is the minimum number of service points we need to add to cover everyone? Or to cover 95%? If we add 100 service points, then what is the largest number (or %) of people that can be covered?
  • Where to prioritise the set up of new services points or upgrade?

The importance of maximising population coverage and providing sufficient service capacity

The ability to quickly run simulations for different scenarios is essential to foster a deeper understanding of the problem of maximising population coverage and providing sufficient service capacity,  and to evaluate whether and context-specific constraints need to be taken into account (e.g. type of suitable locations, distribution of target populations).

By viewing a range of different solutions to their problem of spatial expansion of service points or staff, decision makers can more precisely plan with respect to potential expenditure and the equity of access to services.

Our experience has shown that decision makers can make use of our scenarios based on population density (bespoke and standard placement simulations with coverage statistics) and combine them with additional information such as qualitative local knowledge, survey results or administrative datasets, in order to determine population coverage targets and refine prioritisation rules.

To enable this evaluation process between different scenarios of resource allocation, we have developed a lightweight, adaptable optimised placement algorithm that can rapidly return a minimal set of ranked service points necessary to achieve 100% coverage of the population under different constraints.

How the site placement optimisation algorithm works

Input data

Our optimisation method relies on gridded population estimates, the coordinates of the existing facilities or services and, optionally, data on settlement names and administrative boundaries. 

  • Existing population data in a gridded format.

Gridded population estimates are estimated counts of the population for a given area. We typically use estimates produced by WorldPop at a resolution of approximately 100 x 100m, but the algorithm can also run using other data sources and resolutions. Based on needs, data can be filtered to specific age or sex in order to target a specific population. For example, in a country with limited COVID-19 vaccine supplies, the ministry of health might decide to only focus on placing temporary vaccination centres close to where people over 50 live.

  • Location of existing sites

Coordinates of the service facilities are essential to determine where uncovered populations live and therefore identify where coverage gaps are and where new vaccination sites should be added.

  • Service radius

This is the distance the new feature should cover. For example, in the Democratic Republic of the Congo (DRC), to improve rates of routine childhood immunisation, following discussions with users and health actors, our algorithm was set to use a 3km coverage distance for new sites, as it represented one hour or less of travel time on average for the beneficiaries of the services.

Method & Outputs

Once the service radius is decided, we can then assess the coverage of existing services and the density of the uncovered population, which is then used as a foundation for the placement of new sites.

Using the input data listed previously, the algorithm creates a map of the population not yet covered by existing facilities within the service radius distance (X km). It then places facilities on all locations with the largest number of uncovered people within X km and that are sufficiently far from each other, so that the placement of one facility does not affect the placement of another (no overlapping coverage). 

The uncovered population map is then updated and this process is repeated until all the population is covered. Each site is ranked based on the number of additional  people covered exclusively within its X km radius. 

Optimisation Graph Process Png

The basic product of the algorithm is a table of new suggested sites in priority order and for each site:

  • Coordinates accurate at 100m (sites are placed in the centre of a 100 x 100m grid cell, hence the accuracy to 100m);
  • The total number of people who are covered by this site and by the previously suggested sites (cumulated coverage);
  • The number of people covered by this site who are not covered by previously suggested sites (additional coverage);
  • The number of people who are only covered by this site, that is who are not covered by neither previously nor subsequently suggested sites (exclusive coverage);
  • Site rank (from largest additional coverage to smallest).

Typically this is supplemented with further data to inform decision making and provide contextual information, which might include locational information for each site such as administrative area and settlement where the site is located, as well as neighbouring settlements covered by the site, and distance to existing facilities.

Outputs usage

When we know how many sites to add

If users know how many sites they want to add, based on their budget and resources, then the results of the algorithm will inform them on how many people the sites can maximally cover, and on where to place the sites to reach this maximum coverage. The sites suggested by the algorithm are ordered by the number of people that each additionally covers, from large to small. Therefore, to cover the largest number of people with n sites, then the n first suggested sites must be selected. Knowing the number of sites to place provides the selection of sites and their locations: users do not need to make their own selection of sites out of the ones suggested.

When we need to refine the number of sites to place

Alternatively, if users first need to determine or refine the number of additional sites to place (in practice, this is the most common situation), then the algorithm results will inform them on the maximum total number of people they can cover depending on how many sites they add (cumulated coverage), and on whether each new site suggested covers a sufficient amount of additional people (additional coverage) for its placement to be justified and viable. Users can then quantify tradeoffs between costs and benefits and determine the number of sites worth adding.

When we want to change priority categories

Optionally, users can also determine priority categories, to specify where limited resources should be directed first. This may be of use in situations when sites are added in phases over time or when sites need to be visited at different frequencies or have different staff structures. For example, users can decide that priority #1 sites are the first n sites that reach a coverage of over 90% of the population (or the first n sites that each adds coverage for more than 1,000 people). Priority #2 sites then may be sites n+1 to n+m that reach a coverage of 97% (or that each adds coverage for more than 200 people), and so on until the total number of selected sites is reached.

Sxriptx 9Pggt1qtaly Unsplash

Creating & using data visualisations

Creating visualisations of the algorithm outputs,  and interactive visualisation e.g. via an online dashboard, is often essential to support this decision-making process. For example, the cumulative percentage of the population covered as each site is added in priority order can be plotted to show a ‘coverage curve’ graph and identify the proportion of the population that would be covered if n sites were added. This helps when setting coverage targets as it enables to visualise the trade off between costs and benefits, as each newly added site covers fewer and fewer people. Based on our experience across various projects, we know that covering 100% of the population in under 5km usually requires an unpractical amount of sites, with the last few covering typically fewer than 5 people each.

Data visualisation options

Results can be presented on an ArcGIS Online dashboard (see our work on the GRID3 Nigeria dashboard for COVAX/COVID-19 interventions) or on a bespoke R Shiny dashboard (see our DRC dashboard for childhood immunisation) that allows for greater flexibility on the types of graphs and maps used for visualisation.

Results can also be shared via csv or a vector file format (such as a geopackage) to feed into in-house dashboards or planning systems.

Specific parameter: Constraining the placement to settlement centres

By default, the algorithm generates unconstrained results, meaning that new services can be added anywhere on the map.

An option is to constrain the placement in settlements, to minimise the distance to sites for the majority of people. However, this does mean that more locations are placed to obtain the same coverage as the default settings, which often places new sites in between settlements.

Optimisation Settlement Parameter


Optimisation is meant as a support tool to governments, not a replacement for decision-making.

It’s important to bear in mind that addressing access does not have to necessarily translate into creating new sites. The outputs from the model can also be used to develop other strategies to support the objectives initially set.


We applied our site placement optimisation algorithm for various projects and sectors including for financial inclusion in Tanzania; education in Nigeria and Sierra Leone (both funded by the GRID3 programme); or supporting childhood immunisation interventions in the Democratic Republic of the Congo for our GRID3 Mapping for Health project.

Discover some of our case studies below:

Optimisation Drc Screenshot

Storymap: Informing placement policies with an optimisation algorithm

Discover an overview of our various site optimisation projects in this interactive ArcGis online storymap


Modelling optimal site placement for COVID-19 vaccination in Nigeria

Read how Flowminder, under the GRID3 programme, helped the Nigerian government in determining where to add new COVID-19 vaccination sites to maximise population coverage.