Microsimulation Components

Updated May 2nd 2013

This is a large collection of code that we use in various projects. It includes:

Several specialist tabulators

An implementation of the Piecewise Linear Budget Constraint generator;

Interfaces to various large scale sample survey datasets;

Utilities for building web interfaces in Ada;

Affordability Indexes;

Inequality Measures;

Tax Calculators; and

Optimisation Routines.

There is also an experimental complete South African tax benefit model, and some, but not all, of the code required for a UK Tax Benefit model.

Wales Social Care

This is the code for the Welsh Assembly Social Care Simulation. Note it does not include British Household Panel Survey (BHPS) data. It is dependent on the Tax Benefit Model Components suite above; you'll need to download and compile that first. Note that you'll also need the hacked ODBC database code.

Mefisto

This is the code for the back-end for the Mefisto microsimulation model of the Flemish region of Belgium. It is dependent on the Tax Benefit Model Components suite above; you'll need to download and compile that first. Note that the code does not include the Euromod simulation system source code, which is the property of the University of Essex.

OSCR Costs Model

This is the code for the OSCR - Virtual Worlds Affordability Model. It is dependent on the Tax Benefit Model Components suite above; you'll need to download and compile that first.

Scottish Legal Aid Model

This is the code for Scottish Legal Aid Simulation. Note that most of the code used here has been superseded by the Tax Benefit Model Components code above.

Northern Irish Legal Aid Model

This is the code for NILAM: Northern Irish Legal Aid Model. Note that, as with the Scottish Model, most of the code used here has been superseded by the Tax Benefit Model Components code above.

Mill

Mill is an experimental persistence persistence system for Ada, based on PHP Propel. It aims to largely automate interfacing to a complex relational database. (Update: needs a fixed version of Gnade ODBC).

New June 2013 - Modelling Local Authorities Using the Family Resources Survey

This is a little piece of code put together as part of an unsuccessful project bid. included here in case someone finds it useful, probably more as an example than as working code, since it's very rough. It takes an FRS dataset and produces sample weights that makes the dataset (or a subset of it) match 2011 Census data for each local authority in England and Wales. So in principle you can treat the whole FRS sample as if it came from that Local Authority. The weight generator uses a technique described in Survey Reweighting for Tax Microsimulation Modelling by John Creedy. It currently matches Census totals for:

Gender;

Age Group;

Tenure Type;

Number of Rooms;

Employment Status; and

Occupation.

See the included readme.txt for more information.

Notes

The documentation for these codesets is, unfortunately, scattered and in some cases incomplete. I intend to spend some time in the coming weeks making a consistent documentation set. Meantime do email with any queries.

Notes

All these files are in GZIP Compressed TAR format.

These models use large sample survey datasets. Because of the licence requirements of the data providers, these datasets cannot be included here. The UK Based models use the Family Resources Survey(FRS), available from the UK Data Archive. (The code is easily adaptable to other datasets, however). The South African Model uses the Income and expenditure of households Survey 2005/2006, available from Statistics South Africa.

Most of this code is written in Ada. It has been built with the freely downloadable GNAT Ada Compiler, 2009 edition. (Most Unix systems have GNAT available as a package; on Windows you can get GNAT as part of the Cygwin system, but that version is know not to compile this code correctly). Several other Ada compilers are available, but we haven't tested this code with any of them.

The code requires:

We recommend downloading all three, along with a current version of the compiler from AdaCore downloads page (registration required).

The Wales Social Care model also requires:

The code has mostly been compiled and run on Linux systems, but has also been compiled under MS Windows. Some compilation notes are available:

There is also some scripting code written in the Ruby language. The FRS interface generator uses a simple MySQL database.

All Virtual Worlds code here is released under the terms of the Gnu Public Licence.

Acknowledgements

We've taken the liberty of bundling four useful libraries with the tax-benefit components code. We're very grateful to the original authors: