On this page
Description
Microsimulation models are computer models that operate at the level of the individual behavioural entity, such as a person, family, or firm. Such models simulate large representative populations of these low-level entities in order to draw conclusions that apply to higher levels of aggregation such as an entire country. This type of model is distinct from aggregate models whose explanatory variables already represent collective properties. An example of such an aggregate explanatory variable might be the national unemployment rate. Certain types of modeling problems are best dealt with using microsimulation whereas for others an aggregate approach is more appropriate.
Models
Statistics Canada has developed a number of microsimulation models as well as general purpose tools that assist in their construction. Some of these models and tools can be downloaded from the pages linked below. A variety of analyses, some originating from inside Statistics Canada and some from outside, have been performed using these models.
Social Policy Simulation Database and Model (SPSD/M)
The Social Policy Simulation Database and Model (SPSD/M) is a popular tool to analyze how government tax and benefit programs affect individuals and families. It is built on a detailed anonymized annual dataset that combines information from survey and administrative data sources. Simulations can be created and run on a personal computer. For more information on the SPSD/M, see the overview (which contains the package contents and ordering details), SPSD/M training courses or contact spsdm@statcan.gc.ca.
PASSAGES: A retirement income model
PASSAGES is a free, open-source computer model that simulates how Canada's retirement income system affects individuals and families. The initial version focused on Canada Pension Plan (CPP) outcomes, newer versions cover programs like the Quebec Pension Plan (QPP), Old Age Security (OAS), and the Guaranteed Income Supplement (GIS). This tool is designed for government policy analysts, researchers, academics, and others who want to study or understand retirement income in Canada. For more information on accessing the model please consult PASSAGES microsimulation model or contact statcan.passagesmodel-modelepassages.statcan@statcan.gc.ca.
Demosim
Demosim is a microsimulation model developed and maintained at Statistics Canada that is designed to produce population projections. Using the microdata file from the Canadian Census of Population as its starting point, Demosim produces dynamic population projections for the provinces, territories, census metropolitan areas and selected smaller geographies, based on a number of characteristics: age, sex, visible minority group, place of birth, generation status, Indigenous identity, registered Indian status, level of education, and labour force participation, among others. It does so by simulating events such as births, deaths, migrations and changes in level of education, according to various population growth scenarios. It can also produce projections of families and households on the basis of various characteristics. Initially created in 2004, the model has been used to generate projections of the Canadian population's ethnocultural composition, the Indigenous population, and the Canadian labour force, and for various analytical studies. For an overview of the most up-to-date version of the Demosim model, please consult Demosim: Reports and Analytical Studies. This web page contains a paper that presents an overview of Demosim along with the latest available reports and analytical studies produced while using Demosim. For more information about the Demosim model and population projections based on microsimulation, please contact the Centre for Demography Client Services at statcan.demography-demographie.statcan@statcan.gc.ca.
CrimPath-1
CrimPath-1 is an R prototype simulation program created at Statistics Canada, in collaboration with the Department of Justice. The prototype is designed to model the trajectories of individuals involved in the criminal justice system (CJS) in Ontario and Saskatchewan and project the impacts of hypothetical justice interventions on CJS outcomes and associated costs. Ultimately, the goal is to build a simulation model that can help identify which program, policy or legislative changes could be the most effective in reducing (re-)contact with the CJS, on a national scale, and in reducing the overrepresentation of Indigenous and racialized people within the system. More information on the prototype and the estimated counterfactual scenarios can be obtained by contacting statcan.ccjcss-ccsjsc.statcan@statcan.gc.ca.
Health models
Microsimulation in health
Statistics Canada's Health Analysis and Modelling Division is a leader in policy-relevant health microsimulation, using advanced computer models to assess the population-level impact of interventions and screening. Because no single data source can capture treatment choices, outcomes, equity, and costs, these models integrate rich Statistics Canada data with academic research to realistically represent Canadians' risk factors, health histories, and demographics. By simulating individual life trajectories in continuous time and aggregating them to the population level, the models generate credible projections of future trends and enable decision-makers to test "what if" policy and program scenarios.
OncoSim
OncoSim, previously known as the Cancer Risk Management Model (CRMM), is a free, web-based simulation tool that evaluates cancer control strategies. Combining data from the real world, expert opinion and the published literature, OncoSim projects health and economic outcomes, and attributes them to selected risk factors, such as smoking and inadequate physical activity. It currently models four cancer sites (breast, colorectal, lung, and cervical) and related screening programs in detail and provides high-level projections for 32 cancer sites. This unique and sophisticated tool is used by decision-makers across Canada to better understand the impact and value of cancer control interventions. OncoSim is led and supported by the Canadian Partnership Against Cancer, with model development by Statistics Canada, and is made possible through funding by Health Canada. More information about Oncosim can be obtained by contacting the generic microsimulation mailbox at Statistics Canada (microsimulation@statcan.gc.ca). Access to the model can be requested from the Canadian Partnership Against Cancer.
Population Health Model (POHEM)
The Population Health Model (POHEM) is a microsimulation model of diseases and risk factors in which the individual is the unit of analysis. It creates and ages a representative sample of the Canadian population, simulating each person's life course—such as smoking behaviours, changes in weight and physical activity, and the onset of conditions like osteoarthritis, diabetes, cardiovascular disease, and dementia—until death. POHEM integrates data from multiple sources, including national surveys, vital statistics, the Census, and published research. Its inputs can be adjusted to explore "what if" scenarios, offering policy-makers insights that go beyond retrospective studies.
Technology
stcopenmpp
stcopenmpp is a fork of OpenM++, released for Statistics Canada's internal microsimulation modellers as well as external government and academic partners. OpenM++ is an open-source framework designed for building and running complex microsimulation models, developed by Steve Gribble and Anatoly Cherkassky. This software offers a modern, portable, scalable, and cross-platform product that supports dynamic microsimulation, allowing users to model life events such as aging, employment, or health transitions. With the core functionality written in C++, OpenM++ includes a compiler, runtime engine, and user interface, and integrates with languages like R and Python for data analysis and visualization through OpenM++ API endpoints. The API is part of the OpenM++ Web Service (OMS) and is designed to support tasks such as configuring models, running simulations, and retrieving results. The modular design of OpenM++ enables flexible model development, and it can be deployed on desktops or in cloud environments. You can access the latest release of stcopenmpp at Release v0.1 · StatCan/stcopenmpp.