Download a PDF offline version of this documentation.
OpenFisca is a versatile microsimulation software. OpenFisca allows users to :
- Calculate many variables of the tax and benefit system of a country given input variables.
OpenFisca can calculate social benefits and taxes on test cases (a person or a household).
- Simulate the budgetary consequences of a reform and its distributional impact when plugged on a survey.
OpenFisca can calculate social benefits and taxes on population data (real data or survey data)
To achieve both, computations are vectorial and use NumPy package. It is coded in the C language under the hood, more performant than Python. Its engine is independent of the country, it is therefore possible to simulate any country. For now the main supported country is France.
OpenFisca is a free software published under the GNU Affero General Public Licence version 3 or later. It is written in the Python programming language (compatible with version 2.7).
OpenFisca is a modular project. Depending on your goals, you will install and interact with one or several of the OpenFisca Components.
The Web API lets you access the legislation Parameters and Variables.
Example: Mes Aides uses the OpenFisca Web API to calculate OpenFisca-France benefits.
- To explore the OpenFisca-France Web API services, use the French Legistation Explorer
- To query the Openfisca Web API in your app, see the Web API endpoints description
- To make sure the OpenFisca-France Web API (and all the related services) are still up and running, check out our status page
- To host your own instance of the Openfisca API, go to the installation documentation
Extensions add on the capacities of a country-package.
Example: See Paris extension and Rennes extension on top of OpenFisca France.
- To install an Extension, head to the Extensions documentation
Country Packages are the basic modules of OpenFisca. They define the Parameters, Entities and Variables of a country.
- To install an existing Country Package, head to that package's documentation.
Example: Openfisca-france's repository
OpenFisca-Core is the main engine: it is the common interface to every Country Package. It binds the Country Package(s), Extension(s) and the engine together. OpenFisca-Core is also where the API is packaged.
- To install OpenFisca-Core, read the OpenFisca-core Documentation.
OpenFisca is more a platform than an application: its first target is not the end user but economists, software developers, researchers, teachers, administrations, interested citizens, etc.
Final products can be built on the top of OpenFisca. They trigger tax and benefit variables computations via the web API. For example: Mes aides.
Then, the web API of OpenFisca is used by the team itself to develop tools like the legislation explorer.
These tools are designed to help developers understand the legislation when they write it down into source code, and allow citizens to browse the tax and benefit legislation.
The current version implements a large set of taxes, social benefits and housing provision for France for the last 10 years. But this is only due to a shortage in manpower to enter and update the Tunisian legislation.
The project is 100% free software, it is published on GitHub. It uses the GitHub infrastructure (issues, pull requests, etc.) to communicate internally or with external participants. The team discusses publically on those issues and pull requests and tries to be as transparent as possible.
The project is multi-actors: many people and organizations are involved in the project, reading the legislation and transforming it into source code, developing the Core or web tools, developing external products, etc.
Among them: Etalab, the IPP, the "startups d'état" of the SGMAP, the IDEP and France Stratégie.
OpenFisca provides a basic infrastructure, in particular a public instance of its web API, hosted on cheap servers. As it is free software, anyone can reproduce the OpenFisca infrastructure on its server.