SISU Studio Guide
Quick Start
Run a Baseline
- Go to the Simulation tab, select a year and input dataset, and click Run Simulation.
- The Latest Results panel shows key indicators immediately.
Set Up and Assess Reforms
- In the Parameters tab, load a module's policy parameters, edit values, and save as a preset.
- Alternatively, use the saved illustrative reform presets or work off of another year's rules.
- In the Simulation tab, select your preset(s) and run simulation(s). Compare in Analysis.
Evaluate Household Impacts
- Use the Household tab to see how the tax-benefit system applies to a specific household you define.
- Select a reform preset to see how the household fares under it, or navigate to the Multiyear tab to track how the household's position evolves across years.
Simulation
Run Configuration
The Simulation tab controls are:
- Year — Legislation year. Determines which parameter values and tax schedules apply.
- Parameter Timing — Controls which parameter values apply. "Annual (12-month average)" computes the mean across all months (matches the original SAS-based SISU). "Annual (year-end)" uses December values. Monthly options (January, June, December) use month-specific legislation.
- Input Dataset — Select which synthetic dataset to run on. Pre-generated locked datasets for 2021–2025 are included.
- Sample Size — Controls what fraction of the dataset to simulate. Smaller samples run faster. Weights are adjusted to maintain representativeness, so aggregate statistics remain valid even at 5% or 10%.
- Unemployment Model — Choose between Annual (TTURVA), Monthly (TTURVA_KK), or Snapshot. Annual projects a full year (260 benefit days) and divides by 12. Monthly models day-level accrual. Snapshot computes the monthly rate at the person’s current unemployment duration, matching SAS behavior. Snapshot is not relevant for aggregate simulations (it changes nothing for register data). For 2026, monthly parameter timing is recommended with TTURVA_KK to accurately model the May yleistuki transition month-by-month. With annual timing, both TTURVA and TTURVA_KK use prorating (4/12 + 8/12). See the Multiyear tab guide for a detailed explanation of the three modes with worked examples.
- Dividend Tax (OSINKO) — Off by default (SAS model default). When turned on, the simulation also runs the OSINKO module to calculate dividend income taxation.
- Simulation Mode — Controls whether the simulation uses calibrated extensions or strict SAS-equivalent logic:
- SAS Parity (strict law-only) — Every eligible person receives 100% of their calculated benefit, matching the behavior of the original SAS-based SISU model exactly. Pure legislative-rules-only calculations with no empirical adjustments.
- Extended (calibrated) — default. Applies benefit take-up modeling on top of the standard law-based calculations. Social assistance (TOIMTUKI) and pensioner housing allowance (ELASUMTUKI) are reduced by empirically calibrated non-take-up rates, reflecting the fact that not all eligible persons claim these benefits. This produces more realistic aggregate totals.
- Parameter Preset — Use "Baseline (no overrides)" or select a named preset created in the Parameters tab.
Every simulation runs modules in the correct dependency order with policy rules from a given year.
Choose when to sample parameter values for your simulation:
- Annual (12-month average) — Default, matches the original SAS-based SISU. Computes arithmetic mean of parameters across all 12 months. This replicates the behavior of SAS *VS (VuosiSumma) macros used in the original SISU model.
- Annual (year-end) — Uses December/latest available parameters. Represents the final legislative state for the year.
- January — Start-of-year parameters. Most Finnish legislation changes take effect on January 1st.
- June — Mid-year checkpoint. Some programs (e.g., student aid, indexed benefits) update in summer.
- December — Year-end parameters explicitly. Same as "Annual (year-end)" for most modules.
Parameter resolution: Each benefit module has different months available in its parameter tables (e.g., housing allowance: Jan/Apr/Sep; student aid: Jan/May/Jul/Aug/Nov; national pension: all 12 months). When you select a month, the system uses backward-looking resolution — it finds the most recent parameter values at or before your requested date. For example, requesting June when only January and August exist returns January's values.
Note: Modules without monthly parameter variations (VERO, VVERO, KIVERO, TAMAKSU) return the same values regardless of timing selection.
Important: Parameter presets store only your edits (deltas from baseline), not full snapshots of all parameter values.
When you run a simulation with a preset:
- Base parameters are loaded using the simulation's Year/Timing settings
- Your preset's edits are applied on top of those base values
Example: You create a preset in January 2024 editing only child benefits (LLISA), not touching VAT (VVERO). The preset stores: {LLISA: {first_child: 150}} — VVERO is not included.
- Running with Annual (12-month average) → VAT uses average of all 12 months (8 months @ 24% + 4 months @ 25.5% = 24.5%)
- Running with Annual (year-end) → VAT uses year-end value (25.5% for 2024)
- Running with January (monthly params) → VAT base = 24.0%
Tip: If you want to lock in specific parameter values (e.g., January 2024 VAT at 24%), explicitly include those parameters in your preset by editing them in the Parameters tab.
Latest Results
After running a simulation, the Latest Results panel shows key summary metrics in a single column: Inequality, Poverty, Disposable Income, and Fiscal Totals. All results are annual amounts. Income statistics use equivalized disposable income across all individuals. The Disposable Income Concept toggles (Church Tax, Daycare Fees, Include VAT) recalculate all indicators using the adjusted income definition for any selected run.
Market Gini (before taxes/benefits), Disposable Gini (after redistribution), and the redistribution effect (percentage point reduction). Measured on equivalized income; displayed as 0–100.
Market poverty rate, Disposable poverty rate, and redistribution effect. Defined as percentage below 60% of median equivalized disposable income (EU at-risk-of-poverty standard).
Mean and median equivalized disposable income (market income + benefits − taxes − fees, adjusted for household size using the OECD modified scale).
Total taxes collected and total benefits paid, weighted to represent the full Finnish population.
Note on poverty and income concepts: When any toggle is active, the poverty line (60% of median equivalized income) is recalculated from the adjusted income concept — the same definition is used for both the poverty threshold and the income being measured. This can produce counterintuitive results: toggling on Church Tax, Daycare Fees, or VAT can reduce the reported poverty rate, because these costs fall disproportionately on middle- and higher-income households. Subtracting them lowers the median — and hence the poverty line — more than it lowers incomes near the bottom of the distribution. This is a standard property of relative poverty measures and is consistent across the Simulation, Analysis, and Household tabs.
Simulations
The Simulations panel (right column) shows the simulation queue and history. Each run appears immediately when launched — first as pending (queued), then running (orange animated progress bar), and finally done (teal bar) or failed (red bar). Completed entries are clickable — click to load results into the Latest Results panel. Using Run All Parameter Presets queues all presets at once; they run sequentially and each transitions through the states in turn. The income concept toggles persist across run selections, so you can compare adjusted indicators across runs.
Saved Configurations
Logged-in users can save and load simulation run configurations (year, parameter timing, dataset, sample fraction, TTURVA mode, osinko toggle, baseline mode, parameter preset). The saved config dropdown appears above the Run button — select a saved config to restore its settings, or choose “Custom Configuration” to reset to defaults. “Save Over” overwrites an existing config; “Del” deletes with an inline confirmation prompt. Configs are stored server-side and persist across sessions and devices. The app works fully without login — saved configs are an optional convenience.
Import from File
The “Import from File” button in the Simulations panel accepts .parquet, .csv, or .zip files. Imported data appears as a simulation run in the queue, available for analysis and export just like any other run. ZIP files containing multiple runs import all of them. This lets you re-load previously exported person-level datasets for further analysis without re-running the simulation.
Parameters
Module & Timing
Use the Module, Year, and Parameter Timing selectors to choose which legislation parameters to view. The Parameter Editor auto-loads when any selector changes. Each module contains the parameter values that govern that part of the tax-benefit calculation.
Parameter Editor
The editor displays all parameters for the loaded module. Edit any value to create a reform scenario — changed values are highlighted in orange. Parameters are organized in collapsible groups. Click "Restore Baseline Values for this Module" to reset edits in the current module, or "Restore All" to clear all changes across all modules.
Note: OSINKO (Dividend Tax) and VERO (Income Tax) share the same underlying parameter file. Three parameters — capital income tax rate, higher rate, and threshold — appear in both modules. Editing them in either module automatically applies to both.
Cross-Year Parameter Import
The Import from controls in the Parameter Editor let you load an entire year's legislation as overrides on top of the currently selected year. This enables cross-year policy comparison — for example, applying 2021 rules to a 2026 population to measure the cumulative effect of legislative changes.
- Select the target year in Module & Timing (e.g. 2026) — this is the baseline you're comparing against
- In Import from, choose a source year and timing (e.g. 2021 / Annual avg) and click Import
- All parameters that differ between the two years are loaded as overrides (shown in orange). A preset name and description are auto-filled.
- Save as a preset, then run simulations with and without it to compare the two policy regimes
Note: KUNTAVERO (municipal tax rates) is excluded from cross-year import since municipality-level rates are managed separately.
Illustrative Reform Presets
Five pre-built policy reform scenarios are included as saved presets by default — they appear under Saved Presets and in all preset dropdowns (Simulation tab, Household tab) without any setup. Each models a hypothetical reform with parameter changes large enough to produce clearly visible distributional impacts:
- Yleistuki + Work Allowance — Major unemployment reform: large earnings disregard (500 €/month) and halved means-test taper, plus doubled social assistance earned income exemption. Improves work incentives for benefit recipients.
- Make Work Pay — Earned income tax credit +50%, basic deduction +25%, financed by higher top brackets. Shifts burden from low/mid earners to high earners.
- Housing Allowance Reform — Deductible coefficient halved, rent caps raised +15% across all municipality groups, coverage rate increased. Biggest impact for renters in Helsinki area.
- Family Affordability Package — Child benefits +30% (1st–2nd child) / +15% (3rd+), single parent & under-3 supplements +50%, daycare fees halved. Financed by higher top tax brackets.
- Raise the Pension Floor — Guarantee pension +25%, national pension +15%, stronger pension income deduction. Targets lowest-income pensioners.
Quick start: Go to the Simulation tab, select any reform from the Parameter Preset dropdown, and click Run Simulation. Compare against baseline using the Analysis tab’s Compare Runs mode. In the Household tab, select a reform in the Reform Preset dropdown to see baseline vs reform budget constraints side by side.
Customizing: To modify a reform, click Edit next to the preset name in Saved Presets, change parameter values in the editor, then Save Preset. To re-import the original version, use Import from → Illustrative Reforms → select the reform → Import, then Save As New.
Note: Reform parameter values are calibrated against 2025 baseline legislation, but they work as overrides for any legislation year — the override values are absolute, not relative. For example, importing the pension reform into 2023 still sets TakuuEl to 1232.88 €/month regardless of the 2023 baseline value.
Parameter Presets
Presets save your parameter modifications for reuse across simulation runs. The workflow:
- Go to Parameters tab, select a module (e.g., VERO for income tax), choose year — parameters auto-load
- Edit the values you want to change for your reform (changed values highlight in orange)
- Name and save as a preset (e.g., "Higher basic deduction") - you can load multiple modules and add changes to the same preset
- In Simulation tab, select your preset from the dropdown
- Run the simulation - your preset's parameter overrides will be applied
- Compare with baseline using the Analysis tab
You can edit or delete saved presets using the buttons next to each preset name. When editing, "Save Preset" overwrites the original, "Save As New" creates a copy under a new name (enter the new name in the name field), and "Discard Changes" reverts without saving.
Cloud saving: When logged in, saved presets are automatically synced to the server (indicated by a ☁️ icon). Cloud-saved presets persist across sessions and devices. Without login, presets are stored in browser memory only and are lost on page refresh.
Analysis
Analysis Modes
The Analysis tab operates in two modes:
- Single Run — Load one simulation run to view its full distributional results.
- Compare Runs — Select a baseline and reform run to see side-by-side differences.
Both modes offer three income concept toggles that adjust what counts as disposable income: Church Tax, Daycare Fees, and VAT. By default, church tax and daycare fees are excluded from disposable income (and from the tax total); checking them includes them as deductions. The VAT toggle (off by default) switches all metrics to extended disposable income (disposable minus estimated VAT burden). YLE tax, housing allowance, and social assistance are always included in disposable income, matching the SAS KÄYTRAHATULO_SIMUL definition.
Analysis Cards
Both modes show most of the same cards. Single Run shows one run's results; Compare Runs overlays baseline vs reform and adds comparison-specific panels. Reform series are typically orange and dashed; baseline colors vary by chart (blue for Lorenz/PTR, violet for EMTR density). Decile-based comparisons use fixed baseline thresholds so the same people are in each decile across scenarios.
| Card | Single Run | Compare Runs |
|---|---|---|
| Fiscal | ||
| Taxes | Tax revenue by module with HH/IND counts & averages | Baseline totals with reform deltas |
| Benefits | Benefit spending by module with HH/IND counts & averages | Baseline totals with reform deltas |
| Taxes by Ventile | Stacked bar: mean taxes per person by income ventile, all non-zero modules + % of income line | Same |
| Benefits by Ventile | Stacked bar: mean benefits per person by income ventile, largest types + “Other” aggregation + % of income line | Same |
| Tax Change by Ventile | Change in mean taxes per person by ventile, baseline vs reform | |
| Benefit Change by Ventile | Change in mean benefits per person by ventile, baseline vs reform | |
| Decile Summary | Table: population, income, taxes, benefits, effective tax rate, and poverty by equivalized income decile | Same, with baseline vs reform |
| Winners & Losers | % gaining/losing by >3%, 0.5–3%, or unchanged per ventile | |
| Inequality & Distribution | ||
| Distributional Indicators | Gini (market/disposable/extended), poverty rates, mean/median, S80/S20, P90/P10, Reynolds-Smolensky, Kakwani | Same, with baseline vs reform differences |
| Income Distribution | Histogram of equivalized disposable income | Overlaid histograms |
| Age Distribution | Population count by 5-year age group with income share overlay (% of equivalized disposable income held by each group, right-hand axis) | Population bars only (no income share line) |
| Income & Tax Concentration | Share of individuals, gross income, and taxes by income bracket (working-age earners) | Same |
| Lorenz Curve | Cumulative market & disposable income share vs cumulative population | Overlaid baseline vs reform curves |
| Redistribution Profile | Net transfer (benefits − taxes) in EUR per person by market-income ventile. | Change in net transfer (reform − baseline) in EUR bars + % of baseline disposable income line |
| EMTR & PTR | ||
| EMTR Components | Mean EMTR decomposed into tax increase and benefit withdrawal by annual wage income bracket (18–64). Each person’s wage is perturbed by €100/month one at a time (other household members held fixed); EMTR = 1 − ΔDisposable/ΔGross. | Baseline (solid) vs Reform (dashed) |
| EMTR Spread by Income | Distribution of individual EMTR (P5/mean/median/P95) within each annual wage income bracket (18–64, per-person €100/month perturbation, others held fixed). Shows how much EMTR varies across individuals at each income level. | P5/median/P95 only (mean omitted for clarity). Baseline (solid) vs Reform (dashed). |
| EMTR Distribution | Kernel density of individual EMTR (18–64) with median line | Overlaid densities with median lines |
| Participation Tax Rate (PTR) Distribution | Kernel density of entry PTR for unemployed benefit recipients (Heckman selection-corrected wage predictions) with median line | Overlaid densities with median lines |
| PTR by Predicted Wage Quintile & Benefit Group | Median entry PTR by Heckman-predicted wage quintile (full working-age distribution) & benefit group | Same |
| Average Income Tax Rate by Gross Earnings | Scatter: Verohallinto-style weighted average income tax rate (tuloveroprosentti) by €500 earnings bin (wage earners ≥€500). Smoothed 95% spread (P2.5–P97.5) shown as shaded band. Numerator = income taxes only (state, municipal, church, Yle, health insurance, capital income tax); excludes employee SIC, property tax, VAT, fees. Income concept toggles do not affect this chart. | Baseline (gray) vs Reform (blue). Smoothed 95% spread (P2.5–P97.5) shown as shaded bands (gray = baseline, blue = reform). |
| Marginal Tax Rate for Wage Earners | Statutory MTR for a standard under-65 wage earner (age 40, church member, no other income) in €500 bins. For each earnings level y, MTR = (Taxes(y+500) − Taxes(y)) / 500 × 100. Taxes include: state progressive tax, municipal tax, church tax, Yle tax, health insurance, employee pension contribution (~7.15%), employee unemployment contribution (~0.79%). Excludes employer contributions, VAT, property tax, fees. Lines show the selected year and up to two prior years, computed analytically from VERO parameter tables. Note: the Verohallinto tax card rate (ennakonpidätysprosentti) does not include employee pension (~7.15%) and unemployment (~0.79%) contributions, so the effective marginal rate is higher than the tax card rate. A spike near ~16,500 EUR is the sickness daily allowance notch (sv_pr_maksu_raja) — below that threshold the contribution is zero; above it, ~1% is levied on the entire wage retroactively, creating a lump-sum hit that pushes the effective MTR well above 70%. The y-axis is capped at 70% for readability; hover for actual values. | Same + reform line (dashed) if VERO parameter overrides active |
| Demographics & Poverty | ||
| Poverty & Median Income | At-risk-of-poverty rates and median income by demographics, labor status, education | Same, with change column |
Methodology
SISU follows EU-SILC (European Union Statistics on Income and Living Conditions) methodology for international comparability.
Income Concepts
| Concept | Finnish | Formula |
|---|---|---|
| Market Income | Markkinatulot | Wages + Employment Pensions + Capital + Self-Employment |
| Disposable Income | Käytettävissä olevat rahatulot | Market Income + Benefits − Direct Taxes − Fees |
| Extended Disposable | Laajennettu käytettävissä oleva tulo | Disposable - VAT |
Note: Employment-related pensions (työeläke) are market income. Kela pensions (national pension, guarantee pension) are modelled by the KANSEL module and counted as benefits/transfers.
Equivalization — To compare welfare across households of different sizes, income is adjusted using the OECD modified scale:
| Household Member | Weight |
|---|---|
| First adult | 1.0 |
| Additional adults (14+) | 0.5 |
| Children (<14) | 0.3 |
Examples:
- Single adult: Scale = 1.0
- Two adults: Scale = 1.5
- Two adults + 1 child (<14): Scale = 1.8
- Two adults + 2 children: Scale = 2.1
Raw household income is misleading for welfare comparisons. A single person with €2,000/month is better off than a family of four with €2,000/month. Equivalization accounts for economies of scale (shared housing, utilities) while recognizing that children cost less than adults.
Household-level assignment: For distributional analysis (Gini, poverty, deciles), all household members' disposable incomes are first summed into a household total, then divided by the equivalence scale factor. This single equivalized value is assigned to every person in the household — for example, a two-adult household with €60,000 total disposable income has an equivalized income of €40,000 (÷1.5) for each member. The unit of analysis is the person, not the household: a four-person household counts as four observations at the same equivalized income. This matches the original SAS-based SISU model and EU-SILC/Eurostat methodology.
Fixed deciles in comparisons: In reform comparisons, deciles are fixed based on baseline income. People stay in their original decile, allowing you to see how a reform affects each income group — not how it changes their ranking. Deciles use equivalized household income (modoecd) with person weights.
Poverty threshold: Set at 60% of median equivalized disposable income, following the EU-SILC "at-risk-of-poverty" standard.
Gini coefficient: Measures inequality on a 0–1 scale using equivalized disposable income. Finland’s Gini is typically ~0.27. The UI displays this as a percentage (0–100) for readability.
Reynolds-Smolensky index: Measures the redistributive effect of the tax-benefit system. Equals market Gini minus disposable Gini. Higher values indicate more redistribution.
Kakwani index: Measures tax progressivity independent of the tax level. Compares the Lorenz curve of pre-tax income with the concentration curve of taxes. Positive values indicate progressive taxation (higher incomes pay a larger share of taxes).
Deciles and ventiles: Income groups are created by sorting persons by equivalized income and dividing into equal-population segments. Deciles = 10 groups (D1 = lowest 10%); ventiles = 20 groups (V1 = lowest 5%). Summary tables use deciles; stacked bar charts use ventiles for higher resolution.
Heckman Two-Step Selection Model (PTR Wage Imputation)
To compute the Participation Tax Rate for non-employed persons, we must predict what wage they would earn if they entered work. A naive OLS regression trained only on employed workers overpredicts wages because of sample selection bias: people who choose to work tend to have unobservable traits (motivation, health, connections) that also raise their wages. The Heckman correction addresses this.
Step 1 — Probit selection equation: We estimate who is employed using a probit model on all working-age persons (18–64). The selection variables include age, age², sex, education, region (maakunta group), plus exclusion restrictions: number of children, children under 3, spouse income, capital income indicator, and student status. These affect participation but not the wage offer.
Step 2 — OLS wage equation with IMR: From the probit, we compute the Inverse Mills Ratio (λ = φ(Zγ)/Φ(Zγ)) and add it as an extra regressor in the log-wage OLS. The wage equation uses: intercept, age, age², sex, education dummies, region group, and the IMR. The coefficient on the IMR (δ) captures the selection bias.
Diagnostic: If the IMR coefficient (λ) is statistically insignificant (p > 0.10), selection bias is negligible and the model automatically falls back to standard OLS. The subtitle of each PTR chart dynamically shows which method was used and the lambda coefficient value.
Expected effect: The Heckman correction typically lowers predicted wages for non-employed persons by 3–10%, producing lower and more realistic PTR estimates compared to uncorrected OLS.
PNG Export
Every chart and table card has a download button (top-right corner) to save as a high-resolution PNG file. The exported PNG includes the chart title, data provenance, simulation settings, and SISU Studio attribution. Fiscal summary cards offer both compact and detailed (with sub-components) export options.
Household
Purpose
The Household tab is a single-household calculator. It runs the same full SISU simulation pipeline (modules in dependency order, with the Unemployment Model controlling which TTURVA variant is included) but on a one-household dataset constructed from the form inputs, rather than across an entire synthetic population. This lets you see exactly how the tax-benefit system applies to a specific household you define.
Household Members
Define up to 4 adults and 6 children. Each adult has:
- Age — 18–100
- Sex — Male or Female (affects some benefit calculations)
- Status — Employed (Private / Municipal / State), Self-employed, Unemployed, Retired, or Student. The employer sector affects employer-side pension contributions (TAMAKSU): Private = TyEL, Municipal = KuEL, State = VaEL. These are employer costs and do not directly affect the household’s disposable income in the Household tab (employee-side social contributions are the same regardless of sector). The sector distinction matters for population-level fiscal analysis. When set to Self-employed, the earnings field label changes to “SE Income €/mo” and a Capital split % field appears (default 30%). Self-employment income is split into earned and capital portions using this percentage — the capital share is taxed as capital income (flat 30%/34% rate) while the earned share is taxed as earned income (progressive scale). YEL pension contributions apply instead of TyEL/KuEL/VaEL. When set to Unemployed, additional fields appear:
- Benefit Type: Unemployment benefit options (adapt based on simulation year):
- Earnings-related (ansiosidonnainen) — Requires unemployment fund membership and sufficient work history (26 weeks in 2021–2023; 52 weeks from Sep 2024). Benefit is based on prior wage with a two-tier formula (45%/20% split at income threshold). From 2024, subject to graduated reduction: full rate for the first 40 days (
PorrasPv1), 80% for the next 130 days, 75% thereafter. For persons with carry-over benefit days from the previous year, the tier boundaries shift forward accordingly. - Basic allowance (peruspäiväraha, years ≤ 2025) — Flat-rate benefit for persons with work history but no unemployment fund membership.
- Labor market support (työmarkkinatuki, years ≤ 2025) — Means-tested benefit for first-time job seekers or those who have exhausted other benefits.
- Yleistuki (from May 2026; default for years 2027+) — Universal support that replaces both peruspäiväraha and työmarkkinatuki. No child supplement; single-person means-testing only. For 2026 the simulation blends 4/12 old + 8/12 Yleistuki; from 2027 onwards Yleistuki fully replaces the old benefits.
- Earnings-related (ansiosidonnainen) — Requires unemployment fund membership and sufficient work history (26 weeks in 2021–2023; 52 weeks from Sep 2024). Benefit is based on prior wage with a two-tier formula (45%/20% split at income threshold). From 2024, subject to graduated reduction: full rate for the first 40 days (
- Months Unemployed (1–24) — How long the person has been unemployed. This drives the graduated reduction tier (from 2024: full rate for 40 days, then 80%, then 75%). The displayed monthly benefit reflects the current monthly rate at that duration — not a partial-year average. Internally, benefits are annualized over a full year (the person is unemployed) while the unemployment duration shifts graduated reduction boundaries via carry-over days.
- Prior Wage (Earnings-related/Basic only) — Monthly gross wage before unemployment. Determines the earnings-related benefit amount. Defaults to the Gross Earnings field value.
- Benefit Type: Unemployment benefit options (adapt based on simulation year):
- Gross Earnings / Pension — Monthly gross income in EUR. What to enter depends on the person’s status:
- Employed: Monthly gross wage. Used as wage income in the simulation.
- Self-employed: Monthly gross self-employment income (€/mo). Split into earned and capital portions using the Capital split % field. The capital share is taxed at the flat capital income tax rate; the earned share enters the progressive earned income tax schedule.
- Unemployed: Defaults to €0. Unemployment benefits are calculated from the Prior Wage field (shown when Unemployed is selected), not from this field. Leave at 0 unless the person has concurrent part-time earnings.
- Retired: Monthly gross pension (€/mo). In Finland the average total pension (2024) is roughly €1,900/mo. Enter the person’s total pension income from all non-Kela sources: earnings-related pension (työeläke), accident & traffic insurance pensions, foreign pensions, and any voluntary supplementary pensions. The KANSEL module simulates Kela pensions (national pension, guarantee pension, survivor pension) automatically — do not include those here.
- Student: Defaults to €0. Student aid (OPINTUKI) is computed automatically. Enter part-time earnings here if any.
- Extra Options — Click the Extra › button to reveal additional fields:
- Disability — No (default), Basic, Enhanced, or Special. For working-age persons (16–64), KANSEL pays a disability allowance (vammaistuki) at three levels. For disabled pensioners, a care allowance (hoitotuki) applies instead. Children under 16 receive a child disability allowance. Disability does not trigger a national pension (kansaneläke) — that requires retirement status.
- Church Member — Yes/No. Church members pay church tax (approx. 1–2% of taxable income, varies by municipality). Municipality-specific Evangelical Lutheran church tax rates are used when available (from official statute collection PDFs, ranging ~1.0–2.2%). Falls back to the national average (
kirk_vero_pros) if per-municipality data is not loaded. - Spouse — Select which other adult is this person’s spouse. The pairing is bidirectional: selecting Adult 2 as Adult 1’s spouse automatically sets Adult 1 as Adult 2’s spouse, and clearing one side clears both. Adding a second adult auto-pairs them. Spouse pairing affects
has_spouse,spouse_income, andis_single_parentin the simulation. - Widow — Yes/No. When set to Yes, a Dec. Pension €/yr input appears for entering the deceased spouse’s annual pension. This activates the KANSEL widow pension (leskeneläke) simulation, which includes a base amount and an income-tested supplement.
- Sick Leave Days — Number of days on sick leave (0–365). When > 0, SAIRVAK computes sickness benefits prorated by days. Default: 0 (not on sick leave).
- Parental Leave Days — Number of days on parental leave (0–365). When > 0, SAIRVAK computes parental benefits prorated by days. Default: 0.
- Lives w/ parents — Combined dropdown, only shown for adults aged 18–24 when there is at least one non-spouse adult 15+ years older. Options: “No” (default), then qualifying adults as pairs (e.g., “A1 & A2”) and individuals. Selecting a parent option enables TTURVA partial support (osittainen tuki) means-testing: parent income is automatically computed from the selected parents’ gross earnings.
Children are defined by age (0–17), daycare status, and disability. Daycare options: No, Yes (full-time), or Part-time. Part-time daycare applies a 0.6× multiplier to the full-time fee (PHOITO). Daycare fees depend on household income and family size — they are zero below the income threshold (e.g., €3,874/mo for a 2-person family in 2025).
Household Tab Simplifications
- Partial support for young adults (osittainen työmarkkinatuki) — Supported via the “Lives w/ parents” dropdown in Extra options (visible for adults aged 18–24 when a non-spouse adult 15+ years older is present). Select the parent(s) to enable TTURVA partial support means-testing; their gross earnings are automatically used as parent income. Adults selected as spouse are excluded from parent options. The work condition (
work_condition_met) is automatically set toFalsefor labor market / Yleistuki benefit types. - Children are passive dependents — Children (0–17) cannot have labor market status. They affect household benefit calculations (child supplements, daycare fees, family size) but do not themselves receive unemployment or sickness benefits.
- No concurrent benefit-day splits — In register data, a person may receive different benefit types for different portions of the year (e.g., 100 days earnings-related + 60 days basic after benefit exhaustion). The Household tab assigns one benefit type per person for the entire period.
Housing
- Tenure — Five options:
- Renter: Enter monthly rent in the Housing Cost field. No property tax. Housing allowance (ASUMTUKI) uses rent norms.
- Owner-occupied: Detached or semi-detached house (pientalo/paritalo). Enter monthly loan interest + maintenance in the Housing Cost field. Property tax (KIVERO) computed from building characteristics.
- Housing assoc. — Apartment / Row house / Semi-det.: AS-OY share. The building type (kerrostalo, rivitalo, paritalo) determines the HOITOSUUS ratio for property tax estimation. Enter your monthly vastike in the Vastike field — this serves as the housing cost for benefit calculations (ASUMTUKI, TOIMTUKI) and is also used to estimate your AS-OY property tax share (KIVERO). Matches the SAS
hoitvastvariable.
- Housing Cost (Renter / Owner-occupied) — Monthly housing expense (EUR). For renters: monthly rent. For owners: monthly loan interest + maintenance costs. Used by housing allowance (ASUMTUKI), social assistance (TOIMTUKI), and pensioner housing allowance (ELASUMTUKI). Hidden for Housing assoc. tenures (vastike is used instead).
- Vastike (Housing assoc. only) — Monthly charge to the housing company (EUR), including both hoitovastike and rahoitusvastike. Used as the housing cost for benefit calculations and for estimating your AS-OY property tax share via HOITOSUUS ratios.
- Municipality — Select from 336 Finnish municipalities. Determines municipal income tax rate, church tax rate (VERO), property tax rates (KIVERO), and housing allowance group (1-4).
Note: Housing allowance (ASUMTUKI) is available for all tenure types, including owner-occupied housing. ASUMTUKI only excludes students (who receive OPINTUKI housing supplement) and pensioners (who receive ELASUMTUKI).
How is AS-OY property tax estimated? The simulation uses HOITOSUUS ratios from the upstream SAS model (KIVEROsimul.sas): the ratio of property tax to total maintenance fees, by building type and construction decade. Tax = vastike × HOITOSUUS × 12. No building area or land value inputs are needed — vastike alone determines the estimate.
Owner-occupied property tax assumptions: Since hypothetical households do not have real property register data, the simulation uses reasonable defaults: pientalo (small house), wood construction, built year 2000, full amenities (water, central heating, electricity). Building area is 80 m² + 20 m² per household member. Property value is area × per-m² rate by municipality group: €2,500 (Helsinki), €1,800 (Greater Helsinki), €1,200 (large cities), €800 (other). Land value = 30% of property value. Tax rates are per-municipality from the KUNTAVERO parameter table (typically 0.4–1.0% for permanent residences, ≥1.3% for land from 2024). The tax is assigned to the household head only (not duplicated across members).
Automatic Benefits
Social assistance (toimeentulotuki, TOIMTUKI) is computed automatically as a last-resort benefit. It covers the gap between the household's assessed need (basic amount + housing costs) and total income. Virtually all income reduces it nearly 1:1, so it acts as a guaranteed minimum floor. No additional inputs are needed — TOIMTUKI uses the household's benefit, tax, and housing information from other modules.
In the composition charts, TOIMTUKI appears as a flat floor at low income levels and phases out nearly 1:1 as other income rises.
Settings
Configure simulation parameters and earnings sweep.
- Year — Legislation year for parameter values.
- Reform Preset — Optionally apply a parameter preset (created in the Parameters tab) to compare reform vs baseline.
- Unemployment Model — Controls how unemployment benefits are calculated. The choice matters most for earnings-related benefits (ansiosidonnainen), which have graduated reduction (porrastus) that lowers the rate over time:
- Annual (TTURVA) — Projects a full year of 260 benefit days and divides by 12. Graduated reduction accumulates across all 260 days, producing a lower weighted-average coefficient. This is the default and produces the lowest monthly amount for earnings-related benefits.
- Monthly (TTURVA_KK) — Day-level benefit accrual. Tracks earnings-related, basic allowance, and labor market support as separate day counters. Recommended for 2026 to model the May yleistuki transition month-by-month.
- Snapshot (SAS parity) — Computes the monthly rate at the person’s current unemployment duration (“Months Unemployed”), matching the original SAS SISU’s snapshot approach. This produces the highest monthly amount for short-duration earnings-related benefits because graduated reduction only covers the consumed days, not a full year.
- Min/Max Earnings & Steps — Define the earnings range and number of steps for the graph calculations.
- Disposable Income Concept — Five checkboxes that adjust which components are counted in disposable income:
- Church Tax — When checked, church tax is included in direct taxes (reduces disposable income). Only applies to adults marked as church members. Unchecked: church tax is excluded from the income concept.
- Daycare Fees — When checked, municipal daycare fees (PHOITO) are included as fees reducing disposable income. Unchecked: excluded.
- Include VAT — When checked, estimated VAT (value-added tax on consumption) is subtracted from disposable income and shown as “Indirect Taxes” in the breakdown table. VAT is estimated from household consumption patterns using the VVERO module. In the Household tab, VAT and interest costs produce an “extended disposable” line below the main disposable figure; in the Multiyear tab, VAT is folded into the Taxes row.
- Interest — When checked, annual mortgage interest is subtracted from the displayed disposable income. Shown as a separate line (“Disposable after Interest” or “Disposable after VAT & Interest”) in the Household tab, and as a separate table row and chart bar in the Multiyear tab. Interest decreases over time as the mortgage amortizes.
- Property Tax — Property tax (kivero) is included in direct taxes by default (checked). Uncheck to exclude property tax from the disposable income concept. Only relevant for owner-occupied / housing association housing.
- Vary Adult — When more than one adult is defined, select which adult’s earnings to sweep. Defaults to Adult 1.
The Household tab always uses January monthly parameters for the selected year (to ensure correct month-specific values such as unemployment eligibility weeks). Dividend Tax (OSINKO) is not included in household simulations.
Hypothetical mode semantics: The Household tab models a person’s current financial situation. For unemployed persons, “Months Unemployed” sets the graduated reduction tier (longer unemployment → lower rate), but benefits are annualized over a full year because the person is unemployed and continues to receive benefits. This means the displayed monthly amount equals the actual monthly payment rate at that unemployment duration. For sick/parental leave, days are annualized proportionally (a person with 120 sick days receives 120 days’ worth of benefits). This matches the SAS register-data approach where unemployment_days and prior_year_benefit_days are separate fields.
The earnings sweep varies the selected adult's gross earnings from Min to Max in the specified number of Steps, while all other household characteristics remain fixed. This traces out how net disposable income changes with earnings.
Note: EMTR is undefined at €0 earnings (no marginal change to measure), so the EMTR chart starts at the first non-zero earnings step.
Simulate Household (button)
Runs a single-point simulation at the current earnings level. Results appear as two stacked tables:
- Income Breakdown — Shows Market Income → + Benefits → − Direct Taxes → − Fees → = Disposable Income. Values are monthly by default; tick “Show Annual Values” to display annualised figures. If a reform preset is selected, shows baseline and reform columns side by side with the difference. When “Include VAT” is checked, an “Indirect Taxes” section appears below Disposable showing the VAT breakdown, followed by “Disposable after VAT”. When “Interest” is checked, interest costs appear as a separate deduction. Both produce an “extended disposable” line at the bottom.
- Tax/Benefit Breakdown — Lists each module's annual EUR contribution, sorted by magnitude. Taxes appear in red, benefits in teal.
Compute Graphs (button)
Runs the simulation at each earnings step and produces the following charts:
- Budget Constraint — Gross vs net disposable income with a 45° “no government” reference line. Above the 45° line = net beneficiary; below = net taxpayer.
- Income Decomposition — Line chart showing monthly benefits, taxes, fees, and net disposable income as Adult 1's earnings vary. When a reform preset is selected, baseline (solid) and reform (dashed) lines are interleaved by category.
- Income & Benefit Composition — Stacked area chart showing net wages after tax (hatched fill) plus each benefit type (solid fill) across the earnings range. For multi-adult households, each adult’s net salary is shown as a separate hatched area; the non-varied adult’s salary appears as a flat band. With a reform preset, baseline and reform charts appear side by side; the reform chart includes a dashed baseline disposable income overlay. Benefit colours are stable across baseline and reform charts (same column = same colour).
- Net Transfer — Benefits minus taxes (€/month) at each earnings level. The zero-crossing is the breakeven point where the household transitions from net beneficiary to net taxpayer.
- EMTR Curve — Effective Marginal Tax Rate across the earnings range. High EMTR (>80%) indicates poverty traps where earning more barely increases take-home pay.
- Tax & Benefit Decomposition — Stacked area chart showing individual benefit types (positive, above zero) and tax types (negative, below zero) across the earnings range. Benefits use cool tones; taxes use warm tones. Colours are stable across baseline and reform charts (same column = same colour). With a reform preset, baseline and reform decompositions appear as separate charts; the reform chart includes dashed baseline benefit and tax totals as reference lines.
- EMTR Decomposition — Stacked area breaking EMTR into tax increase (red) and benefit withdrawal (teal). The solid yellow line shows total EMTR (sum of components). EMTR can exceed 100% when benefit cliffs cause net income to drop. With a reform preset, baseline and reform decompositions appear separately.
- Net Impact — Only shown when a reform preset is selected. Shows the difference in monthly disposable income (reform minus baseline) at each earnings level.
- Effective Tax Rate (ETR) — Net effective tax rate = (Gross − Net) / Gross. Shows the combined effect of taxes minus benefits at each income level. Negative values mean benefits exceed taxes (net subsidy).
- Participation Tax Rate (PTR) — For the hypothetical household: tax rate on entering employment = 1 − (Net@X − Net@0) / Gross@X. For population analysis: wages are predicted using a Heckman two-step selection model that corrects for sample selection bias (non-employed persons may have systematically lower potential wages than employed persons with identical observable characteristics). If the selection correction is statistically insignificant, the model falls back to simple OLS. PTR = share of predicted wage lost to taxes and benefit withdrawal when entering work. High PTR indicates weak incentives to start working.
- Replacement Rate — Total household benefits at zero earnings as a share of gross earnings at each level. Values above 100% are normal for multi-person households where out-of-work benefits exceed the earnings level being shown.
Reform Comparison
To compare a reform against baseline: create a parameter preset in the Parameters tab, then select it in the Household tab's "Reform Preset" dropdown. Both Simulate Household and Compute Graphs will show baseline and reform results side by side.
PNG Export
Every chart and table card has a download button (top-right corner) to save as a high-resolution PNG file. The exported PNG includes the chart title, data provenance, simulation settings, and SISU Studio attribution.
Multiyear
Purpose
The Multiyear tab tracks how a household’s tax-benefit position evolves across legislation years (2021–2026). It runs the same full SISU pipeline as the Household tab, but repeats the simulation for each year with indexed incomes, rents, and pensions — showing how legislative changes, bracket creep, and indexation interact over time.
Household Configuration
You can define the household in two ways:
- Import from Household Tab — reads the current household configuration directly from the Household tab’s form (adults, children, housing, municipality). Set up your household there first, then click Import.
- Presets — eight built-in household types (single employed, couple with children, retired, student, etc.) using national weighted-average rates (Koko maa). Select from the dropdown — no Household tab setup needed.
The household’s demographic composition (ages, number of children, employment status, benefit type, municipality, tenure) is held fixed across all years. Only incomes and costs are indexed. This isolates the effect of legislative and indexation changes on the same household.
Base Year
The Base Year setting (default 2025) specifies the year to which stated incomes and ages pertain. Incomes are indexed forward from the base year for later years, and backward (downrated) for earlier years. Ages and household composition are held fixed at their base-year values for all simulated years. This lets you define a household as it is today and see how it would have fared under historical legislation, or how future policy changes will affect it.
Parameter Timing
Controls which point-in-time parameter values are used for each year:
- Annual (12-month avg) — averages parameter values across all months of the year (default).
- Year-end — uses December parameter values.
- January / June / December — uses that specific month’s parameter values.
Indexation
Incomes and costs are adjusted year-over-year using Finnish index tables from pindeksi_vuosi.parquet:
| Dimension | Index | Applies to |
|---|---|---|
| Wage growth | ansiotasoindeksi (ansio64) | Non-retired adults’ gross earnings |
| Rent growth | VuokraInd | Housing cost and AS-OY vastike |
| Pension growth | IndKel (KELA index) | Retired adults’ gross earnings |
| CPI deflation | IndKuphi2000 | Real disposable income (when CPI mode = Standard) |
Growth rates are computed as chained year-over-year ratios from the index tables. You can override any growth rate with a fixed annual percentage — leave blank to use the index tables. The Index Reference table at the bottom shows the actual index-derived rates used for each year regardless of overrides.
Mortgage
The Mortgage € and Term fields in the Household Configuration card specify the remaining mortgage balance and remaining term at the base year. The balance is amortized using linear amortization (tasalyhennys / equal principal repayment), where the principal decreases by a fixed amount each year.
balance(year) = mortgage_amount − annual_repayment × (year − base_year)
annual_interest(year) = balance(year) × interest_rate(year) / 100
Example: €150,000 mortgage, 25yr term, base year 2025, rate 3%
2023: balance = €150,000 + 2 × €6,000 = €162,000 → interest €4,860
2025: balance = €150,000 (base year) → interest €4,500
2026: balance = €150,000 − €6,000 = €144,000 → interest €4,320
For years before the base year, the balance is proportionally higher (the household had not yet made those repayments). The balance reaches zero after term years past the base year.
The interest rate for each year can be edited in the Index Tables card (default 3.0%). When importing from the Household tab, the mortgage amount is copied; the term defaults to 25 years (a multiyear-only parameter, since the Household tab simulates a single year).
The mortgage interest deduction (alijäämähyvitys / deficit compensation) in VERO was phased out: 10% deductible in 2021, 5% in 2022, 0% from 2023 onwards. When “Interest” is checked in the income concept toggles, annual interest is subtracted from the displayed disposable income.
CPI Mode
Controls whether results are shown in nominal or real terms:
- None — all amounts in nominal euros. Real = nominal.
- Standard CPI — deflates disposable income using IndKuphi2000 (consumer price index, base year 2000). The start year is the reference point: Real = Nominal × CPI(start) / CPI(year). Shows how purchasing power changes even if nominal income rises.
Income Concept Toggles
Five toggles adjust what counts as disposable income. All require re-running the simulation to take effect:
- Church Tax — includes church tax in direct taxes (only affects church members).
- Daycare Fees — includes municipal daycare fees (PHOITO) as a deduction.
- Include VAT — subtracts estimated VAT (consumption tax) from disposable income. VAT is folded into the Taxes row in the Income Summary table and into tax bars/deltas in all charts. The Tax Burden chart label updates to “Taxes incl. VAT”.
- Interest — subtracts annual mortgage interest from disposable income. A separate “− Interest” row appears in the Income Summary table, and interest bars appear in the Components and Decomposition charts. Interest decreases year-over-year as the mortgage amortizes.
- Property Tax — includes property tax (kivero) in direct taxes (checked by default). Uncheck to exclude from the income concept.
Output
The Show Annual Values checkbox toggles between monthly (default) and annual display for all tables and charts.
The simulation produces two tables and up to six charts:
- Income Summary — Market Income, Benefits, Taxes, Fees (each with Δ abs and Δ % change sub-rows showing year-over-year changes), Disposable Income (also with Δ abs and Δ % change sub-rows), and Real Disposable (also with change sub-rows). When “Include VAT” is checked, the Taxes row includes VAT (labelled “Taxes incl. VAT”). When “Interest” is checked, a separate “− Interest” row appears.
- Purchasing Power & Tax Rates — year-over-year summary with three sections: Disposable Income (level and €/% changes), Relative Changes (income change vs CPI inflation → purchasing power), and Tax Rates (four metrics, see below). When “Include VAT” is checked, the Taxes+Fees/Market metric becomes Taxes+VAT+Fees/Market. Inspired by Labore’s “Esimerkkiperheet” tables.
Tax Rate Metrics
| Metric | Formula | Location | Notes |
|---|---|---|---|
| Net Tax Rate | 1 − disposable / gross | Purchasing Power & Tax Rates | Broadest measure: includes all deductions, benefits, and fees in the disposable concept. Negative values indicate the household is a net transfer recipient (benefits exceed taxes). |
| Taxes+Fees / Market | (taxes + fees) / market income | Purchasing Power & Tax Rates, Tax Burden chart (dashed) | Share of market income absorbed by taxes and fees. When “Include VAT” is checked, VAT is added to taxes (label becomes “Taxes+VAT+Fees / Market”) |
| Tax Rate (% of gross) | (income tax + social contributions) / gross | Purchasing Power & Tax Rates | Matches Labore “Verot ja maksut”; excludes property tax (kivero) |
| Tax Rate incl. Kivero | (income tax + social contributions + kivero) / gross | Purchasing Power & Tax Rates | Same as Tax Rate but includes property tax (kiinteistövero) |
- Disposable Income Over Time — line chart with nominal (solid teal) and CPI-adjusted real (dashed blue) disposable income. The gap between lines represents cumulative inflation erosion.
- Tax Burden Over Time — dual-axis chart: total taxes as bars (left axis, €), with a Taxes+Fees/Market line overlay on the secondary axis (right, %). The Net Tax Rate (ETR) is shown in the Purchasing Power & Tax Rates table; it is omitted from this chart because it can be deeply negative for net transfer recipients, which distorts the y-axis.
- Income Components — stacked bar: market income (teal) and benefits (blue) as positive bars, taxes (red), fees (yellow), and interest (purple, when toggled) as negative bars. Solid white line: nominal disposable. Dashed blue line: real (CPI-adjusted) disposable income. When “Include VAT” is checked, the tax bar includes VAT.
- EMTR Over Time — Effective Marginal Tax Rate at the household’s actual income level for each year. Uses adaptive perturbation: €10/mo for earners above €500/mo, or €500/mo for low/zero-income households (showing the average marginal rate over the first €500/mo of earnings). EMTR = 1 − Δdisposable/Δgross. Hover each data point to see the perturbation size used. Shows how the marginal incentive to earn more evolves as legislation and bracket creep change over time.
- Nominal Disposable Income Decomposition — year-over-year change in nominal disposable income decomposed by source. Each group of bars represents a transition between adjacent years. Benefits are broken out by type (e.g., unemployment, housing allowance, child benefit). When “Include VAT” is checked, VAT is folded into the Taxes bar; when “Interest” is checked, interest changes appear as a separate bar. The white line shows the net change in disposable income (= sum of all bars). Useful for understanding what drove the change: was it indexation of wages, a benefit reform, or bracket creep in taxes?
- Real Disposable Income Decomposition — same as the nominal decomposition but CPI-deflated: each component is multiplied by the CPI deflator before computing year-over-year changes. Market income bars shrink when wage growth ≈ CPI, making policy-driven changes (tax reform, benefit adjustments) more visible. Only shown when CPI deflation mode is enabled.
Index Table Editing
The collapsible “Index Tables” panel in the settings card lets you view and edit per-year growth rates for wages, rents, pensions, CPI, and mortgage interest rates. Growth rate columns are editable — editing a value stores a per-year override that is sent to the simulation. Uniform override fields (Wage Growth %/yr etc.) take precedence over per-year edits when filled. Click “Reset to defaults” to clear all per-year edits.
Indexation & Labore Compatibility
Our indexation uses the same Finnish index tables as the Labour Institute (Labore): ansio64 for wages, VuokraInd for rents, IndKel for pensions. The key difference is CPI deflation: we use a single consumer price index (IndKuphi2000) rather than household-specific CPI deflators from consumption surveys. The “Use Labore indices” button overrides all index dimensions with values from Labore LIITETAULUKKO 1 (2022–2027): wage, rent, and pension growth rates, CPI growth, and average mortgage interest rates. It also enables CPI deflation mode automatically. This gives the closest match to Labore’s published “Esimerkkiperheet 2025–2027” tables.
Presets are inspired by but not identical to Labore’s “Esimerkkiperheet” definitions. Labore states that wage earners represent median income for their gender, occupation, and education. Users should adjust income levels to match specific Labore scenarios.
Income Classification: SISU vs Labore
Labore’s “bruttotulot” includes all taxable income: wages, pensions, and taxable benefits (e.g. unemployment, sickness allowance). SISU separates market income (gross_income = wages + pensions + capital + self-employment) from benefits (total_benefits = all transfers, taxable and tax-free).
- Employed households: Identical — no benefits in gross, so
gross_income= Labore bruttotulot. - Unemployed: SISU shows
gross_income = 0with income reported as benefits; Labore counts the taxable benefit as bruttotulot. This is a presentation difference, not a calculation error. - Retired: SISU treats
gross_earningsas the work pension and simulates kansaneläke on top as a benefit. Labore reports the combined total pension as bruttotulot. Fixtures use the work pension amount so thatgross_income + kansel_benefit ≈Labore bruttotulot. - Tax rate alignment: The Tax Rate (% of gross) metric matches Labore’s “Verot ja maksut / bruttotulot” for employed households. For unemployed households (where gross = 0), the metric is undefined and should not be compared.
Differences from Household Tab
- Tax rate metrics — Purchasing Power & Tax Rates shows four tax rate metrics: Net Tax Rate (broadest), Taxes+Fees/Market, Tax Rate % of gross (matches Labore “Verot ja maksut”), and Tax Rate incl. Kivero. The Household tab shows only ETR.
- Index source — Multiyear uses StatFin index tables by default (ansio64, VuokraInd, IndKel) but can be overridden with Labore assumptions via the “Use Labore indices” button. The Household tab simulates a single year with no indexation.
Unemployment Benefit Calculation Modes
The Unemployment Model dropdown controls how unemployment benefits (TTURVA) are computed. The choice primarily affects earnings-related benefits (ansiosidonnainen päiväraha), which have graduated reduction (porrastus) that lowers the daily rate over time. Basic allowance and labor market support do not have graduated reduction and produce the same result regardless of mode.
Background — graduated reduction (porrastus): Finnish law reduces earnings-related unemployment benefits in tiers based on how many benefit days have been consumed:
- Days 1–40: 100% of the calculated daily rate
- Days 41–170: 80% of the calculated daily rate
- Days 171+: 75% of the calculated daily rate (from 2024)
The effective rate for any given duration is the weighted average across all accumulated days. A person who has consumed more days has a lower weighted coefficient, and therefore a lower average daily benefit. This is what makes the mode choice significant.
The three modes:
- Annual (TTURVA) — The default. Projects a full year of 260 benefit days, computes the total annual benefit (with graduated reduction accumulating across all 260 days), then divides by 12 to produce a monthly figure. Because the graduated coefficient degrades over the full year, this produces the lowest monthly amount for earnings-related benefits. This mode answers the question: “If this person stays unemployed the entire year, what is their average monthly benefit?”
- Monthly (TTURVA_KK) — Day-level benefit accrual that tracks earnings-related, basic allowance, and labor market support as separate day counters. Uses the same 260-day projection as Annual, so the graduated coefficient is the same, but the module provides finer breakdown of benefit components. Recommended for 2026 to model the May yleistuki transition (basic allowance + labor market support merge into yleistuki), since TTURVA_KK can apply different rules per-month.
- Snapshot (SAS parity) — Computes the monthly benefit rate at the person’s current unemployment duration (set by “Months Unemployed”), rather than projecting a full year. The graduated coefficient only covers the consumed benefit days, producing a higher coefficient and therefore a higher monthly rate for anyone who has been unemployed less than ~12 months. This matches the original SAS-based SISU model’s behavior. This mode answers the question: “What is this person’s monthly benefit payment right now, at their current point in the unemployment spell?”
Worked example — earnings-related, 3 months unemployed (65 benefit days):
Assume prior monthly wage of €2,000, which yields a calculated daily rate of approximately €60 before graduated reduction.
Weighted coeff = (40 × 1.00 + 25 × 0.80) / 65 = 0.923
Daily benefit ≈ €60 × 0.923 = €55.4
Monthly ≈ €55.4 × 21.5 ≈ €1,191/mo
Annual / Monthly (260 days):
Weighted coeff = (40 × 1.00 + 130 × 0.80 + 90 × 0.75) / 260 = 0.813
Daily benefit ≈ €60 × 0.813 = €48.8
Annual total ≈ €48.8 × 260 = €12,688
Monthly ≈ €12,688 / 12 ≈ €1,057/mo
Difference: Snapshot is ~13% higher (€134/mo)
Worked example — 12 months unemployed (260 benefit days):
At 12 months, all modes converge because the snapshot duration equals the annual projection:
When does the mode choice NOT matter?
- Basic allowance (peruspäiväraha) — flat daily rate, no graduated reduction. All modes give the same result.
- Labor market support (työmarkkinatuki) — flat daily rate, no graduated reduction. All modes give the same result.
- Child supplements (lapsikorotus) — fixed amounts per child, unaffected by mode.
- Sickness and parental benefits (SAIRVAK) — computed by a separate module, not affected by the unemployment model dropdown.
- Aggregate simulations (Simulation tab) — register data has actual
unemployment_daysper person, so Snapshot is not meaningful. Only Annual and Monthly are relevant there.
Which mode should I use?
- Annual — Best for answering “what is the total annual benefit if this person remains unemployed all year?” Used for annual income comparisons and budget constraint analysis.
- Monthly (TTURVA_KK) — Best for 2026 analysis (yleistuki transition) or when you need component-level breakdown of benefit types by day.
- Snapshot — Best for comparing with the original SAS SISU model, or when you want to show the “current monthly payment” at a specific point in an unemployment spell. Matches what Kela/TE-palvelut would quote as the person’s monthly benefit. Use this if a colleague asks “why does the Python SISU give lower unemployment benefits than SAS?” — the answer is the mode difference.
Typical Use Cases
- Tracking how bracket creep erodes real purchasing power for a fixed-income household
- Comparing the effect of legislative changes (e.g. the 2026 yleistuki transition) across years
- Examining how pension indexation (IndKel) compares to wage growth (ansiotasoindeksi) for retired households
- Modeling mortgage amortization and the phase-out of the interest deduction
- Replicating Labore-style “Esimerkkiperheet” analysis with editable per-year growth assumptions
PNG Export
Every chart and table card has a download button (top-right corner) to save as a high-resolution PNG file. The exported PNG includes the chart title, data provenance, simulation settings, and SISU Studio attribution.
Data
Overview
SISU Studio includes pre-generated synthetic population datasets for 2021–2025, each representing a 15% sample (~840k persons, ~440k households) calibrated to match Finnish aggregate statistics. Two pipeline versions are available:
- v3 (Tax Admin) — incomes sampled from Finnish Tax Administration per-municipality percentile distributions; validated against ~92 per-group tax/benefit checks plus 17 transfer totals. Best for income distribution fidelity and inequality metrics (Gini ±1pp).
- v2 (StatFin) — incomes calibrated from Statistics Finland age×sex means with two-pass disposable income adjustment; validated against 17 transfer totals + Gini + poverty + 10 income deciles. Best for disposable income decile accuracy (ratios 0.86–0.97).
v2 Pipeline — StatFin Income Calibration
Data Sources (v2)
The v2 pipeline draws on 24 StatFin PX-Web tables covering demographics, employment, income, housing, education, and social transfers:
| Domain | StatFin Tables | Variables Informed |
|---|---|---|
| Population | vaerak_11re, vaerak_11ry, vaerak_11rx |
Age, sex, municipality, marital status, religion |
| Employment | tyokay_115c, tyokay_115w, tyti_13aj |
Labor status by age/sex/region, LFS (2025 fallback) |
| Families | perh_12c3, perh_12c4, perh_12c5, perh_12c6 |
Family type, size, children count, spouse age pairing |
| Income | tjt_128c, tjt_11wh, tjt_11py, tjt_14k5, tjt_15at, tjt_118w |
HH income by decile, personal income by age/sex, income class×education |
| Housing | asas_115y, asas_116a, asas_116e, asvu_11x5 |
Tenure, building type, HH size×tenure, regional rents |
| Education | vkour_12bq |
Education level by age/sex/municipality |
| Validation | tjt_122s, tjt_11x3, tjt_128j |
Transfer receipts (17 PT/MT codes), Gini, poverty rate |
Register-based tables cover 2021–2024. For 2025, register data from 2024 is combined with Labour Force Survey (tyti_13aj) rates as scaling factors.
Method (v2)
Synthetic populations are constructed in five sequential phases:
| Phase | Description |
|---|---|
| 1. Population | Create persons matching StatFin age×sex marginals exactly. Assign municipality, family status, education, employment status, religion, and marital status proportionally from their respective StatFin distributions. Construct households using family structure targets (couple/single-parent/single-person shares, children counts, spouse age pairing). |
| 2. Income | Assign personal incomes (wage, pension, capital, entrepreneurial) using age×sex means from tjt_11py with education-gradient multipliers from tjt_14k5. Self-employment income is split into earned (70%) and capital (30%) portions to match the VERO module’s separate tax treatment. Calibrate household income decile distribution against tjt_128c (39 income components by equivalized decile). |
| 3. Attributes | Assign housing (tenure, dwelling type, housing cost, property values), leave status (sick leave, parental leave from Kela statistics), unemployment duration with prior-year carry-over days and benefit routing (LFS-calibrated), student status, consumption (6 VAT categories), VERO input fields (region code, birth month, mortgage interest, first-home interest, capital deductions), and edge cases. |
| 4. Calibration | Household-level Iterative Proportional Fitting (HIPF) across 43 constraint groups: 20 age×sex, 7 labor status, 16 tenure×HH size. Scales weights to national population totals (5.5–5.7M persons depending on year). Weight CV ≈ 0.04. |
| 5. Validation | Run the full SISU simulation (all 17 tax-benefit modules) on the synthetic population. Compare simulated aggregate outputs against StatFin external targets: Gini coefficient (tjt_11x3), poverty rate (tjt_128j), 17 social transfer totals (tjt_122s), and 10 income decile means (tjt_128c). |
Total pipeline time: ~45 seconds for 840k persons. Each dataset uses seed 42 for reproducibility. Equivalization follows the OECD modified scale (1.0 / 0.5 / 0.3) for all distributional comparisons.
Validation Results (v2)
Each v2 dataset is validated against StatFin aggregate targets. Results by year:
| Year | Persons | Households | Gini (sim / target) | Poverty (sim / target) | Transfers OK | Overall |
|---|---|---|---|---|---|---|
| 2021 | 832,070 | 430,080 | 33.1 / 26.7 | 13.8% / 13.2% | 14 / 17 | PARTIAL |
| 2022 | 834,431 | 433,650 | 32.8 / 26.7 | 15.2% / 13.4% | 14 / 17 | PARTIAL |
| 2023 | 840,398 | 438,241 | 32.4 / 26.2 | 16.6% / 13.4% | 16 / 17 | PARTIAL |
| 2024 | 845,225 | 441,788 | 32.8 / 28.4 | 17.3% / 14.2% | 16 / 17 | PARTIAL |
| 2025 | 845,225 | 441,788 | 32.7 / 28.4 | 16.8% / 14.2% | 16 / 17 | PARTIAL |
Transfer validation compares 17 StatFin PT/MT transfer codes (child benefit, housing allowance, pensions, unemployment benefits, etc.) against SISU-simulated weighted totals. A transfer passes if the simulated-to-target ratio is within 0.3–3.0 (standard) or 0.39–2.5 (critical transfers: disability, survivor, social assistance, pensioner housing). Near-perfect transfers include child benefit (ratio ~0.98), home care subsidies (~0.99), and student aid (~1.14). Gini tolerance is ±3.5 percentage points; poverty tolerance is ±3 percentage points. Income decile tolerance is ±20%. Two-pass income calibration closes the per-decile disposable income gap (ratios 0.86–0.97).
v2 Known Limitations
- Gini overestimation — Simulated Gini exceeds StatFin targets by 4–6 pp across all years. Two-pass income calibration improved decile ratios to 0.81–0.97 but the structural Gini gap persists
- Transfer accuracy varies by year — 2023–2025 achieve 16/17 transfers within tolerance; earlier years (2021–2022) have 14/17 due to parameter and population differences
- Poverty overestimation — Years 2022–2024 show simulated poverty 1.8–3.2 pp above StatFin targets, driven by VERO deductions (mortgage interest, capital deductions) reducing taxes disproportionately for higher-income groups
v3 Pipeline — Tax Administration Income Distributions
Data Sources (v3)
The v3 pipeline replaces the v2 income assignment with Finnish Tax Administration (Verohallinto) income register data, providing per-municipality, per-beneficiary-group income distributions:
| Source | PxWeb Table | Content |
|---|---|---|
| Tax Admin | alue_101 |
430+ income/tax/benefit variables × 12 beneficiary groups × 333 municipalities × 16 statistics (incl. percentiles P10–P90) |
| Tax Admin | alue_103 |
Income by age group (age gradients for income assignment) |
| Tax Admin | alue_104 |
Income by sex (sex gradients for income assignment) |
| StatFin | 24 tables (shared with v2) | Demographics, employment, housing, education (population synthesis & attributes) |
Tax Admin data covers 2021–2024. For 2025, the 2024 distributions are used with 2025 population demographics and SISU parameters.
Method (v3)
The v3 pipeline shares population synthesis (Phase 1), attributes (Phase 3), and IPF calibration (Phase 4) with v2. The key difference is income assignment (Phase 2):
| Phase | Description |
|---|---|
| 1. Population | Identical to v2 — StatFin-calibrated age×sex×municipality distributions. |
| 2. Income (v3) | For each person, draw a random quantile and interpolate income amounts from Tax Admin percentile distributions (alue_101: P10–P90 by municipality × beneficiary group). Each income type (wages, pensions, capital, entrepreneurial) uses the group-specific distribution. Self-employment income is split into earned (70%) and capital (30%) portions. Participation rates control which fraction of a group receives each income type (e.g., ~45% of wage earners have capital income). |
| 3. Attributes | Shared with v2 — housing, leave, unemployment, consumption — plus VERO input fields: region code (maakunta, for Åland tax reduction), birth month (for contribution prorating), mortgage interest, first-home interest, and capital deductions (for deficit compensation). |
| 4. Calibration | Identical to v2 — IPF with 43 constraint groups, household-level weights. |
| 5. Dual Validation | Run full SISU simulation, then validate against (a) Tax Admin aggregates (~92 per-group checks on taxes, benefits, and income totals) and (b) StatFin transfer totals (17 PT/MT codes, Gini, poverty, deciles — same as v2). |
v3 omits v2's two-pass income adjustment because incomes already match the real per-municipality distribution by construction. Total pipeline time: ~70 seconds for 840k persons.
Validation Results (v3)
v3 datasets have dual validation: Tax Admin checks (per-group accuracy) and StatFin transfer validation (aggregate accuracy):
| Year | Persons | Tax Admin Checks | Gini (sim / target) | Transfers OK |
|---|---|---|---|---|
| 2021 | 832,070 | 49 / 92 (53%) | 28.6 / 26.7 | 13 / 17 |
| 2022 | 834,431 | 51 / 91 (56%) | 28.3 / 26.7 | 15 / 17 |
| 2023 | 840,398 | 49 / 91 (54%) | 26.3 / 26.2 | 16 / 17 |
| 2024 | 845,225 | 48 / 92 (52%) | 27.1 / 28.4 | 16 / 17 |
| 2025 | 845,225 | 46 / 92 (50%) | 26.9 / 28.4 | 15 / 17 |
Tax Admin validation compares weighted SISU outputs against per-group national totals from the Tax Administration income register. Tolerances: taxes 60–150%, benefits 40–200%, income 70–140%. The ~50% pass rate reveals genuine SISU module discrepancies rather than data quality issues — the income inputs match reality by construction.
v3 Known Limitations
- No self-employed population — v2 population synthesis does not generate self-employed persons; Tax Admin group “4” validation checks always fail
- Church tax +50% — Municipal taxable income is inflated due to missing deductions (union fees, commuting expenses); structural limitation
- Social assistance 2.5× — TOIMTUKI take-up rate over-simulated due to income-tested benefit threshold effects
- Cross-group benefits — Employed persons with unemployment spells receive benefits in reality but not in the static synthetic population
- Decile ratios lower than v2 — v3 omits the two-pass disposable income adjustment, trading decile accuracy for income distribution fidelity
General Information
Shared Limitations
- Not register data — Synthetic populations match aggregate statistics but do not reproduce individual-level joint distributions
- No wealth data — Property and financial wealth are proxied from income; no public wealth microdata is available
- Static annual snapshot — Employment status, income, and household composition are fixed for the year; no within-year transitions
- 2025 uses 2024 register base — Both v2 and v3 use 2024 register data with 2025 SISU parameters for 2025 datasets
Dataset Statistics
Selecting a dataset in the Data tab shows detailed statistics across five tabs:
- Summary — Sample size, pipeline version, weight statistics, IPF convergence, overall pass/fail
- Demographics — Age-sex distribution, household size, employment status
- Income — Gini/poverty comparison, income decile means, fiscal aggregates
- Validation Benchmarks — For v3: Tax Admin per-group tax/benefit checks + 17 transfer totals + inequality + deciles. For v2: 17 transfer totals + inequality + deciles
- Validation Report — For v3: pipeline architecture, v3-vs-v2 comparison, category pass rates, known limitations. For v2: IPF calibration detail, 43 constraint groups, weight distribution
References
- Statistics Finland PX-Web API:
pxdata.stat.fi/PxWeb/api/v1/fi/StatFin/ - Finnish Tax Administration PX-Web API:
vero2.stat.fi/PxWeb/api/v1/fi/Vero/ - StatFin income distribution statistics:
tjt(Tulonjakotilasto) - StatFin population structure:
vaerak(Väestörakenne) - StatFin employment:
tyokay(Työssäkäynti),tyti(Työvoimatutkimus) - Tax Admin income tables:
alue_101(Tulonsaajat),alue_103(Ikä),alue_104(Sukupuoli) - OECD modified equivalence scale: first adult = 1.0, additional adults = 0.5, children <14 = 0.3
- Poverty threshold: 60% of median equivalized disposable income (EU-SILC / Eurostat standard)
Export
Export Modes
The Export tab supports three modes:
- Single Run — Export data from one simulation run. Select the run ID, dataset type, and format.
- Compare Runs — Export a comparison of two runs (baseline vs reform). Select both run IDs, dataset type, and format. For Summary and Indicators datasets, the exported file contains
baseline,reform,delta, andpct_changecolumns. For Persons and Households datasets, both runs are stacked vertically with an addedrun_typecolumn ("baseline" or "reform") andrun_idcolumn. - Multiple Export — Select multiple completed runs and export each as a separate file in a ZIP archive. Useful for batch-exporting results from “Run All Parameter Presets” or comparing several reform scenarios offline.
Tip: Exported Parquet and CSV person-level files can be re-imported via “Import from File” in the Simulation tab, allowing you to reload and re-analyze previous results without re-running the simulation.
Dataset Types
- Persons — Individual-level microdata with all input variables and simulated output columns (taxes, benefits, disposable income, etc.). One row per person.
- Households — Household-level microdata enriched with aggregated person-level totals (
hh_disposable_income,hh_wage_income,hh_vero_tax, etc.) and household size. One row per household. - Summary — Structured table of key results in
category | metric | valueformat. Includes Module Totals (per-module tax/benefit sums), Key Indicators (Gini, poverty rate, median income, percentile ratios), Household Indicators (equivalized metrics), Fiscal Aggregates (total taxes and benefits by module), Redistribution indices (Reynolds-Smolensky, Kakwani, S80/S20, S90/S10), Decile Summary (10 deciles with income shares, tax rates, poverty rates), Poverty by Group (age, employment, family type), and Multi-Threshold Poverty (60/50/40%). - Full Indicators — Comprehensive export of ALL analysis data in
category | metric | valueformat. Includes everything in Summary plus Lorenz curves, histograms, income decomposition, effective/marginal tax rate distributions, benefit phase-out curves, EMTR/PTR densities, age distribution, demographic breakdowns, and redistribution profiles. This captures all data visible in the Analysis tab charts and tables.
Formats
- CSV — Universal text format for spreadsheets (Excel, Google Sheets) and any programming language.
- Parquet — Efficient columnar binary format. Recommended for large datasets and use in Python (pandas/polars), R (arrow), or Stata.
All Simulation Runs
Lists all completed simulation runs in the current session with their run IDs, configuration, and timestamps. Use the Refresh button to update the list.
Audit Log
Chronological record of all session operations — simulation runs, data generation, parameter changes, and exports. Useful for tracking what was done and in what order.
Modeling Details
The 17 Modules
Taxes
Fees
Benefits
2026 Reforms (SISU 26.00)
The following 2026 legislative reforms have been ported from SISU 26.00:
| Module | Reform |
|---|---|
| TTURVA / TTURVA_KK | Yleistuki (general support) replaces peruspäiväraha (basic unemployment allowance) and työmarkkinatuki (labor market support) from May 2026. In 2026 annual mode, computed as 4/12 old scheme + 8/12 new scheme. |
| TOIMTUKI | Earned income deduction age guard: from March 2026, the 20% earned income deduction only applies to persons aged 55+ (previously all ages). |
| SAIRVAK | Age-based parameterization: daily allowance rates now use age-specific parameters. Partial sickness benefits added from 2026 (40-60% of full daily allowance for partial return-to-work). |
SAS Bug Corrections
The original SISU model is written in SAS, a language where IF statements don't chain into else-if by default — each IF is evaluated independently. This caused two employer contribution variables (TAMAKSU module) to silently produce wrong values for municipal-sector workers. The Python port corrects these by using proper conditional logic.
Two bugs in the original SAS TAMAKSU module are corrected in this Python port:
| Variable | SAS Problem | Python Correction |
|---|---|---|
| SAVA Sickness insurance rate |
Non-chained IF statements cause sector 3 to be overwritten by the ELSE branch, giving it SavaYks (private) instead of SavaKun (municipal) |
Proper else-if chain: sector 3 → sava_kun, sector 8 → sava_val, else → sava_yks |
| RYHE Group life insurance rate |
NE 3 OR NE 8 is always true (logical tautology), so ALL sectors incorrectly get RyHeYks |
Sector 3 → ry_he_kun (municipal), else → ry_he_yks (private/other) |
Note: With default parameters where municipal and private rates are equal, these corrections have no numerical impact. They produce correct results only if sector-specific rates ever diverge.
Module Execution Order
SISU runs 17 modules in a fixed order matching the original SAS-based KOKO simulation. The order matters because later modules may depend on outputs from earlier ones. Each module is tagged Household or Individual to indicate its unit of analysis. Simulated benefits and taxes are listed as sub-bullets; italicised items are non-monetary outputs such as day counts, rates, thresholds, or intermediate calculations.
- SAIRVAK — Sickness & Parental Insurance (Individual)
- Sickness daily allowance (sairauspäiväraha)
- Parental daily allowance (vanhempainpäiväraha)
- Enhanced maternity allowance (korotettu äitiysraha)
- Enhanced parental allowance (korotettu vanhempainraha)
- Partial sickness benefit (osittainen sairauspäiväraha)
- Rehabilitation benefit (kuntoutusraha)
- Special care allowance
- Employer-paid sickness period
- From 2026: age-based eligibility (16–67) applies to sickness benefits only; parental/maternity have no age limit
- Prior wage for synthetic persons: derived from wage_income ÷ (1 − leave_days/260), i.e. the full annual wage had the person not been on leave
- TTURVA — Unemployment Benefits, annual (Individual)
- Earnings-related daily allowance (ansiosidonnainen päiväraha)
- Basic daily allowance (peruspäiväraha — discontinued May 2026)
- Labor market support (työmarkkinatuki — discontinued May 2026)
- Universal support / Yleistuki (from May 2026, replaces basic + labor market)
- Adjusted benefit for part-time work (soviteltu päiväraha)
- Graduated benefit reduction (porrastus, from 2024) — earnings-related benefits are reduced over time using a weighted-average coefficient across three tiers: full rate for
PorrasPv1days (~40),PorrasKerroin1(80%) for the nextPorrasPv2−PorrasPv1days (~130), andPorrasKerroin2(75%) thereafter. Prior-year Q4 benefit days (prior_year_benefit_days) shift the tier boundaries forward, so long-term unemployed who carried over days from the previous year enter reduced tiers sooner - Child supplements (lapsikorotus)
- TTURVA_KK — Unemployment Benefits, monthly variant (Individual)
- Alternative to TTURVA (mutually exclusive) — selected via the Unemployment Model dropdown on Simulation and Household tabs
- Converts monthly benefit days × daily rate → annual euro amounts (×12 annualization)
- Uses per-type day inputs: benefit_days_earnings, benefit_days_basic, benefit_days_labor_market
- Uses same parameter table (ptturva) and same benefit logic as TTURVA
- More granular than TTURVA — provides separate output columns for each benefit type, useful for per-type analysis
- TTURVA (Annual, default) — Computes a single annual total:
unemployment_days × daily_rate, capped at 260 days. Usesunemployment_daysas input. - TTURVA_KK (Monthly) — Computes per-type monthly amounts annualized ×12:
benefit_days × daily_rate × 12, capped at 21.5 days/month. Usesbenefit_days_earnings,benefit_days_basic,benefit_days_labor_marketas inputs. - KANSEL — National Pension (Individual)
- National pension (kansaneläke)
- Guarantee pension (takuueläke)
- Care allowance for pensioners (hoitotuki)
- Disability allowance (vammaistuki)
- Child pension (lapseneläke)
- Widow/widower pension with income-tested supplement (leskeneläke) — supplement reduced by 50% of income above €787/year; income = wage×0.6 + capital + pension
- Guarantee pension (takuueläke) — tops up total pension to €976.59/month; only for persons whose combined pension is very low
- KOTIHTUKI — Home Care Allowance (Household)
- Care allowance for under-3s (hoitoraha)
- Income-tested supplement (hoitolisä)
- Partial care allowance (osittainen hoitoraha)
- Flexible care allowance (joustava hoitoraha)
- Eligibility: household has a child under 3 not in municipal daycare
- Income-tested supplement (hoitolisä): reduced at 7.9–11.5% of income above family-size thresholds (€1,160–€1,700/month); max supplement €202/month
- OPINTUKI — Student Aid (Individual)
- Study grant (opintoraha)
- Housing supplement (asumislisä) — reinstated from August 2025 with municipality-group rent ceilings
- Guardian supplement (huoltajakorotus)
- Parent income adjustments
- Student loan guarantee (valtiontakaus)
- Earnings clawback (takaisinperintä) — parameterized but currently inactive (rate = 0%)
- Guardian supplement (huoltajakorotus) — ~€100/month for student parents; populated in synthetic data (7% of female students 20+, 3% of male students 25+)
- VERO — Income Tax (Individual)
- State income tax (valtion tulovero)
- Municipal income tax (kunnallisvero) — uses per-municipality rates from the KUNTAVERO parameter table. The original SAS model uses per-person rates from register data (
ayricolumns). The Python implementation has a fallback to theKeskKunnProsaverage rate if KUNTAVERO is not loaded ormunicipality_codeis missing, but this does not occur with the current synthetic datasets. - Church tax (kirkollisvero)
- Capital income tax (pääomatulon vero) — two-rate structure: 30% up to PORaja (~€30,000 for 2021–2026), 34% above. Capital income includes investment returns, rental income, and the capital portion of self-employment income (YRITYSTP)
- Self-employment income split — SE income is divided into earned and capital portions. Each receives a separate 5% entrepreneurial deduction (YRVAHA for earned SE, YRVAHP for capital SE). Earned SE enters the earned income tax base; capital SE enters the capital income tax base
- Deficit compensation (alijäämähyvitys — mortgage interest deducted from earned income tax)
- Åland / Ahvenanmaa state tax reduction (maakunta 21)
- Pension income surcharge (eläketulon lisävero)
- YLE broadcasting tax
- Sickness insurance contribution
- Employee pension & unemployment contributions (birthday-prorated)
- Municipal tax rates vary by municipality (loaded from pkuntavero.parquet); editable per-municipality in the Parameters tab under KUNTAVERO
- Dividend income (OSINKO module) is optional and off by default; when enabled, dividend capital/earned splits flow into VERO’s tax bases automatically
- KIVERO — Property Tax (Household)
- Primary residence building tax (pientalo)
- Land tax (maapohja)
- Vacation home tax (vapaa-ajan asunto)
- AS-OY housing association property tax — estimated from maintenance fees (
vastike) using HOITOSUUS ratios by building type and construction decade (e.g. kerrostalo 2010+: 10.04%, rivitalo 1980s: 6.87%)
- OSINKO — Dividend Tax (Individual)
- Listed dividends: 85% taxable as capital income, 15% tax-free
- Unlisted dividends: yield threshold = 8% × net equity. Below threshold: 25% capital income (below €150k cap) or 85% (above cap). Above threshold: 75% earned income + 25% tax-free
- Capital income taxed at 30% up to €30,000 (PORaja), 34% above
- Earned income component passes to VERO (integrated into earned tax base)
- Off by default — enable via “Dividend Tax (OSINKO)” toggle in Simulation tab. When enabled, OSINKO runs before VERO and its outputs flow into VERO’s global capital/earned income tax bases
- TAMAKSU — Employer Social Insurance Contributions (Individual)
- Employer sickness insurance
- Employer unemployment insurance
- Employer pension contribution
- Accident insurance
- Group life insurance
- TAMAKSU is an employer cost — it does not reduce employee disposable income directly, but is included in the labour cost wedge and total tax burden analysis
- LLISA — Child Benefit & Family Supplements (Household)
- Child benefit by birth order (lapsilisä)
- Under-3 supplement
- Single parent supplement (yksinhuoltajakorotus)
- Maternity grant (äitiysavustus)
- Maintenance support (elatustuki)
- Birth order: children ranked within household by age (oldest = 1st). Higher-order children receive progressively higher per-child amounts; single-parent supplement is a flat addition per child
- ELASUMTUKI — Pensioner Housing Allowance (Individual)
- Pensioner housing allowance (eläkkeensaajan asumistuki)
- Eligibility: retired persons (mutually exclusive with general housing allowance ASUMTUKI)
- Income test: own responsibility = €681/year + 41.3% × max(0, income − threshold); thresholds vary by household type (€10,280 single, €14,746–€16,783 couple)
- Coverage: 85% of (eligible housing costs − own responsibility), capped by municipality group (€7,493–€9,287/year across 4 groups)
- Minimum payment: €7.46/month (below this = €0)
- ASUMTUKI — General Housing Allowance (Household)
- Housing allowance (yleinen asumistuki)
- Formula: 70% × (min(actual cost, max cost by municipality) − basic deductible); min €15/month
- Basic deductible: 50% × max(0, income − threshold), where threshold = €667 + €94/adult + €296/child
- Earned income deduction abolished for non-students from April 2024
- Three tenure types: renter (rent cap), AS-OY housing association (maintenance/financing split), and owner-occupied (heating norms)
- PHOITO — Daycare Fees (Individual, per child)
- Income-based daycare fee (päivähoidon maksu)
- Sibling discounts (2nd child 40%, 3rd+ 20% of 1st child’s fee)
- Fee formula: 10.7% × max(0, income − threshold); threshold varies by family size (values from parameter table; vary by year)
- Maximum: €295/month per 1st child; minimum: €28 (below this = €0; values from parameter table; vary by year)
- TOIMTUKI — Social Assistance (Household)
- Social assistance / last-resort income support (toimeentulotuki)
- Need norm by household composition
- Housing cost coverage
- Earned income disregard (etuoikeutettu tulo) — €150/month cap; from March 2026 restricted to under-18s only (adults: €0)
- Last-resort: TOIMTUKI depends on all other benefit modules and runs last in the pipeline, deducting all prior benefits from the need calculation
- VVERO — Value Added Tax (Household)
- VAT by product category (standard, food, culture, zero-rated)
- Effective VAT rate on consumption
VAT rate categories and coverage
The VVERO module maps 135 COICOP-based product categories to 7 VAT rate classes. Each household’s consumption is split across these categories and VAT is computed per product as:
netto = gross / (1 + rate/100),ALV = netto × rate/100.Code Name 2021–24.8 2024.9+ 2025 2026 Coverage S1 Standard 24% 25.5% 25.5% 25.5% Clothing, alcohol, tobacco, furniture, fuel, vehicles, electronics, cosmetics, personal care R1 Reduced 1 14% 14% 14% 13.5% Food & non-alcoholic drinks, restaurants, pet food. From 2025: also medicines, books, domestic transport, accommodation, sports/culture/cinema/museums, diapers, sanitary products (moved from R2/S1) R2 Reduced 2 10% 10% 10% 10% Newspapers & magazines only (from 2025; previously also books, culture, transport, medicines, accommodation) M1 Mixed 1 13.9% 14.2% 14.2% 14.2% Domestic package travel (margin scheme) M2 Mixed 2 5.6% 4.6% 4.6% 4.6% Foreign package travel (margin scheme) S0 Zero-rated 0% 0% 0% 0% Housing rents, healthcare, education, insurance & finance, social security, postal services, foreign transport, gambling, exports R3 Special 0% 0% 0% 0% Newspapers pre-2013; no products assigned since 2013 Mixed rates (M1, M2) — margin scheme
Package travel sold as a travel agent service (matkatoimistopalvelu) is taxed under the VAT margin scheme: VAT is charged on the organiser’s margin, not the full package price. The margin M = customer price − bought-in travel-service costs (VAT-inclusive), and VAT = M × rate / (100 + rate). The M1 and M2 rates in the parameter table are effective rates on the full price — derived from average observed margins. For foreign packages (M2), any portion of the trip where services are supplied outside the EU is VAT-exempt in Finland, so only the taxable portion of the margin contributes to Finnish VAT, making the effective rate substantially lower than for domestic packages (M1).
2025 reform: 20 product categories were reclassified — domestic transport, books, medicines, accommodation, sports/culture, and hygiene products moved from R2 or S1 to R1, leaving only newspapers & magazines in R2.
- EPIDEM — Epidemic Benefits (Individual)
- Epidemic compensation (epidemiakorvaus — COVID-era, currently €0)
- Epidemic support (epidemiatuki — COVID-era, currently €0)
Both modules are mutually exclusive — select one via the Unemployment Model dropdown. Both use the same parameter table (ptturva) and the same benefit logic. Both output annual EUR values.
For 1–11 months unemployment, both produce identical results. At full-year (12 months), there is a tiny 2-day cap difference (260 vs 258 effective days, ~€160/year) inherent to monthly vs annual capping.
Example: An unemployed person with 3 months earnings-related benefit, prior wage €3,000/month, receives ~€4,860 annual benefit with either module.
2026 transition: Both modules handle the May yleistuki transition — TTURVA uses 4/12 old + 8/12 new prorating, while TTURVA_KK applies it month-by-month.
SAS parity: Both modules match the original SAS implementation. The 2-day full-year difference is an inherent monthly-vs-annual cap distinction, not a bug.
Social assistance (TOIMTUKI, #15) acts as the residual safety-net income. It depends on most other modules' outputs — benefits received, taxes paid, and housing costs — to calculate the remaining gap to the guaranteed minimum income level. Modules 16–17 (VVERO, EPIDEM) are independent and run after TOIMTUKI.
For Household-tagged modules, the model aggregates income at the household level, assigns the full benefit to the household head, and records €0 for other members. In the original SAS model, the reference person is pre-assigned in the register data (asko = 1). The Python implementation approximates this by ranking adults by income (highest first), breaking ties by age (oldest first).
Benefit-day annualization. This port matches the SAS formula: benefit_days × monthly_rate / TTPaivia where TTPaivia = 21.5. For a full year (260 days), this gives 260/21.5 ≈ 12.093 months’ worth of benefits.
Duration limits. The SAS model supports optional earnings-related benefit duration caps (300/400/500 days depending on work history and age), but these are off by default (APKESTOSIMUL = 0). This port matches the default SAS behavior — no duration caps are applied.
Partial support (osittainen työmarkkinatuki / Yleistuki). In the SAS model, unemployed young adults who have not met the work condition (työssäoloehto) and live with their parents receive reduced benefits based on their parents’ income. The register data provides explicit day counts (dtospv) and parent income (dtopalkk). In our synthetic data, lives_with_parents=True is generated for all child_in_family persons (students, unemployed, employed, inactive), and parent_income is derived from adult income in the same household. The Yleistuki partial support formula is fully implemented (matching SAS OsRaja/OsTarvPros/OsPros). In the Household tab, use the “Lives w/ parents” dropdown (Extra options, ages 18–24) to select parent(s) from non-spouse adults who are 15+ years older; their gross earnings are used as parent income for means-testing.
Reference
About This Tool
SISU Studio is an unofficial Python port of the Finnish SISU microsimulation model, featuring a web-based user interface and pre-generated synthetic data. The original SISU model, maintained by Statistics Finland (Tilastokeskus), uses real administrative register data for official policy analysis.
This tool is for example calculations and educational purposes. The simulation code is based on SAS macros from github.com/StatisticsFinland/mikrosimulointi (errors possible in porting).
This project is not endorsed by, affiliated with, or supported by Statistics Finland. For official analysis with real data, see the Tilastokeskus SISU page.
Attribution & Licensing:
See NOTICENOTICE
SISU Studio
SISU Studio is an unofficial Python port of the SISU microsimulation model.
Original Work
The original SISU microsimulation model is developed and maintained by Statistics Finland (Tilastokeskus). The SAS source code is available at: github.com/StatisticsFinland/mikrosimulointi
Licensed under the BSD 3-Clause License. See LICENSE for the full license text.
Derivative Work
This derivative work (SISU Studio) was created by Jesse Lastunen and includes: a Python re-implementation of the SAS simulation modules, a web-based user interface (SISU Studio), a synthetic data generator for educational use, and a REST API layer.
No Endorsement
This project is not endorsed by, affiliated with, or supported by Statistics Finland. The name “SISU” is used solely to identify the microsimulation model being ported. Any errors in the Python implementation are the sole responsibility of the derivative work author.
Porting Caveat
The simulation logic has been translated from SAS to Python. While best efforts have been made to maintain accuracy, porting errors may exist. This tool is intended for educational and example calculations only. and LICENSEBSD 3-Clause License
Copyright © 2025, Statistics Finland
Copyright © 2025–2026, Jesse Lastunen (derivative work)
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. for full attribution, authorship, and licensing details.
References:
Statistics Finland (2026) SISU microsimulation model (version 26.00) [software]. Helsinki: Tilastokeskus. Available from: github.com/StatisticsFinland/mikrosimulointi
Statistics Finland (2025) SISU-malli: Käyttöopas tulonsiirtojen ja verotuksen mikrosimulointiin [technical manual]. Helsinki: Tilastokeskus. Available from: stat.fi/media/uploads/sisu_kasikirja.pdf
Creator:
Jesse Lastunen, lastunenj(at)gmail.com, policy.fi
Run Configuration
Latest Results
Simulations
Module & Timing
Parameter Presets
Name and save parameter combinations for reuse.
Saved Presets
Parameter Editor
Edit parameter values below or import values from illustrative reforms or other years. Click "Create New Preset" to save.
Analysis Mode
Fiscal Aggregates: Taxes
Tax revenue and contribution collection by module (annual, weighted), all non-zero modules. Counts for Total Tax, Contribution & Fee Collections only include households and individuals paying any taxes, contributions, or fees.
Fiscal Aggregates: Benefits
Benefit spending by module (annual, weighted), all non-zero modules. Counts for Total Benefit Spending only include households and individuals receiving any benefits.
Taxes by Ventile
Mean annual taxes per person by equivalized income ventile, all non-zero modules
Benefits by Ventile
Mean annual benefits per person by equivalized income ventile, all non-zero modules
Income & Tax Concentration
Share of individuals, gross income, and taxes paid by income bracket (working-age earners)
Redistribution Profile
Mean annual net transfer (benefits − taxes) per person by market-income ventile.
Decile Summary
Per-person weighted means by equivalized disposable income decile. Effective Tax Rate = taxes / market income. Disp. Income column shows % change from market income in brackets.
Distributional Indicators
Distributional and progressivity indicators
Poverty & Median Income by Demographics
At-risk-of-poverty rates and median equivalized income by demographic group
Poverty & Median Income by Labor Status, Education
At-risk-of-poverty rates and median equivalized income by economic activity
Poverty Thresholds & Income
Poverty lines and income of the poor at 60/50/40% thresholds
Poverty Rate & Gap
Poverty rates and gap measures at 60/50/40% thresholds
Income Distribution
Distribution of annual equivalized disposable income across the population (person-weighted)
Age Distribution
Population count by 5-year age group (person-weighted). Line shows each group’s share of total equivalized disposable income.
EMTR Components
Mean EMTR decomposed into tax increase and benefit withdrawal by wage bracket (working-age earners, 18–64). EMTR = 1 − ΔDisposable/ΔGross, using €100/month per-person wage perturbation.
EMTR Spread by Income
Distribution of individual EMTR (P5, mean, median, P95) within each wage bracket (working-age earners, 18–64). Wide spreads indicate household circumstances cause different marginal rates at similar earnings.
EMTR Distribution
Kernel density of individual EMTR across working-age wage earners (18–64). Vertical dashed line marks the median.
Participation Tax Rate (PTR) Distribution
Kernel density of entry PTR for unemployed benefit recipients. Wages predicted via Heckman two-step selection model; PTR = 1 − (Disposable, employed − Disposable, unemployed) / Predicted Wage.
Lorenz Curve
Cumulative market income and disposable income share vs cumulative population. Dashed = perfect equality.
PTR by Predicted Wage Quintile & Benefit Group
Median entry PTR by predicted-wage quintile and benefit group for unemployed recipients. ER = earnings-related, Basic/LMS = basic / labor market / yleistuki.
Average Income Tax Rate by Gross Earnings
Weighted average income tax rate by €500 gross earnings bin (wage earners ≥€500). Shaded band = smoothed P2.5–P97.5 spread. ATR = income taxes / market income (excludes social contributions, property tax, VAT, and fees).
Marginal Tax Rate for Wage Earners
Statutory MTR for a standard wage earner (age 40, church member) in €500 bins. Includes income taxes and employee social contributions; excludes employer costs, VAT, property tax. Lines show selected year and prior years.
Household & Members
Settings
Vary the selected adult's earnings to compute income composition and labor incentive curves.
Income Breakdown
Household Configuration
Select a preset or import from the Household tab.
Multiyear Settings
Index Tables
Loading index data...
About Datasets
Pre-generated synthetic population datasets are available in two pipeline versions:
- v3 Tax Admin — incomes from Finnish Tax Administration percentile distributions, validated against ~92 per-group tax/benefit checks
- v2 StatFin — incomes from StatFin age×sex means with two-pass calibration, validated against 17 transfer totals + inequality metrics
Select a dataset from the browser to view its statistics and validation results.
Datasets
Export Data
Export microdata or summary statistics from completed simulation runs. Single Run exports one run; Compare Runs includes baseline/reform/delta/pct_change columns; Multiple Export bundles selected runs into a ZIP. Exported Parquet/CSV files can be re-imported via “Import from File” in the Simulation tab. See the Guide tab for descriptions of each dataset type.