The model algorithms

The SPSD/M comes with the necessary algorithms and parameters to simulate over 20 years of the Canadian tax/transfer system.

The central program, the SPSM, is a micro-simulation based model which calculates taxes and transfers for individuals and families as appropriate. These calculations are performed for everyone on the SPSD and then aggregated to obtain estimates. The SPSM is a static impact model and is therefore not intended to simulate how an individual's behaviour is likely to change in response to various policy options. A second program, the commodity tax model (COMTAX) is a macro-economic Input/Output based model. COMTAX is intended to provide estimates of effective federal and provincial tax rates by province and commodity type. This model is required because many commodity taxes are levied at intermediate stages of production, not at the final retail stage. Rates calculated by the COMTAX model can be input as parameters into the SPSM to obtain estimates of the commodity taxes paid by any given household.

The SPSM is driven by over 2,000 parameters that control three main processes. Control parameters specify input and output files for a specific model run and are used to activate model software facilities. Database adjustment parameters control the inflation or deflation of money items on the database. Tax/transfer parameters control the specific functioning of the tax and transfer programs. Perusing the included lists of the tax/transfer parameters can give the user a feel for the scope of options available in the tax/transfer algorithms.

The SPSM is written and compiled using the C++ programming language. Changes to the tax/transfer system can be made in two distinct ways: the "black-box" or the "glass box" mode. When using the model in the black-box mode, changes to one or more parameters are specified during a user-friendly dialogue. In this mode the user can change levels and rates affecting various benefits, taxes, and eligibility requirements, and can also specify the population that will be modeled. Most applications are developed using this black-box mode. The glass-box mode is designed for use by persons who wish to develop entirely new algorithms or adjust existing algorithms. Glass-box users can write a new, (or modify an existing) algorithm in the C++ programming language and then recompile the complete system using a simple one word command. The user need not be a C++ language expert in order to use the model in glass-box mode, but should be experienced with some high level computer language. The user requires Microsoft C++ to use the model in glass-box mode.

A set of database adjustment algorithms are included with the model. These algorithms allow the user to "grow" the money items on the current database to some future or past year. The user can select a series of growth rates which are then applied by the model. For most variables a set of province specific growth rates are applied. However for certain important or complex variables more complicated rates are applied. For example, employment earnings are grown by rates specific to the province of employment and sex of the individual. These algorithms can be used independently of or in conjunction with alternate yearly demographic weights included with the database.

In the historical time period, the growth factors reproduce, on a provincial basis, the growth of the conceptually closest benchmark series in the System of National Accounts (SNA). In future years, the growth factors reproduce the growth seen in an average of public and private sector forecasts at a Canada level.

Model Algorithm Highlights

Personal Income Taxes

  • Taxation algorithms to represent more than 20 tax years
  • Major deduction/tax credit items
  • Payroll deductions (CPP/QPP, EI contributions)
  • Provincial tax algorithms (Tax on Tax and Tax on Income)

Cash Transfers

  • Unemployment/Employment Insurance Benefits
    • Detailed treatment of eligibility and benefits by:
      • type (regular, maternity, fishing, sickness, parental)
  • Old Age Security benefits including partial benefits
  • Guaranteed income supplement benefits including partial benefits
  • Provincial GIS supplement programs
  • Canada Child Benefit and Child Tax Benefit
  • Goods and Services Tax Credit
  • Provincial tax credit programs

Database Adjustment Algorithms

  • Scaling available for all income and expenditure variables by province
  • Wages and Salaries by province and sex
  • CPP/QPP Income by age

Commodity Tax Model

  • Eleven different tax types accounted for including:
    • Federal Custom Import Duties
    • Federal Goods and Services Tax
    • Provincial profits on liquor commissions and liquor gallonage tax
    • Federal Excise Taxes and Duties
    • Provincial Amusement Taxes
    • Provincial Gasoline Taxes
    • Provincial Sales Taxes
    • Provincial Tobacco Taxes
    • Provincial Environmental Taxes
  • Determination of expenditures net of "original" taxes

Selected Parameters Controlling Government Transfer Algorithms

  • Employment Insurance
    • EI contribution rate on earnings
    • Maximum insurable earnings
    • Minimum waiting period all claims
    • Maximum number of weeks - regular
    • Maximum number of weeks - maternity
    • Maximum duration of an EI claim
    • EI reform option
  • Benefit Rates
    • Benefit rate for basic phase
    • Benefit rate for quitters in basic phase
  • Repayment (through tax system)
    • EI benefit recovery base amount factor
  • Federal Goods and Services Tax Credit
    • GST credit amount for filer
    • GST credit amount
    • GST credit reduction rate
    • GST additional credit amount
    • GST additional credit rate of net income
  • Federal Child Tax Benefit
    • Basic child benefit (per child)
    • Child care expense reduction rate
    • Federal child benefits family income turndown
    • Family income reduction rate
    • Child benefits earned income supplement rate
    • Child benefits earning supplement reduction rate
    • Child benefits earned income supplement
    • Child benefits earning supplement cut-in level
    • Child benefits earning supplement turndown level
    • Flag for WIS dependent on number of children
    • Earnings where WIS phase-in is at maximum
    • Enriched WIS for each children
    • WIS reduction rate for families with children
    • Deflator to calculate previous year income
  • Canada Child Benefit
    • Canada Child benefit per child
    • Family income Canada Child Benefit turndown
    • Canada Child Benefit reduction rate
  • Old Age Security (OAS)/Guaranteed Income Supplement (GIS)
    • Old age security flag
    • OAS take-back phase in
    • Basic OAS
    • OAS reduction rate
    • Family income OAS turndown
    • Federal GIS/SPA/ESPA flag
    • Basic GIS supplement - single
    • Basic GIS supplement - married
    • Basic GIS portion of extended SPA
    • CPI deflator to calculate previous year income
    • Basic GIS reduction level: single pensioners
    • Basic GIS reduction level: married pensioners
    • SPA reduction point: one married/widowed
    • Basic GIS reduction rate: single pensioners
    • Basic GIS reduction rate: married pensioners
    • OAS portion of SPA taxback rate
  • Take-up Rates by Income Group
    • GIS take-up rate: single pensioner
    • GIS take-up rate: pensioner couple
    • GIS take-up rate: one pensioner couple
    • SPA take-up rate by income group
    • Extended SPA take-up rate by income group
  • Provincial GIS Supplementation Programs
    • Provincial GIS top-up flag
    • Ontario GIS supplement: single pensioners
    • Ontario GIS supplement: married pensioners
    • Manitoba GIS supplement: single pensioners
    • Manitoba GIS supplement reduction point: single
    • Saskatchewan GIS supplement: single pensioners
    • Alberta GIS supplement maximum annual benefit
    • British Columbia GIS supplement: single
    • British Columbia GIS supplement married
  • Social Assistance Parameters
    • SA for elderly calculation method
    • Federal social assistance flag

Selected Parameters Controlling Federal Personal Tax and Commodity Tax Algorithms

  • Calculation of Total Income
    • Capital gains inclusion rate
    • Federal dividend gross-up rate
  • Deductions from Total Income
    • Employment Expense Deduction
    • Child Care Expense Deduction
  • Non-refundable Tax Credits
    • Basic Personal Amount
    • Age Amount
    • Married Amount
    • Married Equivalent Amount
    • Pension Income Amount
    • Caregiver Amount
    • CPP/QPP Contributions
    • Employment Insurance Contributions
    • Medical Expenses
    • Interest on Student Loans Amount
    • Tuition and Education Amounts
    • Charitable Donation Amount
  • Deductions from Net Income
    • Capital Gains Deduction
  • Federal Taxes
    • Federal tax table
    • Federal non-refundable tax credit rate
    • Federal dividend tax credit rate
    • Federal Alternate Minimum Tax
    • Quebec Tax Abatement
  • Commodity Taxes
    • Federal custom import duties
    • Federal excise duties
    • Federal goods and services tax
    • Federal excise taxes
    • Provincial liquor gallonage tax
    • Provincial profits on liquor commissions
    • Provincial gasoline tax
    • Provincial amusement tax
    • Provincial tobacco tax
    • Provincial sales tax
    • Provincial environmental tax

Selected Parameters for Provincial Tax Algorithms

  • Parameters Common to all Provinces (excluding Quebec)
    • Provincial tax fraction
    • Provincial tax on taxable income table
    • Provincial alternative minimum tax
    • Provincial dividend tax credit
    • Provincial non-refundable tax credits
      • Basic Personal Amount
      • Age Amount
      • Married Amount
      • Married Equivalent Amount
      • Pension Income Amount
      • Caregiver Amount
      • CPP/QPP Contributions
      • Employment Insurance Contributions
      • Medical Expenses
      • Interest on Student Loans Amount
      • Tuition and Education Amounts
      • Charitable Donation Amount
  • Newfoundland
    • Sales Tax Credit
    • Political Contribution tax credit
    • Provincial surtax
    • Low-income tax reduction
    • Labour-sponsored funds tax credit
  • Prince Edward Island
    • Political contribution tax credit
    • Provincial surtax
    • Low-income tax reduction
    • Labour-sponsored funds tax credit
  • Nova Scotia
    • Political Contribution tax credit
    • Provincial surtax
    • Low-income tax reduction
    • Labour-sponsored funds tax credit
  • New Brunswick
    • Political Contribution tax credit
    • Provincial surtax
    • Low-income tax reduction
    • Labour-sponsored funds tax credit
  • Quebec
    • Child care expenses
    • Living alone exemption/amount
    • Disability deduction/amount
    • Income tax table
    • Dividend tax credit
    • Quebec sales tax credit
    • Child Assistance refundable tax credit
    • Work Premium refundable tax credit
    • Basic Personal Amount
    • Age Amount
    • Married Amount
    • Married Equivalent Amount
    • Pension Income Amount
    • CPP/QPP Contributions
    • Employment Insurance Contributions
    • Interest on Student Loans Amount
    • Tuition and Education Amounts
    • Charitable Donation Amount
    • Property tax credit
    • Political contribution tax credit
    • Medical expense tax credit
    • Alternative Minimum Tax
    • Contribution to the Health Services Fund
  • Ontario
    • Political Contribution tax credit
    • Provincial surtax
    • Tax reduction
    • Labour-sponsored funds tax credit
    • Property tax credit
    • Seniors property tax credit
    • Sales tax credit
    • Seniors sales tax credit
    • Ontario Health Premium
  • Manitoba
    • Political Contribution tax credit
    • Provincial surtax
    • Tax reduction
    • Labour-sponsored funds tax credit
    • Personal tax credit
    • Property tax credit
  • Saskatchewan
    • Political Contribution tax credit
    • Provincial surtax
    • Tax reduction
    • Labour-sponsored funds tax credit
    • Sales tax credit
  • Alberta
    • Political Contribution tax credit
    • Provincial surtax
    • Tax reduction
    • Labour-sponsored funds tax credit
    • Sales tax credit
    • Alberta Health Care Insurance Plan premium
  • British Columbia
    • Political Contribution tax credit
    • Provincial surtax
    • Tax reduction
    • Labour-sponsored funds tax credit
    • Sales tax credit
    • British Columbia Medical Services Plan premium

The Model Software

The SPSD/M comes with a powerful software support environment designed to enhance the range, speed and ease of policy analysis in both black-box and glass-box modes of use. The comprehensive and flexible set of outputs allow for detailed verification of algorithms and results. The software has been designed to work in an integrated fashion at many different family levels (e.g. household, census family, individual,etc.). A user-friendly interface allows the analyst to view and modify parameters, run simulations and examine results. An on-line help facility provides information on the use of the model dialogue as well as a handy reference to variable and parameter descriptions and lists. Some highlights of the model software are given below.

  • A generalized expression facility allows the user to create new variables.
  • The user can specify a database subset in terms of any combination of database or modeled variables (e.g. all Ontarians with income below $40,000).
  • Marginal tax rate analyses can be performed in a single execution of the model.
  • Two distinct tax/transfer systems can be run simultaneously. Base and variant runs may be differentiated on the basis of parameter inputs, alternate algorithms (glass-box), or both.
  • Comprehensive set of default tables includes dollar amounts and persons reporting for over 40 variables with breakdowns by province, income class, family type, and proportion above or below specified income levels.
  • Built-in custom tabulation routines allow users to specify custom n-dimensional tables with database, model, or user defined variables and statistics. The user is given full control over formats, precision and labeling of the tables.
  • Database output interfaces allow the user to create custom files in compressed binary format, ASCII format or as a documented SAS file. These files are for subsequent analysis using the SPSM or other software packages and may contain any database or modeled variables.
Date modified: