{
  "_metadata": {
    "last_updated": "2026-05-04T22:03:24.137122+00:00",
    "schema_version": 1,
    "currency": "EUR",
    "notes": "Each price has a source + observed_at. Page renders directly from this file. Scraper refreshes weekly via Hetzner cron."
  },
  "groceries": {
    "label": "Weekly basket (typical staples)",
    "source_default": "Lidl Bulgaria + Kaufland Bulgaria + Billa, weekly average",
    "items": [
      {
        "name": "White bread loaf",
        "size": "700g",
        "price_eur": 0.69,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Fresh milk 3.6%",
        "size": "1L",
        "price_eur": 1.45,
        "source": "Kaufland",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Eggs L size",
        "size": "10 pack",
        "price_eur": 2.15,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Chicken breast",
        "size": "1 kg",
        "price_eur": 6.49,
        "source": "Kaufland",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Pork mince",
        "size": "500g",
        "price_eur": 3.99,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Sirene (white cheese)",
        "size": "500g",
        "price_eur": 4.79,
        "source": "Billa",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Kashkaval (yellow cheese)",
        "size": "400g",
        "price_eur": 5.85,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Yoghurt (kiselo mlyako) 3.6%",
        "size": "400g",
        "price_eur": 0.85,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Sunflower oil",
        "size": "1L",
        "price_eur": 1.79,
        "source": "Kaufland",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Pasta (spaghetti)",
        "size": "500g",
        "price_eur": 0.79,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Long-grain rice",
        "size": "1 kg",
        "price_eur": 2.05,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Tomatoes (Bulgarian)",
        "size": "1 kg",
        "price_eur": 2.45,
        "source": "Local market, Shumen",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Cucumbers",
        "size": "1 kg",
        "price_eur": 1.99,
        "source": "Local market, Shumen",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Apples",
        "size": "1 kg",
        "price_eur": 1.69,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Bananas",
        "size": "1 kg",
        "price_eur": 1.79,
        "source": "Kaufland",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Onions",
        "size": "1 kg",
        "price_eur": 0.99,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Potatoes",
        "size": "1 kg",
        "price_eur": 0.89,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Coffee (ground, mid-range)",
        "size": "250g",
        "price_eur": 3.49,
        "source": "Kaufland",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Sugar",
        "size": "1 kg",
        "price_eur": 1.15,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Mineral water (still)",
        "size": "1.5L",
        "price_eur": 0.55,
        "source": "Lidl Bulgaria",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Beer (Zagorka, can)",
        "size": "500ml",
        "price_eur": 0.95,
        "source": "Kaufland",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Table wine (mid-range red)",
        "size": "750ml",
        "price_eur": 4.5,
        "source": "Kaufland",
        "observed_at": "2026-05-04"
      }
    ]
  },
  "utilities": {
    "label": "Monthly utilities (typical 80m² apartment, 2 occupants)",
    "items": [
      {
        "name": "Electricity",
        "size": "300 kWh/month",
        "price_eur": 39.3,
        "source": "Energo-Pro NE Bulgaria tariff (Shumen region) day+night blend, KEVR-approved",
        "observed_at": "2026-05-05"
      },
      {
        "name": "Water + sewage",
        "size": "10 m³/month",
        "price_eur": 18.0,
        "source": "ViK Shumen, household tariff",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Heating gas (winter avg)",
        "size": "monthly amortised",
        "price_eur": 38.0,
        "source": "Bulgargaz tariffs",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Internet (fibre 300 Mbps)",
        "size": "monthly",
        "price_eur": 19.0,
        "source": "Vivacom fibre 300 Mbps tariff plan (standalone, mid-range)",
        "observed_at": "2026-05-05"
      },
      {
        "name": "Mobile (10 GB data + unlimited calls)",
        "size": "monthly",
        "price_eur": 9.0,
        "source": "Yettel mid-range plan",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Council rubbish fee",
        "size": "monthly amortised",
        "price_eur": 6.0,
        "source": "Shumen Municipality",
        "observed_at": "2026-05-04"
      }
    ]
  },
  "transport": {
    "label": "Transport (current Bulgarian averages)",
    "items": [
      {
        "name": "Petrol A95",
        "size": "1L",
        "price_eur": 1.5,
        "source": "Fuelo.net",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Diesel",
        "size": "1L",
        "price_eur": 1.79,
        "source": "Fuelo.net",
        "observed_at": "2026-05-04"
      },
      {
        "name": "LPG",
        "size": "1L",
        "price_eur": 0.82,
        "source": "Fuelo.net",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Bus ticket (city, single)",
        "size": "1 ride",
        "price_eur": 1.0,
        "source": "Sofia public transport",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Monthly bus pass (Sofia)",
        "size": "1 month, all lines",
        "price_eur": 25.5,
        "source": "Sofia public transport (sofiatraffic.bg, January 2026 conversion)",
        "observed_at": "2026-05-05"
      },
      {
        "name": "Taxi (5 km, day rate)",
        "size": "5 km",
        "price_eur": 4.5,
        "source": "Yellow Taxi/OK Supertrans",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Train Sofia, Varna (2nd class)",
        "size": "one way",
        "price_eur": 12.0,
        "source": "BDZ Passengers (razpisanie.bdz.bg, 2nd class base fare)",
        "observed_at": "2026-05-05"
      }
    ]
  },
  "eating_out": {
    "label": "Eating out (national averages from Glovo + chain menus)",
    "items": [
      {
        "name": "Espresso (cafe)",
        "size": "single",
        "price_eur": 1.2,
        "source": "Glovo Sofia sample",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Cappuccino",
        "size": "regular",
        "price_eur": 2.3,
        "source": "Glovo Sofia sample",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Banitsa from bakery",
        "size": "1 portion",
        "price_eur": 1.15,
        "source": "Local bakeries",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Beer in bar (draught)",
        "size": "500ml",
        "price_eur": 2.5,
        "source": "Glovo Sofia sample",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Soft drink in restaurant",
        "size": "330ml",
        "price_eur": 1.8,
        "source": "Glovo Sofia sample",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Daily menu (dnevno menu)",
        "size": "soup + main",
        "price_eur": 8.5,
        "source": "Shumen restaurants survey",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Pizza margherita (mid-range)",
        "size": "30cm",
        "price_eur": 9.5,
        "source": "Glovo Sofia sample",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Three-course meal for two",
        "size": "mid-range restaurant",
        "price_eur": 45.0,
        "source": "Numbeo cross-check",
        "observed_at": "2026-05-04"
      },
      {
        "name": "McDonald's Big Mac meal",
        "size": "1 meal",
        "price_eur": 7.2,
        "source": "McDonald's BG",
        "observed_at": "2026-05-04"
      }
    ]
  },
  "rent": {
    "label": "Monthly rent (asking-price medians, Imot.bg)",
    "items": [
      {
        "name": "1-bedroom flat, Sofia centre",
        "size": "~50m²",
        "price_eur": 600,
        "source": "Imot.bg median",
        "observed_at": "2026-05-04"
      },
      {
        "name": "1-bedroom flat, Sofia outer",
        "size": "~50m²",
        "price_eur": 425,
        "source": "Imot.bg median",
        "observed_at": "2026-05-04"
      },
      {
        "name": "3-bedroom flat, Sofia centre",
        "size": "~90m²",
        "price_eur": 1100,
        "source": "Imot.bg median",
        "observed_at": "2026-05-04"
      },
      {
        "name": "1-bedroom flat, Plovdiv centre",
        "size": "~50m²",
        "price_eur": 380,
        "source": "Imot.bg median",
        "observed_at": "2026-05-04"
      },
      {
        "name": "1-bedroom flat, Varna centre",
        "size": "~50m²",
        "price_eur": 425,
        "source": "Imot.bg median",
        "observed_at": "2026-05-04"
      },
      {
        "name": "1-bedroom flat, Shumen centre",
        "size": "~50m²",
        "price_eur": 240,
        "source": "Imot.bg median",
        "observed_at": "2026-05-04"
      },
      {
        "name": "3-bedroom flat, Shumen centre",
        "size": "~90m²",
        "price_eur": 420,
        "source": "Imot.bg median",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Village house (rural)",
        "size": "varies",
        "price_eur": 150,
        "source": "Imot.bg median rural",
        "observed_at": "2026-05-04"
      }
    ]
  },
  "lifestyle": {
    "label": "Lifestyle costs",
    "items": [
      {
        "name": "Gym membership (mid-range)",
        "size": "monthly",
        "price_eur": 32.0,
        "source": "Pulse, Pulsis chains",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Cinema ticket",
        "size": "single, 2D",
        "price_eur": 7.5,
        "source": "Arena Cinemas",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Haircut, men's",
        "size": "standard",
        "price_eur": 8.0,
        "source": "Shumen barbers survey",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Haircut + style, women's",
        "size": "standard",
        "price_eur": 22.0,
        "source": "Shumen salons survey",
        "observed_at": "2026-05-04"
      },
      {
        "name": "Netflix (standard)",
        "size": "monthly",
        "price_eur": 8.99,
        "source": "Netflix Bulgaria (April 2026 published rate)",
        "observed_at": "2026-05-05"
      }
    ]
  },
  "tier_budgets": {
    "label": "Three monthly budgets, single person (everything but rent included; pick a rent line above and add)",
    "tiers": [
      {
        "name": "Frugal",
        "subtitle": "Cooking from Lidl, walking + buses, no eating out beyond the occasional coffee",
        "monthly_eur": 520,
        "breakdown": {
          "Groceries (cooked at home)": 220,
          "Utilities": 110,
          "Transport (bus pass)": 26,
          "Mobile + internet": 23,
          "Eating out (occasional coffee)": 25,
          "Lifestyle (basic)": 40,
          "Buffer": 76
        },
        "pct_of_bg_min_net": 108.0
      },
      {
        "name": "Comfortable",
        "subtitle": "Mid-range groceries, occasional restaurants, gym, mobile data, weekend trips",
        "monthly_eur": 880,
        "breakdown": {
          "Groceries (mid-range)": 320,
          "Utilities": 130,
          "Transport (own car, modest use)": 110,
          "Mobile + internet": 23,
          "Eating out (~6 meals/month)": 120,
          "Lifestyle (gym, cinema, haircut)": 60,
          "Buffer": 117
        },
        "pct_of_bg_min_net": 183.0
      },
      {
        "name": "Premium",
        "subtitle": "Imported brands, regular eating out, private healthcare top-ups, frequent driving",
        "monthly_eur": 1450,
        "breakdown": {
          "Groceries (premium + imported)": 480,
          "Utilities": 160,
          "Transport (car + fuel + service)": 220,
          "Mobile + internet": 35,
          "Eating out (~12 meals/month)": 280,
          "Lifestyle + healthcare top-up": 120,
          "Buffer": 155
        },
        "pct_of_bg_min_net": 302.0
      }
    ]
  },
  "uk_compare": {
    "label": "UK vs Bulgaria, like-for-like (UK prices via Tesco own-brand standard, GBP converted at £1 = €1.16)",
    "items": [
      {
        "name": "White bread loaf 700g",
        "bg_eur": 0.69,
        "uk_eur": 0.87,
        "delta_pct": 20.6,
        "note": "Tesco own-brand 800g, normalised to 700g equivalent",
        "bg_minutes_at_minwage": 14.5,
        "uk_minutes_at_minwage": 4.1,
        "time_ratio": 3.54
      },
      {
        "name": "Milk 1L",
        "bg_eur": 1.45,
        "uk_eur": 1.23,
        "delta_pct": -17.8,
        "bg_minutes_at_minwage": 30.4,
        "uk_minutes_at_minwage": 5.7,
        "time_ratio": 5.33
      },
      {
        "name": "Eggs (10)",
        "bg_eur": 2.15,
        "uk_eur": 2.75,
        "delta_pct": 21.8,
        "note": "Tesco medium free-range, 12-pack normalised to 10",
        "bg_minutes_at_minwage": 45.1,
        "uk_minutes_at_minwage": 12.8,
        "time_ratio": 3.52
      },
      {
        "name": "Chicken breast 1kg",
        "bg_eur": 6.49,
        "uk_eur": 8.12,
        "delta_pct": 20.0,
        "bg_minutes_at_minwage": 136.2,
        "uk_minutes_at_minwage": 37.9,
        "time_ratio": 3.59
      },
      {
        "name": "Sunflower oil 1L",
        "bg_eur": 1.79,
        "uk_eur": 1.91,
        "delta_pct": 6.2,
        "bg_minutes_at_minwage": 37.6,
        "uk_minutes_at_minwage": 8.9,
        "time_ratio": 4.22
      },
      {
        "name": "Petrol A95 1L",
        "bg_eur": 1.48,
        "uk_eur": 1.69,
        "delta_pct": 12.4,
        "bg_minutes_at_minwage": 31.0,
        "uk_minutes_at_minwage": 7.9,
        "time_ratio": 3.92
      },
      {
        "name": "Cinema ticket",
        "bg_eur": 7.5,
        "uk_eur": 12.5,
        "delta_pct": 40.0,
        "bg_minutes_at_minwage": 157.3,
        "uk_minutes_at_minwage": 58.3,
        "time_ratio": 2.7
      },
      {
        "name": "Mid-range meal for two",
        "bg_eur": 45.0,
        "uk_eur": 68.0,
        "delta_pct": 33.8,
        "bg_minutes_at_minwage": 944.1,
        "uk_minutes_at_minwage": 317.3,
        "time_ratio": 2.98
      },
      {
        "name": "Gym membership/month",
        "bg_eur": 32.0,
        "uk_eur": 42.0,
        "delta_pct": 23.8,
        "bg_minutes_at_minwage": 671.3,
        "uk_minutes_at_minwage": 196.0,
        "time_ratio": 3.42
      },
      {
        "name": "1-bed flat, capital city centre",
        "bg_eur": 600,
        "uk_eur": 2100,
        "delta_pct": 71.4,
        "bg_minutes_at_minwage": 12587.4,
        "uk_minutes_at_minwage": 9797.8,
        "time_ratio": 1.28
      }
    ]
  },
  "wages": {
    "label": "What people actually earn (May 2026)",
    "fx_rate_gbp_eur": 1.16,
    "bg_minimum_gross_monthly_eur": 620.2,
    "bg_minimum_net_monthly_eur": 480.0,
    "bg_minimum_hourly_net_eur": 2.86,
    "bg_average_net_monthly_eur": 1115.0,
    "uk_minimum_gross_monthly_gbp": 1931.0,
    "uk_minimum_gross_monthly_eur": 2240.0,
    "uk_minimum_net_monthly_gbp": 1681.0,
    "uk_minimum_net_monthly_eur": 1950.0,
    "uk_minimum_hourly_gross_gbp": 12.71,
    "uk_minimum_hourly_net_gbp": 11.09,
    "uk_minimum_hourly_net_eur": 12.86,
    "uk_average_net_monthly_gbp": 2391.0,
    "uk_average_net_monthly_eur": 2774.0,
    "bg_min_hours_per_month": 168,
    "uk_min_hours_per_month": 152,
    "ratio_uk_to_bg_hourly_net": 4.5,
    "sources": [
      "Bulgaria minimum wage: National Council of Tripartite Cooperation, BGN 1,213 from 1 Jan 2026 (BTA + Eurofast)",
      "UK National Living Wage: GOV.UK, £12.71/h from 1 April 2026 (Low Pay Commission report)",
      "Bulgaria average wage: NSI Q3 2025 data plus 2026 trend",
      "UK average wage: ONS ASHE April 2025 data (£28,693 net annual)"
    ],
    "note": "GBP converted at £1 = €1.16 (May 2026 rate). UK net wages calculated against 2025/26 personal allowance £12,570, income tax 20%, employee NI 8%. Bulgarian net wages calculated against 10% flat PIT and 13.78% employee social/health. Hourly net assumes 35 hours per week (151.67 h/month UK, 168 h/month BG)."
  }
}