May 23, 2017 by No Comments | Category Communities and third sector

Maike Waldmann & Roman Popat

Opening up the Scottish Index of Multiple Deprivation

You have heard of the Scottish Index of Multiple Deprivation (SIMD) but wonder how it was calculated? You want to use SIMD but without all the health data in it? You want a rich dataset to play with in R? You want to calculate your own composite index but don’t know where to start? openSIMD is the solution to all your problems!

openSIMD makes the calculation steps between the indicator data and the final SIMD measure completely transparent and open to scrutiny – no black box any more.

openSIMD = R code and documentation

Apart from being the solution to all your problems, openSIMD is a bit of R code along with documentation and data, which lets you calculate SIMD16 for yourself while making any changes you want.

The R code consists of one script to calculate the SIMD domains, another script to calculate the overall SIMD, and a third script with some functions. The documentation explains how to run the code, what the functions do, and how well the code replicates the original code that was used to calculate the official SIMD16. The data consists of two datasets downloaded from the SIMD webpages: The SIMD16 indicator dataset, and the SIMD16 domain ranks dataset.

SIMD identifies Scotland’s most deprived areas

SIMD is the Scottish Government’s official tool for finding the most deprived areas in Scotland. SIMD is used by government, councils, charities and communities as evidence to help target their work to those areas that need it most. SIMD is best known for how it ranks each small area in Scotland by how deprived it is. But in addition to the rankings, all indicator datasets that go into SIMD are also published on a small area level. This data provides a wealth of detailed information about the underlying issues in deprived areas.

SIMD is made up of over 30 indicators which are grouped into seven domains of deprivation. Each domain summarises one aspect of deprivation by combining some of the indicators and using the resulting domain scores to rank each area in Scotland. The seven domain rankings are then combined into an overall, multiple-deprivation SIMD ranking.

Collaborating on openSIMD

The openSIMD project was a collaboration of The Data Lab and the Scottish Government. Maike from the Scottish Government SIMD team says about the project:

When calculating SIMD16, I looked at the SAS code accumulated over the years by my predecessors, and found that it could do with some reviewing and tidying up. At the same time, a colleague put me in touch with Roman from the Data Lab, and we came up with this little project where we would translate the SAS code into R and make it public. I saw it as an opportunity to do some R, promote the use of R at my work, and also as a great way of demystifying SIMD. Another benefit is that we can now point people who want to do complicated things with SIMD to openSIMD and make their and our own lives much easier.

Roman from the Data Lab says:

I was thrilled about the opportunity to help open up such a high profile statistical product. I am a strong believer in open source and I think the current strength and reach of data science is owed to the dominance of open source tools and the OS community. Opening SIMD will be good for transparency but also reproducibility and therefore progress in research. And R users, yes there is a package in the works. If you want to collaborate, get in touch. Also check out the indicators dataset, extremely rich.

Some technical details

We translated SIMD to openSIMD from SAS to R. You can find our documentation for this project here. If you want to fork and contribute to the project, we would be delighted. Please see the public GitHub repository here. If you click through to read the documentation, run the code or explore the results, you will notice that SIMD and openSIMD scores and ranks are not numerically identical. Our tests showed that this is due to the exact way that some algorithms are implemented between the two platforms.

The functions that we have defined in the project are designed to be very SIMD specific. This was to keep us on the straight tracks of the SIMD procedure and not to create new more general tools. Finally, we realise that the fundamental unit of repeatable analysis in R is the package. For practical reasons we decided against writing a package in the first instance, however we plan to convert the project into a package in due course. If you want to collaborate on this please get in touch.

Find openSIMD


If you have questions or want to give feedback, there are two ways to do it. For any questions about SIMD, please contact the SIMD team at For any questions about the technical implementation in R, please raise an issue on the GitHub repository. We look forward to interacting with you.


Enjoy openSIMD.



Leave a comment