Formula v1.0

The same formula is applied to every combination and shown on every cost page. Any figure on the site can be recomputed from it and the sources listed on its page.

Formula v1.0
version: 1.0

total_annual_cost =
    base_salary
  + employer_contributions        # statutory rates applied to base with caps; per country
  + mandatory_benefits            # 13th or 14th salary, paid leave value above base, mandatory insurance; per country
  + voluntary_benefits            # health, pension top-up, meal and transport; market survey medians per country and level; shown as a separate line
  + equipment_and_tooling         # laptop amortised over 3 years, licences, test devices for mobile roles; per level and role
  + recruiting_cost_amortised     # recruiting cost / expected tenure years; per country, role and model
  + onboarding_ramp               # ramp_weeks x weekly cost x (1 - productivity_factor); per level

first_year_cost = total_annual_cost - recruiting_cost_amortised + recruiting_cost - onboarding_ramp_amortised + onboarding_ramp
monthly_cost = total_annual_cost / 12
hourly_equivalent = total_annual_cost / productive_hours

# Defaults (overridable per country in data with a source)
expected_tenure_years: 2.5
productive_hours: 1,700 per year, adjusted by statutory paid leave per country
ramp_weeks: junior 10, mid 6, senior 4
productivity_factor_during_ramp: 0.5
equipment_amortisation_years: 3

# Hiring models
employee: full formula
contractor: contractor_rate x hours + platform_or_eor_fee; no employer_contributions, no mandatory_benefits unless the EOR passes them through (sourced); recruiting as for employee; ramp as for employee
outsourced: published vendor monthly or hourly rate per role and region; no recruiting, no ramp, no equipment; show typical minimum engagement from sources

# Output per combination
p25, median, p75 for each component and for the totals, in local currency and USD at fx.json date; confidence grade; source ids; computedOn

Component by component

Implementation notes for formula v1.0, dataset v1.0.
ComponentHow it is computed
Base salaryMedian of the usable source medians for the country, role and level. p25 is the median of stated p25 values, else the lowest source median; p75 likewise with the highest. Converted to annual local currency; extra months included in an annual figure are taken out.
Employer contributionsEach statutory rate times base salary, limited by its annual cap, counted only above an earnings threshold where the statute sets one, plus fixed annual amounts. A rate that the sources give only as a range uses the low end, the midpoint and the high end in the three scenarios. An item the statute makes due only above or only below a pay level is counted only where the salary in that scenario meets the condition; otherwise the pages show the condition and mark the item as not applied. Applied to base salary only, not to 13th-month or bonus payments.
Mandatory benefitsExtra monthly salaries (salary divided by 12 times the number of extra months), statutory allowances as a share of salary, and fixed statutory amounts.
Voluntary benefitsA share of salary or an annual amount from two benefit sources for the country. Without two sources the line reads not estimated and the total leaves it out.
Equipment and toolingList prices in USD: laptop over 3 years, licences, and test devices or device clouds for the roles that need them, converted at the dataset exchange rate.
RecruitingAgency fee as a share of first-year base salary, regional where sourced, else global; no regional figure meets the two-source rule, so the global one applies in every region. Spread over the 2.5-year expected tenure in annual cost; paid in full in first-year cost.
Onboarding rampRamp weeks for the level times weekly cost (salary, contributions and mandatory benefits divided by 52) times one minus the productivity factor. Spread over 2.5 years in annual cost; in full in first-year cost.
Productive hoursThe formula file sets 1,700 hours a year, adjusted by statutory paid leave per country, and does not say how many days of leave the 1,700 hours already allow for. This site reads them as allowing for 30 days of statutory leave and public holidays, so it takes off 8 hours for every day of statutory leave and public holidays above 30 (or adds 8 for every day below). Leave stated in calendar days is converted to working days at 5/7, and leave stated in six-day weeks (working days including Saturdays) at 5/6. Where the statute counts one weekly rest day in every seven leave days, those rest days are taken out first and the rest is converted at 5/6. Public holidays that the statute lets an employer count inside the leave entitlement add no days (the bank holidays in the United Kingdom), and a public holiday that always falls on a weekend is not counted, because it removes no working day (Easter Sunday in Portugal).
ContractorRegional contractor hourly rate times productive hours plus a contractor platform fee, plus recruiting and ramp as for an employee. No contributions, mandatory benefits or equipment.
Employer of recordEmployee salary, contributions and mandatory benefits passed through, plus the EOR monthly fee, equipment, recruiting and ramp.
OutsourcedAggregated vendor hourly rate for the region and role times billed hours per month times 12. No recruiting, ramp or equipment.

Defaults

Where no source supports a component, only the defaults named in the formula are used, and the page marks the line as a formula default: expected tenure 2.5 years, 1,700 productive hours, ramp of 10, 6 and 4 weeks for junior, mid and senior, productivity during ramp 0.5, equipment over 3 years.