Methodology & Data Integrity

    Radical transparency starts with trustworthy data. Learn how we anonymize, validate, and calculate the gender pay gap.

    Anonymization Process

    How We Protect Your Identity

    Every submission undergoes a multi-layer anonymization process before entering our database. No personally identifiable information (PII) is ever stored.

    1

    Data Stripping

    All metadata (IP addresses, timestamps, device fingerprints) is immediately discarded upon submission. We only retain aggregated location (city-level), role, and compensation data.

    2

    Hashing & Encryption

    Optional fields (gender, team) are hashed using SHA-256 before storage. All data at rest is encrypted using AES-256.

    3

    Aggregation Only

    Individual records are never published. We only display aggregated statistics (averages, medians, percentiles) when at least 5 submissions exist for a given category.

    4

    Comment Moderation

    User-submitted comments are manually reviewed to remove any identifying details (names, project codes, specific dates) before publication.

    Important

    While we take every precaution, no system is 100% foolproof. Avoid including any unique details in your comment that could indirectly identify you (e.g., "I'm the only woman in a 3-person team in Tallinn").

    Validation & Quality Control

    How We Ensure Data Accuracy

    Automated Checks

    • Salary ranges validated against industry benchmarks
    • Duplicate submissions detected via pattern matching
    • Outliers flagged for manual review (±3 std deviations)

    Manual Review

    • Human moderators verify flagged submissions
    • Cross-reference with public EUPTD reports when available
    • Community reporting for suspicious data

    Confidence Levels

    Each data point is assigned a confidence score based on sample size and validation:

    High (50+ submissions, validated)
    Medium (10-49 submissions)
    Low (5-9 submissions)
    Insufficient (<5 submissions, not displayed)

    Gender Pay Gap Calculation

    The Formula

    We use the EU-standard unadjusted gender pay gap formula, which compares median earnings:

    Gender Pay Gap (%) =
    [(Median Male Salary - Median Female Salary) / Median Male Salary] × 100

    Example Calculation

    Median male salary for "Software Engineer" in Berlin: €75,000

    Median female salary for "Software Engineer" in Berlin: €67,500

    Gender Pay Gap: [(75,000 - 67,500) / 75,000] × 100 = 10%

    Interpretation

    A positive gap (e.g., +10%) means women earn 10% less than men for the same role. A negative gap means women earn more. A gap of 0% indicates parity.

    Limitations

    • This is an unadjusted gap (doesn't account for experience, hours worked, or seniority)
    • Small sample sizes (<10 per gender) may produce unreliable results
    • Self-reported data may have reporting bias
    • Non-binary/other genders are tracked but not included in binary gap calculation

    Color Indicator Thresholds

    0-3% (Fair/Parity)
    3-10% (Moderate Gap)
    10-20% (Significant Gap)
    20%+ (Critical Gap)

    Frequently Asked Questions

    We require a minimum of 5 submissions per category before displaying any aggregated data. For gender pay gap calculations, we need at least 5 submissions from each gender group. Categories with fewer submissions show "Insufficient Data" and are not published.

    Yes. Contact us at contact@euptd.eu with your approximate submission date and role details. We'll remove your anonymized entry from our database. Note that this won't affect already-published aggregated statistics.

    If we don't have enough gender-identified submissions, the gap will show as "N/A - Insufficient Data." We encourage you to share your salary anonymously to help build the dataset. Companies with official EU Pay Transparency Directive (EUPTD) reports will display those instead.

    We use multiple anti-fraud measures:

    • Rate limiting (max 1 submission per IP per 24 hours)
    • Statistical outlier detection
    • Manual review of flagged submissions
    • Community reporting system

    No. EUPTD.EU is an independent, crowdsourced initiative. Our data is self-reported and anonymized, not verified employment records. Official EUPTD reports (when available) are clearly marked and sourced from public disclosures.

    Open Source & API Access

    Public API Documentation

    Our entire dataset is available via a free, public API. No authentication required for read-only access.

    Base URL

    https://api.euptd.eu/v1

    GET /salaries

    Retrieve aggregated salary data

    GET /salaries?role=Software%20Engineer&location=Berlin&limit=50

    Query Parameters:

    • role (string): Job title
    • location (string): City or country
    • company (string): Company name
    • min_confidence (string): high | medium | low
    • limit (integer): Results per page (max 100)

    GET /gap

    Get gender pay gap for a specific role/company

    GET /gap?role=Data%20Analyst&company=Acme%20Corp&location=Amsterdam

    Response Example:

    { "role": "Data Analyst", "company": "Acme Corp", "location": "Amsterdam", "gap_percentage": 8.5, "confidence": "medium", "sample_size": { "male": 23, "female": 18 }, "median_salaries": { "male": 65000, "female": 59475 } }

    GitHub Repository

    Our entire codebase, data validation scripts, and API implementation are open source:

    View on GitHub

    Support the Mission

    EUPTD.EU is a non-profit initiative. Help us maintain servers, validate data, and build new features:

    Donate or Contribute