Skip to main content

Cambridge Digital Communications Assessment Model

Project description

Cambridge Digital Communications Assessment Model (cdcam)

Documentation Status Build Status Coverage Status


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).

Setup and configuration

All code for The Cambridge Digital Communications Assessment Model is written in Python (Python>=3.5). The core model has no other dependencies.

See requirements-dev.txt for a full list of optional dependencies used in supporting scripts.

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/

Quick start

If you want to quickly generate results, first download the sample dataset available at DOI 10.5281/zenodo.3525285, then run:

python scripts/

You should see the model printing output such as Running: baseline baseline macrocell which means the data have been loaded and you are running the baseline population scenario, baseline data throughput scenario and macrocell upgrade strategy.

You should then see an output for each year (- 2020) indicating how much money was spent on either servicing a specified coverage obligation (Service) or in meeting demand (Demand):

- 2020
Service 0
Demand 14614
- 2021
Service 0
Demand 3293

More details are provided in the Getting Started documentation.


Contributions to this package are welcomed via the usual pull request mechanism.


If you encounter a bug, feel the documentation is incorrect or incomplete, or want to suggest new features, please post an issue in the issues tab.

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.


  • Edward J. Oughton (University of Oxford)
  • Tom Russell (University of Oxford)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdcam-1.0.1.tar.gz (674.3 kB view hashes)

Uploaded Source

Built Distribution

cdcam-1.0.1-py3-none-any.whl (12.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page