Contents
| Answer | ||
| 1 | Bottom line | the three numbers that decide it |
| Results | ||
| 2 | Net worth over time | percentile bands, both positions |
| 3 | Final net worth distribution | where the outcomes land |
| 4 | How it feels | the odds read the way people feel them |
| 5 | Retirement and risk | when either position can stop working |
| Costs | ||
| 6 | Income breakdown | every wage-cost item, side by side |
| 7 | Cross-border taxes | only when a position crosses a border |
| Appendix | ||
| 8 | Report statistics | percentiles, spread and shape (technical) |
| 9 | Your choices | the fields you changed |
| 10 | All inputs as run | every field as run, defaults included |
| 11 | Assumptions (as run) | the rules, the model, the sources |
Answer
Bottom line
Position A (employee)
Position B (contractor)
Position B (contractor) ends with -562,195 DKK against -562,195 vs 959,112 DKK, retires about 13 years earlier (age 44 vs 57), and is more likely to reach its target within 40 years (100% vs 82%).
Target 3,243,478 DKK per position (rule: explicit); medians over 10000 paths, seed 42.
Results
Net worth over time
Final net worth distribution
How it feels
Reference (outcomes below it count as losses) — Position A (employee): your target net worth (3,243,478 DKK); Position B (contractor): your target net worth (3,243,478 DKK).
How this works
Losses sting about twice as much as gains feel good, and rare risks feel bigger than they are. This chart scales both positions' income together and re-reads the distributions the way a typical human would (cumulative prospect theory, Tversky & Kahneman 1992) — a decision aid, not financial advice.
Retirement and risk
| Metric | Position A (employee) | Position B (contractor) | vs Position A (employee) |
|---|---|---|---|
| Goal | |||
| Target net worth | 3,243,478 DKK | 3,243,478 DKK | 1.00x |
| Target rule | explicit | explicit | |
| Phase rule | preserve | preserve | |
| Timing | |||
| Years to target, P10 | 14.0 | 5.0 | |
| Years to target, median | 22.0 | 9.0 | |
| Years to target, P90 | 39.0 | 16.0 | |
| Retire age, median | 57.0 | 44.0 | |
| P(retire within the horizon) | 82% | 100% | |
| Median wealth at retirement | 3,562,962 DKK | 3,642,600 DKK | 1.02x |
| Risk among retired paths | |||
| P(spending unfunded: ruin) | 48% | 98% | |
| Median year of ruin | 34.0 (age 69.0) | 19.0 (age 54.0) | |
| P(real net worth below zero) | 48% | 75% | |
| Median year below zero | 34.0 (age 69.0) | 28.0 (age 63.0) | |
| P(back below the target) | 95% | 93% | |
| Median year back below target | 27.0 (age 62.0) | 14.0 (age 49.0) | |
| P(target restored at the plan age) | 20% | 26% | |
A position stops working once its real net worth reaches its target; the ruin and restoration rows read the retired paths only.
Costs
Income breakdown
| Item | Position A (employee) | Position B (contractor) |
|---|---|---|
| Pay | ||
| Gross salary | 389,217 DKK | 253,545 DKK |
| Bonus paid as cash | 0 DKK | 0 DKK |
| Bonus paid into pension | 0 DKK | 0 DKK |
| Bonus paid as stock | 0 DKK | 0 DKK |
| Bonus paid as options | 0 DKK | 0 DKK |
| Employee pension contribution | 0 DKK | 10,142 DKK |
| Net take-home | 283,227 DKK | 184,426 DKK |
| Employer cost | ||
| Employer contribution | 122,292 DKK | 0 DKK |
| Occupational pension | 17,515 DKK | 20,284 DKK |
| Special payroll tax | 4,249 DKK | 0 DKK |
| Fixed employer cost | 0 DKK | 6,408 DKK |
| Total salary cost | 533,273 DKK | 280,237 DKK |
| Company / AB | ||
| Company invoice | 533,273 DKK | 934,122 DKK |
| Intermediary fee | 0 DKK | 0 DKK |
| VAT collected | 0 DKK | 233,530 DKK |
| Contractor premium vs employer cost | 0% | 19% |
| Retained pre-tax | 0 DKK | 653,885 DKK |
| Corporate tax | 0 DKK | 143,855 DKK |
| Retained after tax | 0 DKK | 510,030 DKK |
| All-salary gross (stress) | 389,217 DKK | 858,994 DKK |
Every wage-cost item, in DKK per year.
Cross-border taxes
Not applicable — this position has no cross-border residence/work/payer/entity assignment.
| Year | CFC tax (median, DKK) | Source withholding (median, DKK) |
|---|---|---|
| 0 (age 35) | 0 | 0 |
| 1 (age 36) | 58,207 | 0 |
| 2 (age 37) | 83,973 | 0 |
| 3 (age 38) | 96,831 | 0 |
| 4 (age 39) | 104,976 | 0 |
| 5 (age 40) | 110,012 | 0 |
| 6 (age 41) | 114,972 | 0 |
| 7 (age 42) | 119,916 | 0 |
| 8 (age 43) | 124,946 | 0 |
| 9 (age 44) | 128,915 | 0 |
| 10 (age 45) | 132,969 | 0 |
| 11 (age 46) | 137,475 | 0 |
| 12 (age 47) | 142,792 | 0 |
| 13 (age 48) | 144,969 | 0 |
| 14 (age 49) | 150,349 | 0 |
| 15 (age 50) | 153,746 | 0 |
| 16 (age 51) | 157,398 | 0 |
| 17 (age 52) | 161,576 | 0 |
| 18 (age 53) | 165,411 | 0 |
| 19 (age 54) | 171,105 | 0 |
| 20 (age 55) | 174,166 | 0 |
| 21 (age 56) | 176,451 | 0 |
| 22 (age 57) | 181,229 | 0 |
| 23 (age 58) | 187,221 | 0 |
| 24 (age 59) | 189,532 | 0 |
| 25 (age 60) | 192,902 | 0 |
| 26 (age 61) | 195,023 | 0 |
| 27 (age 62) | 198,735 | 0 |
| 28 (age 63) | 201,892 | 0 |
| 29 (age 64) | 203,628 | 0 |
| 30 (age 65) | 208,364 | 0 |
| 31 (age 66) | 212,136 | 0 |
| 32 (age 67) | 212,998 | 0 |
| 33 (age 68) | 213,458 | 0 |
| 34 (age 69) | 217,623 | 0 |
| 35 (age 70) | 219,505 | 0 |
| 36 (age 71) | 221,645 | 0 |
| 37 (age 72) | 222,839 | 0 |
| 38 (age 73) | 225,662 | 0 |
| 39 (age 74) | 224,898 | 0 |
| 40 (age 75) | 227,800 | 0 |
Median annual CFC tax charged by the residence country on a foreign low-tax entity and source-country withholding on the entity's distributions, in the display currency. Shown for positions with cross-border residence/work/payer/entity assignments; domestic positions are marked not applicable.
Appendix
Report statistics
| Metric | Position A (employee) | Position B (contractor) | vs Position A (employee) |
|---|---|---|---|
| End net worth | |||
| P5 (worst 5%) | -2,946,660 DKK | -4,136,393 DKK | n/a |
| P25 | -278,744 DKK | -2,459,184 DKK | n/a |
| Median | 959,112 DKK | -562,195 DKK | n/a |
| P75 | 2,457,064 DKK | 3,567,675 DKK | 1.45x |
| P95 (best 5%) | 6,942,904 DKK | 26,594,265 DKK | 3.83x |
| Mean | 1,751,434 DKK | 5,066,527 DKK | 2.89x |
| Spread | |||
| Std dev | 14,220,731 DKK | 34,492,696 DKK | 2.43x |
| Shape | |||
| Skew | 44.54 | 26.60 | |
| Sharpe | 0.12 | 0.15 | |
| Pension | |||
| State pension (median) | 2,373,909 DKK | 13,451 DKK | 0.01x |
Sampling precision at 10000 paths — Position A (employee): median ± 348,408 DKK (95% approx.); Position B (contractor): median ± 845,071 DKK (95% approx.); differences smaller than these bands are within noise.
Your choices
| Field | Value |
|---|---|
| Position A | |
| Living expenses / month | 16,217.39 DKK |
| Gross salary / month | 32,434.78 DKK |
| Position B | |
| Living expenses / month | 16,217.39 DKK |
| Monthly invoice | 77,843.48 DKK |
| Position B - risk & unemployment | |
| Loss / failure probability / year | 10.0% |
| Position B - cross-border | |
| Residence country | Denmark |
| Work country | Denmark |
| Employer / client country | Denmark |
| Company (entity) country | Ireland |
| Social security (A1) country | Denmark |
| Physical work share in the work country | 100.0% |
| Retirement estimate | |
| Target net worth | 3,243,478.26 DKK |
The fields you set yourself; every other field sits at its default.
All inputs as run
| Field | Value |
|---|---|
| Position A | |
| Position type | Employee |
| Country | Sweden |
| Enter amounts in | SEK |
| Living expenses / month | 16,217.39 DKK |
| Gross salary / month | 32,434.78 DKK |
| Position A - income growth | |
| Salary growth / year | 3.0% |
| Position A - bonus | |
| Bonus, % of salary / year | 0.0% |
| Bonus, fixed amount / year | 0.00 DKK |
| Share of bonus to pension | 0.0% |
| Bonus paid as stock, % of salary / year | 0.0% |
| Stock bonus, cash-equivalent amount / year | 0.00 DKK |
| Bonus paid as options, % of salary / year | 0.0% |
| Option bonus, cash-equivalent amount / year | 0.00 DKK |
| Vesting period (years) | 0 |
| Forfeit risk / year (unvested) | 0.0% |
| Position A - risk & unemployment | |
| Loss / failure probability / year | 2.5% |
| Severance (months) | 6 |
| Average job search (months) | 12 |
| Unemployment benefit / month | 12,973.91 DKK |
| Benefit duration (months) | 9 |
| Re-employment salary factor | 1 |
| Position A - pension & dividends | |
| Occupational pension rate (flat override) | Tiered default (4.5% / 30%) |
| Position A - holidays | |
| Paid holidays / year | Country default |
| Weekday national holidays / year | Country default |
| Position A - cross-border | |
| Residence country | Domestic |
| Work country | Domestic |
| Employer / client country | Domestic |
| Social security (A1) country | Domestic |
| Physical work share in the work country | - |
| Position A - pension & dividends | |
| Allmän inkomstpension (balance today) | 0 |
| Premiepension (balance today) | 0 |
| Years of residence in Sweden since 16 | 0 |
| Position B | |
| Position type | Contractor |
| How the company is run | - |
| Country | Denmark |
| Enter amounts in | SEK |
| Living expenses / month | 16,217.39 DKK |
| Monthly invoice | 77,843.48 DKK |
| Wage you pay yourself | - |
| Position B - income growth | |
| Invoice growth / year | 3.0% |
| Position B - bonus | |
| Bonus paid as stock, % of salary / year | 0.0% |
| Stock bonus, cash-equivalent amount / year | 0.00 DKK |
| Bonus paid as options, % of salary / year | 0.0% |
| Option bonus, cash-equivalent amount / year | 0.00 DKK |
| Vesting period (years) | 0 |
| Forfeit risk / year (unvested) | 0.0% |
| Position B - risk & unemployment | |
| Loss / failure probability / year | 10.0% |
| Severance (months) | 0 |
| Average job search (months) | 12 |
| Unemployment benefit / month | 0.00 DKK |
| Benefit duration (months) | 0 |
| Position B - pension & dividends | |
| Occupational pension rate (flat override) | Tiered default (4.5% / 30%) |
| Occupational pension | Yes |
| Dividend allowance | 79,400.00 DKK |
| Dividend payouts | Only in unemployed years |
| Position B - holidays | |
| Paid holidays / year | Country default |
| Weekday national holidays / year | Country default |
| Position B - cross-border | |
| Residence country | Denmark |
| Work country | Denmark |
| Employer / client country | Denmark |
| Company (entity) country | Ireland |
| Social security (A1) country | Denmark |
| Physical work share in the work country | 100.0% |
| Position B - pension & dividends | |
| ATP contributions to date (kroner) | 0 |
| Years of residence in Denmark since 15 | 0 |
| Costs & goals | |
| Horizon (years) | 40 |
| Starting net worth | 0.00 DKK |
| Net worth in | SEK |
| Report amounts in | DKK |
| Inflation | 2.0% |
| Retirement estimate | |
| Auto target rule | Plan solve (expected-return funding rate) |
| Target net worth | 3,243,478.26 DKK |
| Retire at the target | Yes |
| Retirement phase rule | Restore the target by the planning age |
| Retirement model | Capital-sufficiency (wealth covers expenses) |
| Withdrawal rate / year | 3.5% |
| Retirement horizon (years) | 40 |
| Planning age (pension mode) | 90 |
| Target safety margin (plan solve) | 0.5% |
| Report display | |
| Income unit | Per year |
| Work days / year | 260 |
| Work hours / day | 8 |
| Paid holidays / year (all positions) | Country default |
| Weekday national holidays / year (all positions) | Country default |
| Market & risk model | |
| Expected annual return (mu) | 0.05 |
| Annual return volatility | 0.2 |
| Two-regime crisis model | Yes |
| Crisis frequency / year | 0.1 |
| Crisis persistence / year | 0.6 |
| Crisis log-drift shortfall | 0.12 |
| Crisis volatility multiple | 1.8 |
| Student-t degrees of freedom | 5 |
| Parameter uncertainty per path | Yes |
| Loss multiplier in bad years | 3 |
| Declining contractor hazard | Yes |
| Stochastic re-employment | Yes |
| Occasional expense shocks | Yes |
| Company loss on contractor failure | 0.1 |
| Invest savings at market returns | Yes |
| Track state pension separately | Yes |
| Show nominal (not real) amounts | No |
| Taxpayer | |
| Tax ruleset profile | Approximate |
| Tax year (income year) | - |
| Age at the start of the income year | 35 |
| Municipality (official rate file) | national-average |
| Church member (kirkeskat / Kirchensteuer) | No |
| Inward-mobility (expat) tax relief | No |
| Run settings | |
| Monte Carlo paths | 10000 |
| Random seed | 42 |
Every field of the compare form as run, with the form's canonical defaults filled in for the fields left untouched; amounts are shown in the report's display currency.
Assumptions (as run)
| Assumption | Value |
|---|---|
| Comparison | Position A (employee) vs Position B (contractor) |
| Horizon | 40 years |
| Monte Carlo paths | 10000 (seed 42) |
| Starting net worth | 0.00 DKK |
| Target net worth | 3,243,478.26 DKK (rule: explicit) |
| Position targets (real) | Position A (employee): 3,243,478 DKK; Position B (contractor): 3,243,478 DKK |
| Retirement rule | a path stops working once its real net worth reaches its target (the plan solve at the expected real return minus the 0.5% safety margin); the phase must show the target restored at the planning age at age 90 |
| Display currency | DKK |
| Inflation | 2.0% |
| Market model | two-regime Markov switching, Student-t shocks |
| Position A (employee) | Sweden: Gross income 32,434.78 DKK/month, living expenses 16,217.39 DKK/month, loss risk 2.5%/year. |
| Position B (contractor) | Denmark: Gross income 77,843.48 DKK/month, living expenses 16,217.39 DKK/month, wage 30% of the invoice, dividends (allowance 79,400.00 DKK), loss risk 10.0%/year. |
FX snapshot pinned at generation (see footer); tax year and rule sources per scenario country: official statutory sources.
How to read this report
Amounts are absolute in the display currency; the right-hand column shows the second position as a multiple of the first and reads n/a when either amount is zero or negative.
The target is typed; a path stops working once its real net worth reaches its target and then lives off the wealth — the country's net pension income where its payout rules ship, then the liquid wealth, then company withdrawals. The phase rule (preserve, checked at age 90) allows dips into principal on the way and reports them.
Ruin means the spending is not fully funded; below zero means the real net worth turns negative; back below the target counts a dip into principal after the target had been reached. The retirement, ruin and restoration rows read the retired paths only, and P(retire within the horizon) is the share retiring inside the report's horizon.