{
  "version": "2.0",
  "retrieved": "2026-09-14",
  "sources": {
    "unionen": {
      "name": "Unionen",
      "url": "https://www.unionen.se/rad-och-stod/om-lon/marknadsloner/data-scientist",
      "period": "2025",
      "method": "Member salary statistics; range covers the middle 80%. Monthly figures are annualised by multiplying by 12.",
      "sample": "Role sample size not published on the open page."
    },
    "itjobswatch": {
      "name": "IT Jobs Watch",
      "url": "https://www.itjobswatch.co.uk/jobs/uk/machine%20learning%20engineer.do",
      "period": "6 months to 14 September 2026",
      "method": "Salaries quoted in permanent job advertisements. Range is the 25th–75th percentile.",
      "sample": "47 quoted salaries; 81 matching permanent vacancies."
    },
    "devit": {
      "name": "DevITjobs European report",
      "url": "https://static.germantechjobs.de/market-reports/European-Transparent-IT-Job-Market-Report-2025.pdf",
      "period": "2025 report",
      "method": "Employer-supplied salary ranges from more than 23,000 listings across the full report. Values below are published category means, not individual job-title medians. Gross annual pay excludes stock and bonuses.",
      "sample": "Country-by-category sample sizes and the exact collection window are not stated in the cited charts."
    },
    "realtime": {
      "name": "Realtime Recruitment",
      "url": "https://realtime.jobs/wp-content/uploads/2026/02/Realtime-Recruitment-Salary-Guide-Ireland-2026.pdf#page=5",
      "period": "2026 guide",
      "method": "Recruiter guide estimates for permanent roles, with experience bands. These are guidance ranges, not percentiles. The table separates salary from contractor day rates.",
      "sample": "Role sample sizes and a statistical estimation method are not supplied in the cited table. The table does not explicitly define bonus treatment; confirm with the provider."
    },
    "roberthalf": {
      "name": "Robert Half France",
      "url": "https://www.roberthalf.com/fr/fr/insights/salary-guide/technology",
      "period": "2026 guide",
      "method": "Starting gross annual fixed pay excluding bonuses and benefits. Range is the published 25th–75th percentile.",
      "sample": "Role sample size not published on the open page."
    }
  },
  "observations": [
    {
      "id": "se-data",
      "country": "Sweden",
      "code": "SE",
      "role": "Data scientist",
      "family": "Data science",
      "currency": "SEK",
      "source": "unionen",
      "low": 504000,
      "high": 926160,
      "point": null,
      "statistic": "Middle 80%",
      "level": "All levels / unspecified",
      "note": "Source: SEK 42,000–77,180 per month. Annual equivalent = monthly pay × 12; not total compensation.",
      "match": "Role-specific",
      "bands": null,
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "gross"
    },
    {
      "id": "uk-ml",
      "country": "United Kingdom",
      "code": "UK",
      "role": "Machine Learning Engineer",
      "family": "AI & ML",
      "currency": "GBP",
      "source": "itjobswatch",
      "low": 54375,
      "high": 90000,
      "point": 70000,
      "statistic": "25th–75th percentile",
      "level": "All levels / unspecified",
      "note": "Median GBP 70,000. Advertised pay, not a survey of everyone employed in the role; bonus treatment can vary by advert.",
      "match": "Role-specific",
      "bands": null,
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "gross"
    },
    {
      "id": "ch-ml",
      "country": "Switzerland",
      "code": "CH",
      "role": "ML, AI category",
      "family": "AI & ML",
      "currency": "CHF",
      "source": "devit",
      "low": null,
      "high": null,
      "point": 113600,
      "statistic": "Published mean",
      "level": "All levels / unspecified",
      "note": "Report page 38. Broad technology category, not a salary benchmark for a specific AI role.",
      "match": "Broad category",
      "bands": null,
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "gross"
    },
    {
      "id": "ch-data",
      "country": "Switzerland",
      "code": "CH",
      "role": "Data category",
      "family": "Data science",
      "currency": "CHF",
      "source": "devit",
      "low": null,
      "high": null,
      "point": 114100,
      "statistic": "Published mean",
      "level": "All levels / unspecified",
      "note": "Report page 38. Covers data-related listings; not specific to data scientists or data engineers.",
      "match": "Broad category",
      "bands": null,
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "gross"
    },
    {
      "id": "de-ml",
      "country": "Germany",
      "code": "DE",
      "role": "ML, AI category",
      "family": "AI & ML",
      "currency": "EUR",
      "source": "devit",
      "low": null,
      "high": null,
      "point": 66000,
      "statistic": "Published mean",
      "level": "All levels / unspecified",
      "note": "Report page 42. Broad technology category, not a salary benchmark for a specific AI role.",
      "match": "Broad category",
      "bands": null,
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "gross"
    },
    {
      "id": "de-data",
      "country": "Germany",
      "code": "DE",
      "role": "Data category",
      "family": "Data science",
      "currency": "EUR",
      "source": "devit",
      "low": null,
      "high": null,
      "point": 61800,
      "statistic": "Published mean",
      "level": "All levels / unspecified",
      "note": "Report page 42. Covers data-related listings; not specific to data scientists or data engineers.",
      "match": "Broad category",
      "bands": null,
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "gross"
    },
    {
      "id": "nl-ml",
      "country": "Netherlands",
      "code": "NL",
      "role": "ML, AI category",
      "family": "AI & ML",
      "currency": "EUR",
      "source": "devit",
      "low": null,
      "high": null,
      "point": 58000,
      "statistic": "Published mean",
      "level": "All levels / unspecified",
      "note": "Report page 54. Broad technology category, not a salary benchmark for a specific AI role.",
      "match": "Broad category",
      "bands": null,
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "gross"
    },
    {
      "id": "nl-data",
      "country": "Netherlands",
      "code": "NL",
      "role": "Data category",
      "family": "Data science",
      "currency": "EUR",
      "source": "devit",
      "low": null,
      "high": null,
      "point": 56000,
      "statistic": "Published mean",
      "level": "All levels / unspecified",
      "note": "Report page 54. Covers data-related listings; not specific to data scientists or data engineers.",
      "match": "Broad category",
      "bands": null,
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "gross"
    },
    {
      "id": "ie-genai",
      "country": "Ireland",
      "code": "IE",
      "role": "Generative AI Engineer",
      "family": "AI & ML",
      "currency": "EUR",
      "source": "realtime",
      "low": 45000,
      "high": 70000,
      "point": null,
      "statistic": "Recruiter estimate",
      "level": "3–5 years",
      "note": "Page 5. Mid-level range shown by default. Source experience bands are not organisational maturity levels.",
      "match": "Role-specific",
      "bands": [
        [
          30000,
          45000
        ],
        [
          45000,
          70000
        ],
        [
          70000,
          90000
        ],
        [
          90000,
          110000
        ]
      ],
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "not explicitly stated in table"
    },
    {
      "id": "ie-ml",
      "country": "Ireland",
      "code": "IE",
      "role": "Machine Learning Engineer",
      "family": "AI & ML",
      "currency": "EUR",
      "source": "realtime",
      "low": 45000,
      "high": 70000,
      "point": null,
      "statistic": "Recruiter estimate",
      "level": "3–5 years",
      "note": "Page 5. Mid-level range shown by default. Source experience bands are not organisational maturity levels.",
      "match": "Role-specific",
      "bands": [
        [
          30000,
          45000
        ],
        [
          45000,
          70000
        ],
        [
          70000,
          90000
        ],
        [
          90000,
          110000
        ]
      ],
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "not explicitly stated in table"
    },
    {
      "id": "ie-data",
      "country": "Ireland",
      "code": "IE",
      "role": "Data Engineer",
      "family": "Data engineering",
      "currency": "EUR",
      "source": "realtime",
      "low": 45000,
      "high": 75000,
      "point": null,
      "statistic": "Recruiter estimate",
      "level": "3–5 years",
      "note": "Page 5. Mid-level range shown by default. Source experience bands are not organisational maturity levels.",
      "match": "Role-specific",
      "bands": [
        [
          30000,
          45000
        ],
        [
          45000,
          75000
        ],
        [
          75000,
          90000
        ],
        [
          90000,
          110000
        ]
      ],
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "not explicitly stated in table"
    },
    {
      "id": "ie-mlops",
      "country": "Ireland",
      "code": "IE",
      "role": "MLOps Engineer",
      "family": "Platform & MLOps",
      "currency": "EUR",
      "source": "realtime",
      "low": 55000,
      "high": 75000,
      "point": null,
      "statistic": "Recruiter estimate",
      "level": "3–5 years",
      "note": "Page 5. Mid-level range shown by default. Source experience bands are not organisational maturity levels.",
      "match": "Role-specific",
      "bands": [
        [
          40000,
          55000
        ],
        [
          55000,
          75000
        ],
        [
          75000,
          95000
        ],
        [
          95000,
          120000
        ]
      ],
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "not explicitly stated in table"
    },
    {
      "id": "ie-governance",
      "country": "Ireland",
      "code": "IE",
      "role": "Data Governance Manager",
      "family": "Governance",
      "currency": "EUR",
      "source": "realtime",
      "low": 55000,
      "high": 85000,
      "point": null,
      "statistic": "Recruiter estimate",
      "level": "3–5 years",
      "note": "Page 5. Mid-level range shown by default. Source experience bands are not organisational maturity levels. Data role used as adjacent context; no AI-specific premium is inferred.",
      "match": "Adjacent role",
      "bands": [
        [
          35000,
          55000
        ],
        [
          55000,
          85000
        ],
        [
          85000,
          110000
        ],
        [
          110000,
          130000
        ]
      ],
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "not explicitly stated in table"
    },
    {
      "id": "ie-product",
      "country": "Ireland",
      "code": "IE",
      "role": "Data Product Manager",
      "family": "Product",
      "currency": "EUR",
      "source": "realtime",
      "low": 55000,
      "high": 85000,
      "point": null,
      "statistic": "Recruiter estimate",
      "level": "3–5 years",
      "note": "Page 5. Mid-level range shown by default. Source experience bands are not organisational maturity levels. Data role used as adjacent context; no AI-specific premium is inferred.",
      "match": "Adjacent role",
      "bands": [
        [
          35000,
          55000
        ],
        [
          55000,
          85000
        ],
        [
          85000,
          110000
        ],
        [
          110000,
          130000
        ]
      ],
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "not explicitly stated in table"
    },
    {
      "id": "fr-devops",
      "country": "France",
      "code": "FR",
      "role": "Ingénieur DevOps",
      "family": "Platform & MLOps",
      "currency": "EUR",
      "source": "roberthalf",
      "low": 60000,
      "high": 80000,
      "point": 72000,
      "statistic": "25th–75th percentile",
      "level": "All levels / unspecified",
      "note": "Median EUR 72,000. DevOps is adjacent to MLOps; no AI-specific premium is included.",
      "match": "Adjacent role",
      "bands": null,
      "retrieved": "2026-09-14",
      "period": "annual",
      "tax": "gross"
    }
  ]
}