{
  "dataset": "compensation-snapshot",
  "title": "Disclosed compensation by role family",
  "description": "Percentiles of stated pay for postings that disclosed it, kept separate by currency and period because neither can be combined without an assumption the postings never made.",
  "release": "2026-11-05.1",
  "generatedAt": "2026-11-05T09:20:20.818Z",
  "license": "CC-BY-4.0",
  "attribution": "Analytics Engineering Observatory",
  "notes": [
    "Figures describe an observed sample of open postings, not the whole job market.",
    "Permitted claim class for this release: SNAPSHOT_ONLY."
  ],
  "rowCount": 35,
  "columns": [
    "role_family",
    "comp_currency",
    "comp_period",
    "disclosed_posting_count",
    "open_postings",
    "disclosing_postings",
    "salary_disclosure_pct",
    "p25",
    "median",
    "p75",
    "lowest_stated_min",
    "highest_stated_max",
    "is_suppressed",
    "supports_quartiles",
    "suppression_reason",
    "required_caveat",
    "computed_at"
  ],
  "rows": [
    {
      "role_family": "ANALYTICS_ENGINEER",
      "comp_currency": "CAD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 2,
      "open_postings": 13,
      "disclosing_postings": 8,
      "salary_disclosure_pct": 61.5,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 2 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "ANALYTICS_ENGINEER",
      "comp_currency": "EUR",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 1,
      "open_postings": 13,
      "disclosing_postings": 8,
      "salary_disclosure_pct": 61.5,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "ANALYTICS_ENGINEER",
      "comp_currency": "PLN",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 1,
      "open_postings": 13,
      "disclosing_postings": 8,
      "salary_disclosure_pct": 61.5,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "ANALYTICS_ENGINEER",
      "comp_currency": "PLN",
      "comp_period": "MONTHLY",
      "disclosed_posting_count": 2,
      "open_postings": 13,
      "disclosing_postings": 8,
      "salary_disclosure_pct": 61.5,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 2 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "ANALYTICS_ENGINEER",
      "comp_currency": "USD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 2,
      "open_postings": 13,
      "disclosing_postings": 8,
      "salary_disclosure_pct": 61.5,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 2 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_ANALYST",
      "comp_currency": "CAD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 1,
      "open_postings": 25,
      "disclosing_postings": 6,
      "salary_disclosure_pct": 24,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_ANALYST",
      "comp_currency": "USD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 5,
      "open_postings": 25,
      "disclosing_postings": 6,
      "salary_disclosure_pct": 24,
      "p25": null,
      "median": 175592,
      "p75": null,
      "lowest_stated_min": 152000,
      "highest_stated_max": 234500,
      "is_suppressed": false,
      "supports_quartiles": false,
      "suppression_reason": "5 postings disclosed salary here. Enough for a median, not for quartiles, which need 30.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_ENGINEER",
      "comp_currency": "CAD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 3,
      "open_postings": 32,
      "disclosing_postings": 9,
      "salary_disclosure_pct": 28.1,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 3 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_ENGINEER",
      "comp_currency": "PLN",
      "comp_period": "MONTHLY",
      "disclosed_posting_count": 1,
      "open_postings": 32,
      "disclosing_postings": 9,
      "salary_disclosure_pct": 28.1,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_ENGINEER",
      "comp_currency": "USD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 5,
      "open_postings": 32,
      "disclosing_postings": 9,
      "salary_disclosure_pct": 28.1,
      "p25": null,
      "median": 213750,
      "p75": null,
      "lowest_stated_min": 113100,
      "highest_stated_max": 376000,
      "is_suppressed": false,
      "supports_quartiles": false,
      "suppression_reason": "5 postings disclosed salary here. Enough for a median, not for quartiles, which need 30.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_LEADERSHIP",
      "comp_currency": "USD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 1,
      "open_postings": 1,
      "disclosing_postings": 1,
      "salary_disclosure_pct": 100,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_SCIENTIST",
      "comp_currency": "CAD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 1,
      "open_postings": 63,
      "disclosing_postings": 31,
      "salary_disclosure_pct": 49.2,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_SCIENTIST",
      "comp_currency": "PLN",
      "comp_period": "MONTHLY",
      "disclosed_posting_count": 1,
      "open_postings": 63,
      "disclosing_postings": 31,
      "salary_disclosure_pct": 49.2,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_SCIENTIST",
      "comp_currency": "USD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 28,
      "open_postings": 63,
      "disclosing_postings": 31,
      "salary_disclosure_pct": 49.2,
      "p25": null,
      "median": 236000,
      "p75": null,
      "lowest_stated_min": 86400,
      "highest_stated_max": 443800,
      "is_suppressed": false,
      "supports_quartiles": false,
      "suppression_reason": "28 postings disclosed salary here. Enough for a median, not for quartiles, which need 30.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "DATA_SCIENTIST",
      "comp_currency": "USD",
      "comp_period": "HOURLY",
      "disclosed_posting_count": 1,
      "open_postings": 63,
      "disclosing_postings": 31,
      "salary_disclosure_pct": 49.2,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "ML_ENGINEER",
      "comp_currency": "CAD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 4,
      "open_postings": 116,
      "disclosing_postings": 43,
      "salary_disclosure_pct": 37.1,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 4 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "ML_ENGINEER",
      "comp_currency": "EUR",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 4,
      "open_postings": 116,
      "disclosing_postings": 43,
      "salary_disclosure_pct": 37.1,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 4 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "ML_ENGINEER",
      "comp_currency": "GBP",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 1,
      "open_postings": 116,
      "disclosing_postings": 43,
      "salary_disclosure_pct": 37.1,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "ML_ENGINEER",
      "comp_currency": "PLN",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 3,
      "open_postings": 116,
      "disclosing_postings": 43,
      "salary_disclosure_pct": 37.1,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 3 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "ML_ENGINEER",
      "comp_currency": "USD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 31,
      "open_postings": 116,
      "disclosing_postings": 43,
      "salary_disclosure_pct": 37.1,
      "p25": 218902,
      "median": 260050,
      "p75": 276000,
      "lowest_stated_min": 94300,
      "highest_stated_max": 409500,
      "is_suppressed": false,
      "supports_quartiles": true,
      "suppression_reason": null,
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "AUD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 5,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": 315000,
      "p75": null,
      "lowest_stated_min": 150000,
      "highest_stated_max": 350000,
      "is_suppressed": false,
      "supports_quartiles": false,
      "suppression_reason": "5 postings disclosed salary here. Enough for a median, not for quartiles, which need 30.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "CAD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 224,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": 156862,
      "median": 180845,
      "p75": 205005,
      "lowest_stated_min": 63286,
      "highest_stated_max": 395000,
      "is_suppressed": false,
      "supports_quartiles": true,
      "suppression_reason": null,
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "CAD",
      "comp_period": "HOURLY",
      "disclosed_posting_count": 1,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "CAD",
      "comp_period": "MONTHLY",
      "disclosed_posting_count": 1,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "CHF",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 1,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "EUR",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 258,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": 78500,
      "median": 94600,
      "p75": 126784,
      "lowest_stated_min": 16000,
      "highest_stated_max": 341000,
      "is_suppressed": false,
      "supports_quartiles": true,
      "suppression_reason": null,
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "EUR",
      "comp_period": "HOURLY",
      "disclosed_posting_count": 1,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "EUR",
      "comp_period": "MONTHLY",
      "disclosed_posting_count": 4,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 4 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "GBP",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 32,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": 100983,
      "median": 127372,
      "p75": 144000,
      "lowest_stated_min": 61000,
      "highest_stated_max": 319250,
      "is_suppressed": false,
      "supports_quartiles": true,
      "suppression_reason": null,
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "ILS",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 1,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": null,
      "p75": null,
      "lowest_stated_min": null,
      "highest_stated_max": null,
      "is_suppressed": true,
      "supports_quartiles": false,
      "suppression_reason": "Only 1 postings disclosed salary in this currency and period; 5 are needed to publish a median.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "PLN",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 45,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": 368000,
      "median": 397350,
      "p75": 425000,
      "lowest_stated_min": 128000,
      "highest_stated_max": 730400,
      "is_suppressed": false,
      "supports_quartiles": true,
      "suppression_reason": null,
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "PLN",
      "comp_period": "MONTHLY",
      "disclosed_posting_count": 14,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": 37625,
      "p75": null,
      "lowest_stated_min": 14650,
      "highest_stated_max": 36250,
      "is_suppressed": false,
      "supports_quartiles": false,
      "suppression_reason": "14 postings disclosed salary here. Enough for a median, not for quartiles, which need 30.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "SEK",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 12,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": 983218,
      "p75": null,
      "lowest_stated_min": 564000,
      "highest_stated_max": 2546000,
      "is_suppressed": false,
      "supports_quartiles": false,
      "suppression_reason": "12 postings disclosed salary here. Enough for a median, not for quartiles, which need 30.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "USD",
      "comp_period": "ANNUAL",
      "disclosed_posting_count": 1635,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": 157561,
      "median": 195327,
      "p75": 228950,
      "lowest_stated_min": 46200,
      "highest_stated_max": 605000,
      "is_suppressed": false,
      "supports_quartiles": true,
      "suppression_reason": null,
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    },
    {
      "role_family": "UNMATCHED",
      "comp_currency": "USD",
      "comp_period": "HOURLY",
      "disclosed_posting_count": 7,
      "open_postings": 6083,
      "disclosing_postings": 2241,
      "salary_disclosure_pct": 36.8,
      "p25": null,
      "median": 55,
      "p75": null,
      "lowest_stated_min": 26.96,
      "highest_stated_max": 73.6,
      "is_suppressed": false,
      "supports_quartiles": false,
      "suppression_reason": "7 postings disclosed salary here. Enough for a median, not for quartiles, which need 30.",
      "required_caveat": "Observed from postings that disclosed pay. Not adjusted, converted, or annualized. Disclosure is not random, so this describes disclosing employers rather than the market.",
      "computed_at": "2026-11-05T09:20:11.754Z"
    }
  ]
}
