{
  "source": "RevenueLab",
  "source_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator",
  "dataset": "gig_driver_earnings_by_city",
  "updated": "2026-05-20",
  "currency": "USD",
  "unit": "USD-equivalent gross per hour, costs per mile",
  "license": "CC BY 4.0 with attribution to RevenueLab.fyi",
  "citation": "RevenueLab — Gig driver earnings by city (https://www.revenuelab.fyi/api/public/gig-driver-earnings.json)",
  "notes": "Directional rideshare and food-delivery earning assumptions per city: gross fares per hour, platform commission, utilization (miles/hour), and vehicle cost per mile. Figures are modeling defaults for calculators, not surveyed wages — individual earnings vary by shift, vehicle, and promotions.",
  "count": 80,
  "cities": [
    {
      "slug": "new-york-city",
      "city": "New York City",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 42,
        "platform_cut_pct": 30,
        "typical_hours_per_week": 40,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.14,
        "insurance_monthly_usd": 320
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Grubhub"
        ],
        "gross_per_hour_usd": 28,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 180
      },
      "notes": "TLC rules and minimum-pay floors lift NYC rideshare gross above most US metros, but congestion drops miles/hr to ~14.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/new-york-city",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/new-york-city"
    },
    {
      "slug": "los-angeles",
      "city": "Los Angeles",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 32,
        "platform_cut_pct": 30,
        "typical_hours_per_week": 40,
        "miles_per_hour": 22,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.13,
        "insurance_monthly_usd": 260
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Instacart"
        ],
        "gross_per_hour_usd": 24,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 160
      },
      "notes": "California Prop 22 sets a floor on engaged time but excludes wait time — net hourly is sensitive to utilization.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/los-angeles",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/los-angeles"
    },
    {
      "slug": "chicago",
      "city": "Chicago",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 30,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 40,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 240
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Grubhub"
        ],
        "gross_per_hour_usd": 22,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 150
      },
      "notes": "Chicago's per-ride city tax (~$1.25–$3.00) gets pulled before commission; bake it into the gross figure.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/chicago",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/chicago"
    },
    {
      "slug": "san-francisco",
      "city": "San Francisco",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 38,
        "platform_cut_pct": 30,
        "typical_hours_per_week": 35,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.2,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.14,
        "insurance_monthly_usd": 300
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Instacart"
        ],
        "gross_per_hour_usd": 26,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.2,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.13,
        "insurance_monthly_usd": 200
      },
      "notes": "Birthplace of Uber & Lyft. High fares offset by California fuel prices and Prop 22 wait-time gaps.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/san-francisco",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/san-francisco"
    },
    {
      "slug": "miami",
      "city": "Miami",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 28,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 45,
        "miles_per_hour": 22,
        "fuel_cost_per_mile_usd": 0.15,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 280
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Rappi"
        ],
        "gross_per_hour_usd": 20,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.15,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 220
      },
      "notes": "Florida has the highest rideshare insurance in the US; Rappi competes with Uber Eats on the Latino delivery side.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/miami",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/miami"
    },
    {
      "slug": "toronto",
      "city": "Toronto",
      "country": "Canada",
      "region": "North America",
      "currency": "CAD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 26,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 40,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 260
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Instacart"
        ],
        "gross_per_hour_usd": 19,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 200
      },
      "notes": "Ontario's commercial-grade rideshare insurance is the single biggest fixed cost — often double a US metro.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/toronto",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/toronto"
    },
    {
      "slug": "seattle",
      "city": "Seattle",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 38,
        "platform_cut_pct": 30,
        "typical_hours_per_week": 38,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.19,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.13,
        "insurance_monthly_usd": 260
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Instacart"
        ],
        "gross_per_hour_usd": 26,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 32,
        "miles_per_hour": 15,
        "fuel_cost_per_mile_usd": 0.19,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 180
      },
      "notes": "PayUp ordinance (Jan 2024) sets binding per-min and per-mile minimums — second only to NYC in driver protections.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/seattle",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/seattle"
    },
    {
      "slug": "boston",
      "city": "Boston",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 35,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 38,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.13,
        "insurance_monthly_usd": 270
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Grubhub"
        ],
        "gross_per_hour_usd": 25,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 190
      },
      "notes": "MA AG settlement (June 2024) set a $32.50/hr engaged-time minimum — preserves IC status while adding benefits.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/boston",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/boston"
    },
    {
      "slug": "washington-dc",
      "city": "Washington DC",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 33,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 40,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 240
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Grubhub"
        ],
        "gross_per_hour_usd": 24,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 15,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 170
      },
      "notes": "6% DC gross-receipts tax on TNC fares; weekday commuter rush (6–9am) is the most profitable shift block in any US capital.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/washington-dc",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/washington-dc"
    },
    {
      "slug": "atlanta",
      "city": "Atlanta",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 26,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 45,
        "miles_per_hour": 22,
        "fuel_cost_per_mile_usd": 0.15,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 230
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Grubhub"
        ],
        "gross_per_hour_usd": 19,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.15,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 170
      },
      "notes": "ATL airport is busiest in the world but worst TNC staging — 60–90 min waits kill airport-only drivers.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/atlanta",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/atlanta"
    },
    {
      "slug": "houston",
      "city": "Houston",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 25,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 48,
        "miles_per_hour": 23,
        "fuel_cost_per_mile_usd": 0.13,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 220
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Favor"
        ],
        "gross_per_hour_usd": 18,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.13,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 160
      },
      "notes": "Worst dead-mileage ratio of any US metro RevenueLab tracks; Texas pre-empts city pay floors.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/houston",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/houston"
    },
    {
      "slug": "dallas",
      "city": "Dallas",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 26,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 50,
        "miles_per_hour": 24,
        "fuel_cost_per_mile_usd": 0.13,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 210
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Favor"
        ],
        "gross_per_hour_usd": 19,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 38,
        "miles_per_hour": 19,
        "fuel_cost_per_mile_usd": 0.13,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 160
      },
      "notes": "DFW is the highest hours-per-week US rideshare market; zone-shift mastery at the airport is the top earnings lever.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/dallas",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/dallas"
    },
    {
      "slug": "phoenix",
      "city": "Phoenix",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 24,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 45,
        "miles_per_hour": 23,
        "fuel_cost_per_mile_usd": 0.14,
        "maintenance_per_mile_usd": 0.1,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 200
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Instacart"
        ],
        "gross_per_hour_usd": 20,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 19,
        "fuel_cost_per_mile_usd": 0.14,
        "maintenance_per_mile_usd": 0.1,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 150
      },
      "notes": "Summer 115°F heat lifts per-mile maintenance ~30% above national avg; top-3 US delivery market by trip length.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/phoenix",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/phoenix"
    },
    {
      "slug": "denver",
      "city": "Denver",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 28,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 42,
        "miles_per_hour": 21,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 220
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Instacart"
        ],
        "gross_per_hour_usd": 21,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 32,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 160
      },
      "notes": "Steepest seasonal swing in the US — ski-season weekends 2.5–3× surge, April mud season drops gross 35%.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/denver",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/denver"
    },
    {
      "slug": "las-vegas",
      "city": "Las Vegas",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 30,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 45,
        "miles_per_hour": 21,
        "fuel_cost_per_mile_usd": 0.15,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 240
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Grubhub"
        ],
        "gross_per_hour_usd": 21,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 32,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.15,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 170
      },
      "notes": "Most surge-dependent US market — Strip event nights (CES, fight cards) routinely 4–5× surge 11pm–4am.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/las-vegas",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/las-vegas"
    },
    {
      "slug": "austin",
      "city": "Austin",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft",
          "RideAustin"
        ],
        "gross_per_hour_usd": 28,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 42,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.13,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 200
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Favor"
        ],
        "gross_per_hour_usd": 21,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 33,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.13,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 160
      },
      "notes": "Only major US metro where local apps (RideAustin) still hold ~15% share; SXSW week is the year's #1 earnings opportunity.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/austin",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/austin"
    },
    {
      "slug": "vancouver",
      "city": "Vancouver",
      "country": "Canada",
      "region": "North America",
      "currency": "CAD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft"
        ],
        "gross_per_hour_usd": 27,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 38,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.2,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.13,
        "insurance_monthly_usd": 280
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "SkipTheDishes"
        ],
        "gross_per_hour_usd": 20,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 15,
        "fuel_cost_per_mile_usd": 0.2,
        "maintenance_per_mile_usd": 0.09,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 220
      },
      "notes": "Class 4 commercial licence + ICBC monopoly insurance is the highest entry barrier in North America.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/vancouver",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/vancouver"
    },
    {
      "slug": "montreal",
      "city": "Montreal",
      "country": "Canada",
      "region": "North America",
      "currency": "CAD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Lyft",
          "Eva"
        ],
        "gross_per_hour_usd": 25,
        "platform_cut_pct": 28,
        "typical_hours_per_week": 40,
        "miles_per_hour": 19,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 240
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "SkipTheDishes"
        ],
        "gross_per_hour_usd": 18,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 200
      },
      "notes": "Quebec Bill 17 requires class 4C licence + 35-hr training; Eva Coop (driver-owned) holds ~8% of rides.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/montreal",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/montreal"
    },
    {
      "slug": "mexico-city",
      "city": "Mexico City",
      "country": "Mexico",
      "region": "Latin America",
      "currency": "MXN",
      "rideshare": {
        "primary_platform": "Didi",
        "alt_platforms": [
          "Uber",
          "Bolt"
        ],
        "gross_per_hour_usd": 8,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 55,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 60
      },
      "delivery": {
        "primary_platform": "Rappi",
        "alt_platforms": [
          "Uber Eats",
          "Didi"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 30
      },
      "notes": "Didi is #1 in CDMX; Uber is close second. Most Rappi cadetes work on motorbike — lower fuel, faster trips.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/mexico-city",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/mexico-city"
    },
    {
      "slug": "sao-paulo",
      "city": "São Paulo",
      "country": "Brazil",
      "region": "Latin America",
      "currency": "BRL",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Didi"
        ],
        "gross_per_hour_usd": 9,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 55,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 50
      },
      "delivery": {
        "primary_platform": "Rappi",
        "alt_platforms": [
          "Uber Eats",
          "iFood"
        ],
        "gross_per_hour_usd": 6,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 25
      },
      "notes": "iFood dominates local delivery; 99 (Didi) leads cheaper rides while Uber holds the premium tier.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/sao-paulo",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/sao-paulo"
    },
    {
      "slug": "buenos-aires",
      "city": "Buenos Aires",
      "country": "Argentina",
      "region": "Latin America",
      "currency": "ARS",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Didi",
          "Cabify"
        ],
        "gross_per_hour_usd": 6,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 55,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 25
      },
      "delivery": {
        "primary_platform": "Rappi",
        "alt_platforms": [
          "PedidosYa"
        ],
        "gross_per_hour_usd": 4,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 15
      },
      "notes": "ARS inflation distorts week-over-week earnings; most drivers convert tips to USD for stability.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/buenos-aires",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/buenos-aires"
    },
    {
      "slug": "bogota",
      "city": "Bogotá",
      "country": "Colombia",
      "region": "Latin America",
      "currency": "COP",
      "rideshare": {
        "primary_platform": "Didi",
        "alt_platforms": [
          "Uber",
          "Cabify"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 55,
        "miles_per_hour": 15,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 30
      },
      "delivery": {
        "primary_platform": "Rappi",
        "alt_platforms": [
          "Uber Eats",
          "iFood"
        ],
        "gross_per_hour_usd": 3.5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 55,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 15
      },
      "notes": "Rappi was founded in Bogotá; it's the city's default delivery app and one of LatAm's largest gig employers.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/bogota",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/bogota"
    },
    {
      "slug": "london",
      "city": "London",
      "country": "United Kingdom",
      "region": "Europe",
      "currency": "GBP",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Bolt",
          "Ola"
        ],
        "gross_per_hour_usd": 28,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 45,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 320
      },
      "delivery": {
        "primary_platform": "Deliveroo",
        "alt_platforms": [
          "Uber Eats",
          "Just Eat"
        ],
        "gross_per_hour_usd": 18,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.15,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.09,
        "insurance_monthly_usd": 200
      },
      "notes": "PHV licence + ULEZ + Congestion Charge stack on top of platform commission — model £180–280/mo extra.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/london",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/london"
    },
    {
      "slug": "paris",
      "city": "Paris",
      "country": "France",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Bolt",
          "Heetch"
        ],
        "gross_per_hour_usd": 24,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 45,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 240
      },
      "delivery": {
        "primary_platform": "Deliveroo",
        "alt_platforms": [
          "Uber Eats"
        ],
        "gross_per_hour_usd": 14,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.1,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.06,
        "insurance_monthly_usd": 100
      },
      "notes": "VTC card + 7-year capacitaire training raises entry barrier; net hourly for full-time drivers is meaningfully above EU average.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/paris",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/paris"
    },
    {
      "slug": "berlin",
      "city": "Berlin",
      "country": "Germany",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "FreeNow"
        ],
        "gross_per_hour_usd": 22,
        "platform_cut_pct": 20,
        "typical_hours_per_week": 45,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.09,
        "insurance_monthly_usd": 220
      },
      "delivery": {
        "primary_platform": "Uber Eats",
        "alt_platforms": [
          "Wolt",
          "Lieferando"
        ],
        "gross_per_hour_usd": 13,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 80
      },
      "notes": "Germany's P-Schein licence + minimum-wage rules apply; Lieferando dominates legacy delivery, Wolt is rising fast.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/berlin",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/berlin"
    },
    {
      "slug": "madrid",
      "city": "Madrid",
      "country": "Spain",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Cabify",
        "alt_platforms": [
          "Uber",
          "Bolt"
        ],
        "gross_per_hour_usd": 18,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 50,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.14,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.08,
        "insurance_monthly_usd": 180
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Uber Eats",
          "Deliveroo"
        ],
        "gross_per_hour_usd": 11,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 70
      },
      "notes": "Spain's Ley Rider forces couriers to be employees — kills classic gig setup; rideshare still operates via VTC licence.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/madrid",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/madrid"
    },
    {
      "slug": "lisbon",
      "city": "Lisbon",
      "country": "Portugal",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "FreeNow"
        ],
        "gross_per_hour_usd": 14,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 50,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.1,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.07,
        "insurance_monthly_usd": 90
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Uber Eats",
          "Bolt Food"
        ],
        "gross_per_hour_usd": 9,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 40,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 60
      },
      "notes": "Lisbon is a Bolt stronghold — 18% commission gives drivers ~10 pp more take-home vs Uber on identical fares.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/lisbon",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/lisbon"
    },
    {
      "slug": "warsaw",
      "city": "Warsaw",
      "country": "Poland",
      "region": "Europe",
      "currency": "PLN",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "FreeNow"
        ],
        "gross_per_hour_usd": 12,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 55,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.1,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.06,
        "insurance_monthly_usd": 80
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Bolt Food",
          "Uber Eats"
        ],
        "gross_per_hour_usd": 8,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 40,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 50
      },
      "notes": "Bolt is the volume leader; many drivers run Uber + Bolt simultaneously to fill quiet hours.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/warsaw",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/warsaw"
    },
    {
      "slug": "amsterdam",
      "city": "Amsterdam",
      "country": "Netherlands",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Bolt"
        ],
        "gross_per_hour_usd": 26,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 40,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 260
      },
      "delivery": {
        "primary_platform": "Uber Eats",
        "alt_platforms": [
          "Thuisbezorgd",
          "Deliveroo"
        ],
        "gross_per_hour_usd": 14,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 11,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 60
      },
      "notes": "Most Amsterdam couriers are on e-bike — kills fuel/depreciation cost, dramatically improves net hourly.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/amsterdam",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/amsterdam"
    },
    {
      "slug": "rome",
      "city": "Rome",
      "country": "Italy",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Uber Black",
        "alt_platforms": [
          "FreeNow",
          "itTaxi"
        ],
        "gross_per_hour_usd": 22,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 45,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 260
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Deliveroo",
          "Just Eat"
        ],
        "gross_per_hour_usd": 11,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 70
      },
      "notes": "UberX is illegal — only NCC-licensed Uber Black operates. ZTL fines are the dominant courier cost.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/rome",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/rome"
    },
    {
      "slug": "milan",
      "city": "Milan",
      "country": "Italy",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Uber Black",
        "alt_platforms": [
          "FreeNow",
          "Wetaxi"
        ],
        "gross_per_hour_usd": 26,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 45,
        "miles_per_hour": 15,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 280
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Deliveroo",
          "Uber Eats"
        ],
        "gross_per_hour_usd": 12,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 70
      },
      "notes": "Fashion Week + Salone del Mobile spikes lift NCC hourly. Area B LEZ bans Euro 4 diesel.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/milan",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/milan"
    },
    {
      "slug": "barcelona",
      "city": "Barcelona",
      "country": "Spain",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Cabify",
        "alt_platforms": [
          "FreeNow",
          "Bolt"
        ],
        "gross_per_hour_usd": 17,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 50,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.14,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.08,
        "insurance_monthly_usd": 180
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Uber Eats",
          "Just Eat"
        ],
        "gross_per_hour_usd": 11,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 13,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 70
      },
      "notes": "15-min VTC pre-booking rule kills spontaneous rideshare. Ley Rider forces courier employment.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/barcelona",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/barcelona"
    },
    {
      "slug": "dublin",
      "city": "Dublin",
      "country": "Ireland",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "FreeNow",
        "alt_platforms": [
          "Uber (taxi only)",
          "Bolt"
        ],
        "gross_per_hour_usd": 26,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 45,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 300
      },
      "delivery": {
        "primary_platform": "Deliveroo",
        "alt_platforms": [
          "Just Eat",
          "Bolt Food"
        ],
        "gross_per_hour_usd": 14,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.12,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.07,
        "insurance_monthly_usd": 100
      },
      "notes": "UberX banned — rideshare is licensed-taxi only. PWD 2024 transposition forces employee option.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/dublin",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/dublin"
    },
    {
      "slug": "stockholm",
      "city": "Stockholm",
      "country": "Sweden",
      "region": "Europe",
      "currency": "SEK",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "Taxi Stockholm"
        ],
        "gross_per_hour_usd": 23,
        "platform_cut_pct": 15,
        "typical_hours_per_week": 45,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.09,
        "insurance_monthly_usd": 220
      },
      "delivery": {
        "primary_platform": "Foodora",
        "alt_platforms": [
          "Wolt",
          "Uber Eats"
        ],
        "gross_per_hour_usd": 14,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 11,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 60
      },
      "notes": "Taxameter law forces certified equipment. Winter cuts bike-courier supply 40%, lifting per-order pay.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/stockholm",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/stockholm"
    },
    {
      "slug": "copenhagen",
      "city": "Copenhagen",
      "country": "Denmark",
      "region": "Europe",
      "currency": "DKK",
      "rideshare": {
        "primary_platform": "Drivr",
        "alt_platforms": [
          "Viggo",
          "Dantaxi"
        ],
        "gross_per_hour_usd": 24,
        "platform_cut_pct": 20,
        "typical_hours_per_week": 40,
        "miles_per_hour": 19,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 260
      },
      "delivery": {
        "primary_platform": "Wolt",
        "alt_platforms": [
          "Just Eat"
        ],
        "gross_per_hour_usd": 15,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 11,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 50
      },
      "notes": "Uber banned since 2017. Wolt-3F collective agreement (2024) is first EU platform-union deal.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/copenhagen",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/copenhagen"
    },
    {
      "slug": "oslo",
      "city": "Oslo",
      "country": "Norway",
      "region": "Europe",
      "currency": "NOK",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "Yango"
        ],
        "gross_per_hour_usd": 27,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 40,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.02,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 240
      },
      "delivery": {
        "primary_platform": "Wolt",
        "alt_platforms": [
          "Foodora",
          "Uber Eats"
        ],
        "gross_per_hour_usd": 16,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 11,
        "fuel_cost_per_mile_usd": 0.02,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 70
      },
      "notes": "85% EV fleet kills fuel cost. Bompengering tolls ($3–6/entry) are the new dominant variable.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/oslo",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/oslo"
    },
    {
      "slug": "vienna",
      "city": "Vienna",
      "country": "Austria",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Bolt",
          "FreeNow"
        ],
        "gross_per_hour_usd": 21,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 45,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.15,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.09,
        "insurance_monthly_usd": 200
      },
      "delivery": {
        "primary_platform": "Lieferando",
        "alt_platforms": [
          "Wolt",
          "Foodora"
        ],
        "gross_per_hour_usd": 12,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 11,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 70
      },
      "notes": "2020 reform unified taxi/PHV licence — Uber drivers charge regulated tariff, killing price edge.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/vienna",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/vienna"
    },
    {
      "slug": "zurich",
      "city": "Zurich",
      "country": "Switzerland",
      "region": "Europe",
      "currency": "CHF",
      "rideshare": {
        "primary_platform": "Uber (fleet)",
        "alt_platforms": [
          "Bolt",
          "Taxi 7x7"
        ],
        "gross_per_hour_usd": 38,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 42,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.2,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 380
      },
      "delivery": {
        "primary_platform": "Smood",
        "alt_platforms": [
          "Eat.ch"
        ],
        "gross_per_hour_usd": 22,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 11,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 120
      },
      "notes": "2022 Supreme Court forced employee classification — Uber runs via fleet partners with AHV/IV.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/zurich",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/zurich"
    },
    {
      "slug": "prague",
      "city": "Prague",
      "country": "Czech Republic",
      "region": "Europe",
      "currency": "CZK",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "Liftago"
        ],
        "gross_per_hour_usd": 14,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 50,
        "miles_per_hour": 19,
        "fuel_cost_per_mile_usd": 0.11,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.07,
        "insurance_monthly_usd": 110
      },
      "delivery": {
        "primary_platform": "Wolt",
        "alt_platforms": [
          "Bolt Food"
        ],
        "gross_per_hour_usd": 9,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 40,
        "miles_per_hour": 13,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 60
      },
      "notes": "2020 Transport Act legalized rideshare. Mandatory passenger insurance (~CZK 4,500/mo) is the new burden.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/prague",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/prague"
    },
    {
      "slug": "budapest",
      "city": "Budapest",
      "country": "Hungary",
      "region": "Europe",
      "currency": "HUF",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Főtaxi",
          "City Taxi"
        ],
        "gross_per_hour_usd": 11,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 55,
        "miles_per_hour": 19,
        "fuel_cost_per_mile_usd": 0.1,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.06,
        "insurance_monthly_usd": 90
      },
      "delivery": {
        "primary_platform": "Wolt",
        "alt_platforms": [
          "Foodpanda"
        ],
        "gross_per_hour_usd": 7,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 40,
        "miles_per_hour": 13,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 50
      },
      "notes": "Uber banned since 2016. Bolt operates under taxi framework — driver exam + medical required.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/budapest",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/budapest"
    },
    {
      "slug": "istanbul",
      "city": "Istanbul",
      "country": "Turkey",
      "region": "Europe",
      "currency": "TRY",
      "rideshare": {
        "primary_platform": "BiTaksi",
        "alt_platforms": [
          "Uber (taxi)",
          "iTaksi"
        ],
        "gross_per_hour_usd": 10,
        "platform_cut_pct": 15,
        "typical_hours_per_week": 60,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.13,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.07,
        "insurance_monthly_usd": 80
      },
      "delivery": {
        "primary_platform": "Yemeksepeti",
        "alt_platforms": [
          "Getir",
          "Trendyol Yemek"
        ],
        "gross_per_hour_usd": 6,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.09,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 50
      },
      "notes": "UberX banned 2019 — Uber is now a dispatch layer over licensed taxi medallions. TL devaluation crushes real take-home.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/istanbul",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/istanbul"
    },
    {
      "slug": "helsinki",
      "city": "Helsinki",
      "country": "Finland",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "Yango",
          "FixuTaxi"
        ],
        "gross_per_hour_usd": 22,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 38,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.2,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 180
      },
      "delivery": {
        "primary_platform": "Wolt",
        "alt_platforms": [
          "Foodora"
        ],
        "gross_per_hour_usd": 14,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 40
      },
      "notes": "Wolt's hometown — PAM-Wolt 2023 collective agreement sets €11.50/hr active courier floor, an EU first.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/helsinki",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/helsinki"
    },
    {
      "slug": "athens",
      "city": "Athens",
      "country": "Greece",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "FreeNow",
        "alt_platforms": [
          "Uber (taxi)",
          "inDrive"
        ],
        "gross_per_hour_usd": 11,
        "platform_cut_pct": 15,
        "typical_hours_per_week": 50,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.14,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.08,
        "insurance_monthly_usd": 110
      },
      "delivery": {
        "primary_platform": "efood",
        "alt_platforms": [
          "Wolt",
          "Box"
        ],
        "gross_per_hour_usd": 7,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 45,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 50
      },
      "notes": "UberX banned 2018 — Uber is taxi-dispatch only. efood (Delivery Hero) leads delivery with ~60% share.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/athens",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/athens"
    },
    {
      "slug": "bucharest",
      "city": "Bucharest",
      "country": "Romania",
      "region": "Europe",
      "currency": "RON",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "FreeNow",
          "Yango"
        ],
        "gross_per_hour_usd": 8,
        "platform_cut_pct": 15,
        "typical_hours_per_week": 55,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.11,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.06,
        "insurance_monthly_usd": 70
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Tazz",
          "Bolt Food"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 30
      },
      "notes": "OUG 49/2019 legalized rideshare; Bolt's 15% commission undercuts Uber's 25%. PFA 10% flat tax model.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/bucharest",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/bucharest"
    },
    {
      "slug": "sofia",
      "city": "Sofia",
      "country": "Bulgaria",
      "region": "Europe",
      "currency": "BGN",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Yellow Taxi",
          "OK Supertrans"
        ],
        "gross_per_hour_usd": 7,
        "platform_cut_pct": 15,
        "typical_hours_per_week": 55,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.1,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.06,
        "insurance_monthly_usd": 60
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Foodpanda",
          "TakeAway BG"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 48,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 25
      },
      "notes": "Uber exited 2015; Bolt dominant. Bulgaria has the EU's lowest fuel cost — structural margin advantage.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/sofia",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/sofia"
    },
    {
      "slug": "belgrade",
      "city": "Belgrade",
      "country": "Serbia",
      "region": "Europe",
      "currency": "RSD",
      "rideshare": {
        "primary_platform": "Yandex Go",
        "alt_platforms": [
          "CarGo",
          "Bolt"
        ],
        "gross_per_hour_usd": 6,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 55,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.1,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.06,
        "insurance_monthly_usd": 55
      },
      "delivery": {
        "primary_platform": "Wolt",
        "alt_platforms": [
          "Glovo"
        ],
        "gross_per_hour_usd": 4,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 25
      },
      "notes": "No formal TNC law — operates under 'limousine service' loophole. Paušalci flat-tax (~RSD 12k/mo) dominates.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/belgrade",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/belgrade"
    },
    {
      "slug": "zagreb",
      "city": "Zagreb",
      "country": "Croatia",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "Cammeo"
        ],
        "gross_per_hour_usd": 10,
        "platform_cut_pct": 17,
        "typical_hours_per_week": 48,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.13,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.07,
        "insurance_monthly_usd": 95
      },
      "delivery": {
        "primary_platform": "Wolt",
        "alt_platforms": [
          "Glovo",
          "Bolt Food"
        ],
        "gross_per_hour_usd": 6,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 42,
        "miles_per_hour": 13,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 35
      },
      "notes": "2018 Road Transport Act unified taxi + rideshare under one licence; 2024 PWD transposition added courier insurance.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/zagreb",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/zagreb"
    },
    {
      "slug": "naples",
      "city": "Naples",
      "country": "Italy",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Uber Black (NCC)",
        "alt_platforms": [
          "FreeNow",
          "ItTaxi"
        ],
        "gross_per_hour_usd": 14,
        "platform_cut_pct": 20,
        "typical_hours_per_week": 45,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.14,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.09,
        "insurance_monthly_usd": 140
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Deliveroo",
          "Just Eat"
        ],
        "gross_per_hour_usd": 8,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 45,
        "miles_per_hour": 13,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 60
      },
      "notes": "UberX banned (Legge 21/1992); scooter theft and ZTL fines are real courier line items. Riders' Decree €10/hr applies.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/naples",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/naples"
    },
    {
      "slug": "munich",
      "city": "Munich",
      "country": "Germany",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "FreeNow",
        "alt_platforms": [
          "Uber (Mietwagen)",
          "Bolt"
        ],
        "gross_per_hour_usd": 19,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 40,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 200
      },
      "delivery": {
        "primary_platform": "Lieferando",
        "alt_platforms": [
          "Flink",
          "Gorillas"
        ],
        "gross_per_hour_usd": 13,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 32,
        "miles_per_hour": 11,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 50
      },
      "notes": "PBefG Rückkehrpflicht forces Uber Mietwagen back to base after every ride — kills efficient routing.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/munich",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/munich"
    },
    {
      "slug": "hamburg",
      "city": "Hamburg",
      "country": "Germany",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "FreeNow",
        "alt_platforms": [
          "Uber (Mietwagen)",
          "Bolt"
        ],
        "gross_per_hour_usd": 20,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 42,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.18,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 190
      },
      "delivery": {
        "primary_platform": "Lieferando",
        "alt_platforms": [
          "Wolt",
          "Flink"
        ],
        "gross_per_hour_usd": 13,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 32,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 50
      },
      "notes": "Hamburg-Modell 2021 relaxes Mietwagen return-rule — gross ~10% above Berlin/Munich for Uber partners.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/hamburg",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/hamburg"
    },
    {
      "slug": "brussels",
      "city": "Brussels",
      "country": "Belgium",
      "region": "Europe",
      "currency": "EUR",
      "rideshare": {
        "primary_platform": "Heetch",
        "alt_platforms": [
          "Uber (LVC)",
          "Bolt"
        ],
        "gross_per_hour_usd": 16,
        "platform_cut_pct": 20,
        "typical_hours_per_week": 42,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 170
      },
      "delivery": {
        "primary_platform": "Uber Eats",
        "alt_platforms": [
          "Takeaway.com",
          "Wolt"
        ],
        "gross_per_hour_usd": 11,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 45
      },
      "notes": "Uber re-banned Nov 2023, partial Jan 2024 LVC relaunch. Deliveroo exited Belgium after 2022 employee reclassification.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/brussels",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/brussels"
    },
    {
      "slug": "manchester",
      "city": "Manchester",
      "country": "United Kingdom",
      "region": "Europe",
      "currency": "GBP",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Bolt",
          "FreeNow"
        ],
        "gross_per_hour_usd": 17,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 42,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.19,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 180
      },
      "delivery": {
        "primary_platform": "Deliveroo",
        "alt_platforms": [
          "Uber Eats",
          "Just Eat"
        ],
        "gross_per_hour_usd": 12,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 32,
        "miles_per_hour": 13,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 55
      },
      "notes": "TfGM Minimum Standards 2022 + Aslam ruling — Uber drivers are workers with NMW + holiday pay on engaged time.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/manchester",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/manchester"
    },
    {
      "slug": "edinburgh",
      "city": "Edinburgh",
      "country": "United Kingdom",
      "region": "Europe",
      "currency": "GBP",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Bolt",
          "FreeNow",
          "Central Taxis"
        ],
        "gross_per_hour_usd": 19,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 40,
        "miles_per_hour": 17,
        "fuel_cost_per_mile_usd": 0.19,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 170
      },
      "delivery": {
        "primary_platform": "Deliveroo",
        "alt_platforms": [
          "Uber Eats",
          "Just Eat"
        ],
        "gross_per_hour_usd": 12,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 50
      },
      "notes": "PHV licence cap (frozen since 2017) creates medallion-like scarcity. August Fringe = year's #1 earnings supercycle.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/edinburgh",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/edinburgh"
    },
    {
      "slug": "singapore",
      "city": "Singapore",
      "country": "Singapore",
      "region": "Asia Pacific",
      "currency": "SGD",
      "rideshare": {
        "primary_platform": "Grab",
        "alt_platforms": [
          "Gojek",
          "Tada"
        ],
        "gross_per_hour_usd": 18,
        "platform_cut_pct": 20,
        "typical_hours_per_week": 55,
        "miles_per_hour": 22,
        "fuel_cost_per_mile_usd": 0.12,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.08,
        "insurance_monthly_usd": 220
      },
      "delivery": {
        "primary_platform": "Grab",
        "alt_platforms": [
          "Foodpanda",
          "Deliveroo"
        ],
        "gross_per_hour_usd": 12,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 45,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 80
      },
      "notes": "COE-loaded car costs make rental fleets standard; bake S$80–110/day into the depreciation line if you rent.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/singapore",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/singapore"
    },
    {
      "slug": "kuala-lumpur",
      "city": "Kuala Lumpur",
      "country": "Malaysia",
      "region": "Asia Pacific",
      "currency": "MYR",
      "rideshare": {
        "primary_platform": "Grab",
        "alt_platforms": [
          "AirAsia Ride",
          "InDrive"
        ],
        "gross_per_hour_usd": 9,
        "platform_cut_pct": 20,
        "typical_hours_per_week": 60,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 80
      },
      "delivery": {
        "primary_platform": "GrabFood",
        "alt_platforms": [
          "Foodpanda",
          "ShopeeFood"
        ],
        "gross_per_hour_usd": 6,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 40
      },
      "notes": "Most KL delivery is motorbike; subsidized RON95 fuel keeps the per-km cost among the lowest in SEA.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/kuala-lumpur",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/kuala-lumpur"
    },
    {
      "slug": "jakarta",
      "city": "Jakarta",
      "country": "Indonesia",
      "region": "Asia Pacific",
      "currency": "IDR",
      "rideshare": {
        "primary_platform": "Gojek",
        "alt_platforms": [
          "Grab",
          "InDrive"
        ],
        "gross_per_hour_usd": 4,
        "platform_cut_pct": 20,
        "typical_hours_per_week": 60,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 35
      },
      "delivery": {
        "primary_platform": "GoFood",
        "alt_platforms": [
          "GrabFood",
          "ShopeeFood"
        ],
        "gross_per_hour_usd": 3,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 60,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.03,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.02,
        "insurance_monthly_usd": 20
      },
      "notes": "Motorbike-first market: GoRide and GrabBike dominate trip volume. GoCar is the higher-margin product.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/jakarta",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/jakarta"
    },
    {
      "slug": "bangkok",
      "city": "Bangkok",
      "country": "Thailand",
      "region": "Asia Pacific",
      "currency": "THB",
      "rideshare": {
        "primary_platform": "Grab",
        "alt_platforms": [
          "Bolt",
          "InDrive"
        ],
        "gross_per_hour_usd": 7,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 55,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 60
      },
      "delivery": {
        "primary_platform": "GrabFood",
        "alt_platforms": [
          "LineMan",
          "Foodpanda"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 30
      },
      "notes": "LineMan (LINE-owned) is bigger than GrabFood in local food delivery — model both if you ride a motorbike.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/bangkok",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/bangkok"
    },
    {
      "slug": "manila",
      "city": "Manila",
      "country": "Philippines",
      "region": "Asia Pacific",
      "currency": "PHP",
      "rideshare": {
        "primary_platform": "Grab",
        "alt_platforms": [
          "InDrive",
          "JoyRide"
        ],
        "gross_per_hour_usd": 6,
        "platform_cut_pct": 20,
        "typical_hours_per_week": 55,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 45
      },
      "delivery": {
        "primary_platform": "GrabFood",
        "alt_platforms": [
          "Foodpanda",
          "Lalamove"
        ],
        "gross_per_hour_usd": 4,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 30
      },
      "notes": "Severe traffic limits miles/hour; surge during typhoon season can double gross fare for two-three weeks.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/manila",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/manila"
    },
    {
      "slug": "mumbai",
      "city": "Mumbai",
      "country": "India",
      "region": "Asia Pacific",
      "currency": "INR",
      "rideshare": {
        "primary_platform": "Ola",
        "alt_platforms": [
          "Uber",
          "Rapido"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 60,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 40
      },
      "delivery": {
        "primary_platform": "Swiggy",
        "alt_platforms": [
          "Zomato",
          "Dunzo"
        ],
        "gross_per_hour_usd": 3.5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 55,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 25
      },
      "notes": "Rapido motorbike rides are the cheapest segment; Swiggy + Zomato together cover ~95% of urban food delivery.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/mumbai",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/mumbai"
    },
    {
      "slug": "bengaluru",
      "city": "Bengaluru",
      "country": "India",
      "region": "Asia Pacific",
      "currency": "INR",
      "rideshare": {
        "primary_platform": "Ola",
        "alt_platforms": [
          "Uber",
          "Rapido"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 60,
        "miles_per_hour": 15,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 40
      },
      "delivery": {
        "primary_platform": "Swiggy",
        "alt_platforms": [
          "Zomato",
          "Dunzo"
        ],
        "gross_per_hour_usd": 3.5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 55,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 25
      },
      "notes": "Ola HQ city. CNG fleets push fuel costs below petrol baseline — meaningful net-hourly bump.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/bengaluru",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/bengaluru"
    },
    {
      "slug": "delhi",
      "city": "Delhi",
      "country": "India",
      "region": "Asia Pacific",
      "currency": "INR",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Ola",
          "Rapido"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 60,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 40
      },
      "delivery": {
        "primary_platform": "Zomato",
        "alt_platforms": [
          "Swiggy",
          "Blinkit"
        ],
        "gross_per_hour_usd": 3.5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 55,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 25
      },
      "notes": "CNG-mandated fleet keeps fuel costs low; Blinkit (Zomato-owned) quick-commerce competes for the same riders.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/delhi",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/delhi"
    },
    {
      "slug": "tokyo",
      "city": "Tokyo",
      "country": "Japan",
      "region": "Asia Pacific",
      "currency": "JPY",
      "rideshare": {
        "primary_platform": "Didi",
        "alt_platforms": [
          "Uber",
          "GO"
        ],
        "gross_per_hour_usd": 22,
        "platform_cut_pct": 12,
        "typical_hours_per_week": 40,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.15,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.08,
        "insurance_monthly_usd": 180
      },
      "delivery": {
        "primary_platform": "Uber Eats",
        "alt_platforms": [
          "Demae-can",
          "Wolt"
        ],
        "gross_per_hour_usd": 16,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 10,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 40
      },
      "notes": "Rideshare is mostly licensed-taxi via Didi/GO — driver actually employed. Uber Eats bicycle couriers are the true gig pool.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/tokyo",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/tokyo"
    },
    {
      "slug": "seoul",
      "city": "Seoul",
      "country": "South Korea",
      "region": "Asia Pacific",
      "currency": "KRW",
      "rideshare": {
        "primary_platform": "Kakao T",
        "alt_platforms": [
          "Tada",
          "Uber Taxi"
        ],
        "gross_per_hour_usd": 18,
        "platform_cut_pct": 15,
        "typical_hours_per_week": 45,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.14,
        "maintenance_per_mile_usd": 0.06,
        "depreciation_per_mile_usd": 0.08,
        "insurance_monthly_usd": 160
      },
      "delivery": {
        "primary_platform": "Baemin",
        "alt_platforms": [
          "Coupang Eats",
          "Yogiyo"
        ],
        "gross_per_hour_usd": 14,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 40,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 60
      },
      "notes": "General rideshare is banned — Kakao T routes licensed taxis only. Baemin/Coupang Eats couriers are the real gig pool.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/seoul",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/seoul"
    },
    {
      "slug": "hong-kong",
      "city": "Hong Kong",
      "country": "Hong Kong SAR",
      "region": "Asia Pacific",
      "currency": "HKD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "HKTaxi",
          "Fly Taxi"
        ],
        "gross_per_hour_usd": 20,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 45,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.07,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 240
      },
      "delivery": {
        "primary_platform": "Foodpanda",
        "alt_platforms": [
          "Deliveroo",
          "KeeTa"
        ],
        "gross_per_hour_usd": 12,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 35,
        "miles_per_hour": 10,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 60
      },
      "notes": "Uber operates in legal gray zone (Road Traffic Ordinance) — enforcement is sporadic but real. KeeTa (Meituan) is the rising delivery challenger.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/hong-kong",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/hong-kong"
    },
    {
      "slug": "taipei",
      "city": "Taipei",
      "country": "Taiwan",
      "region": "Asia Pacific",
      "currency": "TWD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "LINE Taxi",
          "Yoxi"
        ],
        "gross_per_hour_usd": 13,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 50,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.1,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.07,
        "insurance_monthly_usd": 110
      },
      "delivery": {
        "primary_platform": "Foodpanda",
        "alt_platforms": [
          "Uber Eats"
        ],
        "gross_per_hour_usd": 9,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 45,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 35
      },
      "notes": "Uber drivers must operate via rental car partner (2017 Highway Act clause). Foodpanda scooter couriers are one of its top global markets.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/taipei",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/taipei"
    },
    {
      "slug": "ho-chi-minh-city",
      "city": "Ho Chi Minh City",
      "country": "Vietnam",
      "region": "Asia Pacific",
      "currency": "VND",
      "rideshare": {
        "primary_platform": "Grab",
        "alt_platforms": [
          "Be",
          "Xanh SM"
        ],
        "gross_per_hour_usd": 4,
        "platform_cut_pct": 20,
        "typical_hours_per_week": 60,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 25
      },
      "delivery": {
        "primary_platform": "GrabFood",
        "alt_platforms": [
          "ShopeeFood",
          "Be Food"
        ],
        "gross_per_hour_usd": 3,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 60,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.03,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.02,
        "insurance_monthly_usd": 15
      },
      "notes": "GrabBike does 4M+ daily motorbike rides. Xanh SM (VinFast) pays drivers monthly salary — unique globally.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/ho-chi-minh-city",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/ho-chi-minh-city"
    },
    {
      "slug": "lagos",
      "city": "Lagos",
      "country": "Nigeria",
      "region": "Africa",
      "currency": "NGN",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "InDrive"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 60,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.1,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.06,
        "insurance_monthly_usd": 35
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Bolt Food",
          "Chowdeck"
        ],
        "gross_per_hour_usd": 3.5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 55,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 25
      },
      "notes": "Fuel subsidy removal in 2023 doubled per-km cost overnight — many drivers still rebuilding margin.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/lagos",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/lagos"
    },
    {
      "slug": "nairobi",
      "city": "Nairobi",
      "country": "Kenya",
      "region": "Africa",
      "currency": "KES",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "Little"
        ],
        "gross_per_hour_usd": 4.5,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 60,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.09,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 40
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Bolt Food",
          "Jumia Food"
        ],
        "gross_per_hour_usd": 3,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 55,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 25
      },
      "notes": "Bolt and Uber are near parity on volume; Little (Safaricom-owned) is the local third option.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/nairobi",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/nairobi"
    },
    {
      "slug": "johannesburg",
      "city": "Johannesburg",
      "country": "South Africa",
      "region": "Africa",
      "currency": "ZAR",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "inDrive"
        ],
        "gross_per_hour_usd": 7,
        "platform_cut_pct": 18,
        "typical_hours_per_week": 55,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.11,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.07,
        "insurance_monthly_usd": 90
      },
      "delivery": {
        "primary_platform": "Uber Eats",
        "alt_platforms": [
          "Mr D Food",
          "Bolt Food"
        ],
        "gross_per_hour_usd": 5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 45,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 60
      },
      "notes": "Load-shedding curtails delivery hours; rideshare driver protests over fuel/commission are a recurring risk.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/johannesburg",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/johannesburg"
    },
    {
      "slug": "cairo",
      "city": "Cairo",
      "country": "Egypt",
      "region": "Middle East & North Africa",
      "currency": "EGP",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Careem",
          "InDrive"
        ],
        "gross_per_hour_usd": 4,
        "platform_cut_pct": 22,
        "typical_hours_per_week": 60,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 30
      },
      "delivery": {
        "primary_platform": "Talabat",
        "alt_platforms": [
          "Elmenus",
          "Mrsool"
        ],
        "gross_per_hour_usd": 3,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 55,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.04,
        "maintenance_per_mile_usd": 0.02,
        "depreciation_per_mile_usd": 0.03,
        "insurance_monthly_usd": 20
      },
      "notes": "EGP devaluation over the past two years halved real take-home in USD; most drivers price in cash.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/cairo",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/cairo"
    },
    {
      "slug": "dubai",
      "city": "Dubai",
      "country": "United Arab Emirates",
      "region": "Middle East & North Africa",
      "currency": "AED",
      "rideshare": {
        "primary_platform": "Careem",
        "alt_platforms": [
          "Uber",
          "Bolt"
        ],
        "gross_per_hour_usd": 16,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 55,
        "miles_per_hour": 22,
        "fuel_cost_per_mile_usd": 0.09,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.07,
        "insurance_monthly_usd": 150
      },
      "delivery": {
        "primary_platform": "Talabat",
        "alt_platforms": [
          "Deliveroo",
          "Careem Food"
        ],
        "gross_per_hour_usd": 10,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.05,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 80
      },
      "notes": "Rideshare is fleet-based via Hala (Careem-RTA JV); independent drivers can't onboard directly. Delivery is open.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/dubai",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/dubai"
    },
    {
      "slug": "cape-town",
      "city": "Cape Town",
      "country": "South Africa",
      "region": "Africa",
      "currency": "ZAR",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Bolt",
          "inDrive"
        ],
        "gross_per_hour_usd": 6.5,
        "platform_cut_pct": 25,
        "typical_hours_per_week": 55,
        "miles_per_hour": 22,
        "fuel_cost_per_mile_usd": 0.11,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.07,
        "insurance_monthly_usd": 85
      },
      "delivery": {
        "primary_platform": "Uber Eats",
        "alt_platforms": [
          "Mr D Food",
          "Bolt Food"
        ],
        "gross_per_hour_usd": 4.5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 45,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 55
      },
      "notes": "Tourist season (Dec–Feb) is the earnings window; meter-taxi tension at airport ranks is a real safety variable.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/cape-town",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/cape-town"
    },
    {
      "slug": "accra",
      "city": "Accra",
      "country": "Ghana",
      "region": "Africa",
      "currency": "GHS",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "Yango"
        ],
        "gross_per_hour_usd": 4,
        "platform_cut_pct": 15,
        "typical_hours_per_week": 60,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.09,
        "maintenance_per_mile_usd": 0.05,
        "depreciation_per_mile_usd": 0.06,
        "insurance_monthly_usd": 30
      },
      "delivery": {
        "primary_platform": "Bolt Food",
        "alt_platforms": [
          "Glovo",
          "Jumia Food"
        ],
        "gross_per_hour_usd": 3,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 55,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.07,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 20
      },
      "notes": "Yango (Yandex spinoff) entered 2022 at 11% commission and pulled meaningful share from Bolt and Uber.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/accra",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/accra"
    },
    {
      "slug": "casablanca",
      "city": "Casablanca",
      "country": "Morocco",
      "region": "Middle East & North Africa",
      "currency": "MAD",
      "rideshare": {
        "primary_platform": "InDrive",
        "alt_platforms": [
          "Heetch",
          "Roby"
        ],
        "gross_per_hour_usd": 4.5,
        "platform_cut_pct": 10,
        "typical_hours_per_week": 55,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 35
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Jumia Food"
        ],
        "gross_per_hour_usd": 3,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 50,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 25
      },
      "notes": "No formal TNC framework — Uber and Careem exited. InDrive's bid-your-price model dominates the gray-zone market.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/casablanca",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/casablanca"
    },
    {
      "slug": "dar-es-salaam",
      "city": "Dar es Salaam",
      "country": "Tanzania",
      "region": "Africa",
      "currency": "TZS",
      "rideshare": {
        "primary_platform": "Bolt",
        "alt_platforms": [
          "Uber",
          "Little"
        ],
        "gross_per_hour_usd": 3.5,
        "platform_cut_pct": 15,
        "typical_hours_per_week": 60,
        "miles_per_hour": 14,
        "fuel_cost_per_mile_usd": 0.08,
        "maintenance_per_mile_usd": 0.04,
        "depreciation_per_mile_usd": 0.05,
        "insurance_monthly_usd": 30
      },
      "delivery": {
        "primary_platform": "Glovo",
        "alt_platforms": [
          "Bolt Food",
          "Jumia Food"
        ],
        "gross_per_hour_usd": 2.5,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 55,
        "miles_per_hour": 12,
        "fuel_cost_per_mile_usd": 0.06,
        "maintenance_per_mile_usd": 0.03,
        "depreciation_per_mile_usd": 0.04,
        "insurance_monthly_usd": 20
      },
      "notes": "Bodaboda (motorbike) rideshare dominates trip count; daily bike rental is the largest cost line.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/dar-es-salaam",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/dar-es-salaam"
    },
    {
      "slug": "sydney",
      "city": "Sydney",
      "country": "Australia",
      "region": "Oceania",
      "currency": "AUD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Didi",
          "Ola"
        ],
        "gross_per_hour_usd": 30,
        "platform_cut_pct": 27,
        "typical_hours_per_week": 40,
        "miles_per_hour": 22,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 260
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Menulog"
        ],
        "gross_per_hour_usd": 22,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 200
      },
      "notes": "Point-to-Point Transport levy ($1.10/trip) is pulled before commission; bake into gross/hr if you average ≥2 trips/hr.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/sydney",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/sydney"
    },
    {
      "slug": "melbourne",
      "city": "Melbourne",
      "country": "Australia",
      "region": "Oceania",
      "currency": "AUD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "DiDi",
          "Ola"
        ],
        "gross_per_hour_usd": 28,
        "platform_cut_pct": 27,
        "typical_hours_per_week": 40,
        "miles_per_hour": 22,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.12,
        "insurance_monthly_usd": 250
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Menulog"
        ],
        "gross_per_hour_usd": 21,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 18,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 190
      },
      "notes": "Tram network softens short-trip demand; airport runs and late-night CBD are the highest-yield slots.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/melbourne",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/melbourne"
    },
    {
      "slug": "brisbane",
      "city": "Brisbane",
      "country": "Australia",
      "region": "Oceania",
      "currency": "AUD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "DiDi",
          "Ola"
        ],
        "gross_per_hour_usd": 26,
        "platform_cut_pct": 27,
        "typical_hours_per_week": 40,
        "miles_per_hour": 26,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 220
      },
      "delivery": {
        "primary_platform": "DoorDash",
        "alt_platforms": [
          "Uber Eats",
          "Menulog"
        ],
        "gross_per_hour_usd": 20,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 175
      },
      "notes": "Highest miles/hour of any AU capital. Olympic 2032 build-out is inflating airport and convention demand early.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/brisbane",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/brisbane"
    },
    {
      "slug": "perth",
      "city": "Perth",
      "country": "Australia",
      "region": "Oceania",
      "currency": "AUD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "DiDi",
          "Ola"
        ],
        "gross_per_hour_usd": 27,
        "platform_cut_pct": 27,
        "typical_hours_per_week": 40,
        "miles_per_hour": 25,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 230
      },
      "delivery": {
        "primary_platform": "Uber Eats",
        "alt_platforms": [
          "DoorDash",
          "Menulog"
        ],
        "gross_per_hour_usd": 20,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.16,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 175
      },
      "notes": "FIFO mining shift-change Sundays at Perth Airport are the structural earnings window — surge 2.0–2.5x.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/perth",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/perth"
    },
    {
      "slug": "auckland",
      "city": "Auckland",
      "country": "New Zealand",
      "region": "Oceania",
      "currency": "NZD",
      "rideshare": {
        "primary_platform": "Uber",
        "alt_platforms": [
          "Ola",
          "Zoomy"
        ],
        "gross_per_hour_usd": 25,
        "platform_cut_pct": 27,
        "typical_hours_per_week": 40,
        "miles_per_hour": 20,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.11,
        "insurance_monthly_usd": 230
      },
      "delivery": {
        "primary_platform": "Uber Eats",
        "alt_platforms": [
          "DoorDash",
          "Delivereasy"
        ],
        "gross_per_hour_usd": 19,
        "platform_cut_pct": 0,
        "typical_hours_per_week": 30,
        "miles_per_hour": 16,
        "fuel_cost_per_mile_usd": 0.17,
        "maintenance_per_mile_usd": 0.08,
        "depreciation_per_mile_usd": 0.1,
        "insurance_monthly_usd": 170
      },
      "notes": "E Tū v Uber 2022 Employment Court ruling under Supreme Court appeal — outcome will reset NZ gig economics.",
      "rideshare_calculator_url": "https://www.revenuelab.fyi/rideshare-driver-earnings-calculator/auckland",
      "delivery_calculator_url": "https://www.revenuelab.fyi/food-delivery-driver-earnings-calculator/auckland"
    }
  ]
}