Cambridge Digital Communications Assessment Model

PyPI Documentation Build Status Coverage Status Source Code

The Cambridge Digital Communications Assessment Model (cdcam) is a decision support tool to quantify the performance of national digital infrastructure strategies for mobile broadband, focussing on 4G and 5G technologies.


  • Oughton, E.J. and Frias, Z. (2017) The Cost, Coverage and Rollout Implications of 5G Infrastructure in Britain. Telecommunications Policy.
  • Oughton, E.J., Z. Frias, T. Russell, D. Sicker, and D.D. Cleevely. 2018. Towards 5G: Scenario-Based Assessment of the Future Supply and Demand for Mobile Telecommunications Infrastructure. Technological Forecasting and Social Change, 133 (August): 141–55.
  • Oughton, E.J., Frias, Z., van der Gaast, S. and van der Berg, R. (2019) Assessing the Capacity, Coverage and Cost of 5G Infrastructure Strategies: Analysis of The Netherlands. Telematics and Informatics (January).

Statement of Need

Every decade a new generation of cellular technology is standardised and released. Increasingly, given the importance of the Internet of Things, Industry 4.0 and Smart Health applications, both governments and other digital ecosystem actors want to understand the costs associated with digital connectivity.

However, there are very few geospatial open-source tools to help simultaneously understand both the engineering and cost implications of new connectivity technologies such as 5G. Hence, cdcam has been developed to address this key research need.


cdcam has already been used to test the capacity, coverage and cost of 5G infrastructure in Britain (Oughton and Frias 2018, Oughton et al. 2018) and the Netherlands (Oughton et al. 2019).

The model is one of several infrastructure simulation models being used in ongoing research as part of the ITRC Mistral project to analyse national infrastructure systems-of-systems, using scenarios of population change generated by simim and connected by a simulation model coupling library, smif.

Setup and configuration

All code for cdcam is written in Python (Python>=3.5) and has a number of dependencies. See requirements.txt for a full list.

cdcam is available on PyPI. To install, run:

pip install cdcam

Using a virtual environment

To set up a virtual environment follow the code below:

python -m venv cdcam
cdcam/bin/python cdcam/bin/pip install -r requirements.txt
cdcam/bin/python cdcam/bin/pip install -r requirements-dev.txt
cdcam/bin/python cdcam/bin/pip install cdcam
cdcam/bin/python cdcam/bin/pip install pytest pytest-cov
pytest --cov-report=term --cov=cdcam tests/

Using conda

The recommended installation method is to use conda, which handles packages and virtual environments, along with the conda-forge channel which has a host of pre-built libraries and packages.

Create a conda environment called cdcam:

conda create --name cdcam python=3.7

Activate it (run this each time you switch projects):

conda activate cdcam

First, install optional packages:

conda install fiona shapely rtree pyproj tqdm

Then install cdcam:

pip install cdcam

Alternatively, for development purposes, clone this repository and run:

python develop

Install test/dev requirements:

conda install pytest pytest-cov

Run the tests:

pytest --cov-report=term --cov=cdcam tests/

Background and funding

The Cambridge Digital Communications Assessment Model has been collaboratively developed between the Environmental Change Institute at the University of Oxford, the Networks and Operating Systems Group (NetOS) at the Cambridge Computer Laboratory, and the UK’s Digital Catapult. Research activity between 2017-2018 also took place at the Cambridge Judge Business School at the University of Cambridge.

Development has been funded by the EPSRC via (i) the Infrastructure Transitions Research Consortium (EP/N017064/1) and (ii) the UK’s Digital Catapult Researcher in Residence programme.