Data Model

WhatPeoplePayFor tracks gig economy marketplace data — service listings, pricing, order volumes, and buyer pain points. Data is collected monthly and organized into a set of core entities.

Schema

The dataset is built around five core entities. Each is keyed by month, enabling time-series analysis across data refreshes.

Sources

Data platforms from which gig listings are collected (e.g. Fiverr).

FieldTypeDescription
idstringUnique source identifier
namestringDisplay name (e.g. "Fiverr")
urlstringPlatform URL

Categories

274 service categories representing different types of freelance work.

FieldTypeDescription
slugstringURL-safe identifier (e.g. "ai-services")
namestringDisplay name (e.g. "AI Services")
source_idstringWhich platform this category belongs to

Gig Snapshots

Individual service listings captured at a point in time. Each snapshot records the gig's pricing, order count, and seller information.

FieldTypeDescription
titlestringGig listing title
pricenumberStarting price in USD
ordersnumberTotal completed orders
sellerstringSeller username
category_slugstringCategory this gig belongs to
monthstringData collection month (YYYY-MM)

Category Rollups

Monthly aggregations per category — averages and totals computed from all gig snapshots in that category for a given month.

FieldTypeDescription
categorystringCategory display name
category_slugstringCategory slug
avg_revenuenumberAverage revenue per gig
avg_ordersnumberAverage orders per gig
gig_countnumberTotal gigs in category
monthstringData month (YYYY-MM)

Pain Points

Extracted buyer concerns and frustrations. These are common themes found in buyer reviews and requirements, aggregated by category and month.

FieldTypeDescription
pain_pointstringDescription of the buyer concern
frequencynumberHow often this pain point appears
category_slugstringAssociated category
monthstringData month (YYYY-MM)

Monthly refresh cycle

Data is refreshed on a monthly cadence. At the start of each month, new snapshots are collected from all tracked platforms, category rollups are recomputed, and pain points are re-extracted.

Historical months remain available for comparison. Use the query/months endpoint to see which months have data, and pass the month parameter to any query endpoint to select a specific period.