IndieIndex

Methodology

How we collect, validate, and display freelance rate data.

Where the data comes from

Community submissions

Freelancers submit their own rates through the site. This is the core dataset and the only source used for percentile calculations. Every submission includes category, specialization, experience level, region, rate type, and rate amount. Submissions are anonymous. We collect an email for duplicate prevention but never display it or share it.

Published reports and government data

We reference aggregate statistics from published sources to provide additional context. These are stored separately from community submissions and are never mixed into percentile calculations.

  • Active U.S. Bureau of Labor Statistics OEWS. Public domain government data covering employed worker wages by occupation.
  • Planned Payoneer Global Freelancer Survey. Published annual survey of 7,000+ freelancers across 150 countries.
  • Planned Peak Freelance Survey. Published survey of freelance writers covering income and rate structures.
  • Planned Editorial Freelancers Association (EFA) Rate Survey. Published median rates for editorial professionals.

Seed data

To provide useful benchmarks from day one, we started with a structured seed dataset based on published rate ranges. Seed entries are tagged internally. As community submissions grow, seed data becomes a progressively smaller share of the total.

We never scrape other platforms' data. We never misrepresent external data as user submissions. Every data point is tagged with its source.

Quality controls

Rate ceilings

Every submission is checked against rate-type-specific maximum values. Currently, rates exceeding these ceilings are flagged for review. Hard rejection at the API level is a planned improvement.

Rate TypeCeiling
Hourly$500
Daily$5,000
Weekly$15,000
Monthly$50,000
Per-project$100,000

Enum validation

Category, specialization, experience level, region, and rate type must match predefined values. Free-text is not accepted for these fields.

Duplicate prevention

One submission per email address per quarter. Prevents gaming while allowing rate updates over time.

Source tracking

Every entry is tagged with its collection method (community, seed, survey, etc.), enabling quality analysis by channel.

How we calculate your percentile

We use a cascading waterfall to find a statistically meaningful comparison group for your submission. Here is how it works:

  1. 1. Start specific. We first look for freelancers matching all your filters. The most specific match checks exact match (category + specialization + experience + region + rate type).
  2. 2. Broaden if needed. If the match has fewer than 10 data points, we progressively broaden by dropping filters. The exact cascade order:
LevelScope
1Exact match (category + specialization + experience + region + rate type)
2Category + specialization + experience + rate type (any region)
3Category + specialization + rate type (any experience, any region)
4Category + rate type (any specialization)
5Category only (broadest)
  1. 3. Always show context. We always tell you what scope produced your benchmark (e.g., "Based on 47 UI/UX designers across all experience levels").
  2. 4. Percentile math. Percentiles (25th, 50th/median, 75th) are calculated directly from the distribution. The mean is the arithmetic average. No smoothing, no modeling, no machine learning.

How to read the confidence labels

Benchmarks are displayed with confidence tiers based on the amount of data backing them:

Sample SizeWhat You See
100+Full distribution curve with all statistics. High confidence.
25-99Percentile ranking, median, and interquartile range (25th-75th percentile) shown with a note: "Based on [N] data points." Muted distribution curve.
10-24Median and range only with a note: "Limited data. Directional only."
Under 10No benchmark displayed. Prompt to share and invite peers.

We'd rather show you less data honestly than more data misleadingly.

How we protect your data

  • Email addresses are collected solely for duplicate prevention. Your email is never displayed publicly or shared with third parties.
  • All benchmarks are aggregate statistics. No individual submission is displayed in a way that could identify a specific person.
  • Submission data is stored with row-level security. The intended access pattern is aggregate benchmarks only. Endpoint hardening to enforce this fully is in progress.
  • Reference data from published sources is stored separately and attributed to its source.