{
  "available_snapshot_dates": [
    "2026-07-23",
    "2026-07-24",
    "2026-07-25",
    "2026-07-26",
    "2026-07-27",
    "2026-07-28",
    "2026-07-29",
    "2026-07-30",
    "2026-07-31",
    "2026-08-01",
    "2026-08-02",
    "2026-08-03",
    "2026-08-04",
    "2026-08-05",
    "2026-08-06",
    "2026-08-07",
    "2026-08-08",
    "2026-08-09",
    "2026-08-10",
    "2026-08-11",
    "2026-08-13",
    "2026-08-14",
    "2026-08-15",
    "2026-08-16",
    "2026-08-17",
    "2026-08-18",
    "2026-08-19",
    "2026-08-20",
    "2026-08-21",
    "2026-08-22",
    "2026-08-23",
    "2026-08-24",
    "2026-08-25",
    "2026-08-26",
    "2026-08-27",
    "2026-08-28",
    "2026-08-29",
    "2026-08-30",
    "2026-08-31",
    "2026-09-01",
    "2026-09-02",
    "2026-09-03",
    "2026-09-04",
    "2026-09-05",
    "2026-09-06"
  ],
  "comparison_days": 44,
  "distinct_products": 629,
  "files": [
    {
      "anomalies": 0,
      "from_date": "2026-07-23",
      "matched_products": 8287,
      "path": "2026-07-24.json",
      "price_decreases": 2,
      "price_increases": 14,
      "to_date": "2026-07-24",
      "total_changes": 16
    },
    {
      "anomalies": 0,
      "from_date": "2026-07-24",
      "matched_products": 8272,
      "path": "2026-07-25.json",
      "price_decreases": 3,
      "price_increases": 14,
      "to_date": "2026-07-25",
      "total_changes": 17
    },
    {
      "anomalies": 0,
      "from_date": "2026-07-25",
      "matched_products": 8301,
      "path": "2026-07-26.json",
      "price_decreases": 0,
      "price_increases": 2,
      "to_date": "2026-07-26",
      "total_changes": 2
    },
    {
      "anomalies": 0,
      "from_date": "2026-07-26",
      "matched_products": 8309,
      "path": "2026-07-27.json",
      "price_decreases": 0,
      "price_increases": 0,
      "to_date": "2026-07-27",
      "total_changes": 0
    },
    {
      "anomalies": 8,
      "from_date": "2026-07-27",
      "matched_products": 8299,
      "path": "2026-07-28.json",
      "price_decreases": 7,
      "price_increases": 22,
      "to_date": "2026-07-28",
      "total_changes": 29
    },
    {
      "anomalies": 0,
      "from_date": "2026-07-28",
      "matched_products": 8275,
      "path": "2026-07-29.json",
      "price_decreases": 2,
      "price_increases": 1,
      "to_date": "2026-07-29",
      "total_changes": 3
    },
    {
      "anomalies": 17,
      "from_date": "2026-07-29",
      "matched_products": 8291,
      "path": "2026-07-30.json",
      "price_decreases": 138,
      "price_increases": 8,
      "to_date": "2026-07-30",
      "total_changes": 146
    },
    {
      "anomalies": 0,
      "from_date": "2026-07-30",
      "matched_products": 8324,
      "path": "2026-07-31.json",
      "price_decreases": 10,
      "price_increases": 3,
      "to_date": "2026-07-31",
      "total_changes": 13
    },
    {
      "anomalies": 0,
      "from_date": "2026-07-31",
      "matched_products": 8308,
      "path": "2026-08-01.json",
      "price_decreases": 13,
      "price_increases": 14,
      "to_date": "2026-08-01",
      "total_changes": 27
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-01",
      "matched_products": 8326,
      "path": "2026-08-02.json",
      "price_decreases": 1,
      "price_increases": 4,
      "to_date": "2026-08-02",
      "total_changes": 5
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-02",
      "matched_products": 8347,
      "path": "2026-08-03.json",
      "price_decreases": 0,
      "price_increases": 0,
      "to_date": "2026-08-03",
      "total_changes": 0
    },
    {
      "anomalies": 3,
      "from_date": "2026-08-03",
      "matched_products": 8333,
      "path": "2026-08-04.json",
      "price_decreases": 4,
      "price_increases": 51,
      "to_date": "2026-08-04",
      "total_changes": 55
    },
    {
      "anomalies": 1,
      "from_date": "2026-08-04",
      "matched_products": 8305,
      "path": "2026-08-05.json",
      "price_decreases": 0,
      "price_increases": 29,
      "to_date": "2026-08-05",
      "total_changes": 29
    },
    {
      "anomalies": 2,
      "from_date": "2026-08-05",
      "matched_products": 8309,
      "path": "2026-08-06.json",
      "price_decreases": 1,
      "price_increases": 11,
      "to_date": "2026-08-06",
      "total_changes": 12
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-06",
      "matched_products": 8297,
      "path": "2026-08-07.json",
      "price_decreases": 2,
      "price_increases": 33,
      "to_date": "2026-08-07",
      "total_changes": 35
    },
    {
      "anomalies": 12,
      "from_date": "2026-08-07",
      "matched_products": 8315,
      "path": "2026-08-08.json",
      "price_decreases": 46,
      "price_increases": 12,
      "to_date": "2026-08-08",
      "total_changes": 58
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-08",
      "matched_products": 8337,
      "path": "2026-08-09.json",
      "price_decreases": 8,
      "price_increases": 12,
      "to_date": "2026-08-09",
      "total_changes": 20
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-09",
      "matched_products": 8346,
      "path": "2026-08-10.json",
      "price_decreases": 1,
      "price_increases": 0,
      "to_date": "2026-08-10",
      "total_changes": 1
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-10",
      "matched_products": 8366,
      "path": "2026-08-11.json",
      "price_decreases": 11,
      "price_increases": 2,
      "to_date": "2026-08-11",
      "total_changes": 13
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-11",
      "matched_products": 8292,
      "path": "2026-08-13.json",
      "price_decreases": 2,
      "price_increases": 3,
      "to_date": "2026-08-13",
      "total_changes": 5
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-13",
      "matched_products": 8311,
      "path": "2026-08-14.json",
      "price_decreases": 2,
      "price_increases": 12,
      "to_date": "2026-08-14",
      "total_changes": 14
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-14",
      "matched_products": 8308,
      "path": "2026-08-15.json",
      "price_decreases": 14,
      "price_increases": 10,
      "to_date": "2026-08-15",
      "total_changes": 24
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-15",
      "matched_products": 8330,
      "path": "2026-08-16.json",
      "price_decreases": 0,
      "price_increases": 2,
      "to_date": "2026-08-16",
      "total_changes": 2
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-16",
      "matched_products": 8321,
      "path": "2026-08-17.json",
      "price_decreases": 0,
      "price_increases": 0,
      "to_date": "2026-08-17",
      "total_changes": 0
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-17",
      "matched_products": 8309,
      "path": "2026-08-18.json",
      "price_decreases": 2,
      "price_increases": 4,
      "to_date": "2026-08-18",
      "total_changes": 6
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-18",
      "matched_products": 8292,
      "path": "2026-08-19.json",
      "price_decreases": 19,
      "price_increases": 33,
      "to_date": "2026-08-19",
      "total_changes": 52
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-19",
      "matched_products": 8312,
      "path": "2026-08-20.json",
      "price_decreases": 1,
      "price_increases": 4,
      "to_date": "2026-08-20",
      "total_changes": 5
    },
    {
      "anomalies": 2,
      "from_date": "2026-08-20",
      "matched_products": 8292,
      "path": "2026-08-21.json",
      "price_decreases": 3,
      "price_increases": 4,
      "to_date": "2026-08-21",
      "total_changes": 7
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-21",
      "matched_products": 8277,
      "path": "2026-08-22.json",
      "price_decreases": 2,
      "price_increases": 2,
      "to_date": "2026-08-22",
      "total_changes": 4
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-22",
      "matched_products": 8281,
      "path": "2026-08-23.json",
      "price_decreases": 1,
      "price_increases": 2,
      "to_date": "2026-08-23",
      "total_changes": 3
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-23",
      "matched_products": 8275,
      "path": "2026-08-24.json",
      "price_decreases": 2,
      "price_increases": 0,
      "to_date": "2026-08-24",
      "total_changes": 2
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-24",
      "matched_products": 8238,
      "path": "2026-08-25.json",
      "price_decreases": 0,
      "price_increases": 5,
      "to_date": "2026-08-25",
      "total_changes": 5
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-25",
      "matched_products": 8233,
      "path": "2026-08-26.json",
      "price_decreases": 0,
      "price_increases": 2,
      "to_date": "2026-08-26",
      "total_changes": 2
    },
    {
      "anomalies": 1,
      "from_date": "2026-08-26",
      "matched_products": 8225,
      "path": "2026-08-27.json",
      "price_decreases": 4,
      "price_increases": 14,
      "to_date": "2026-08-27",
      "total_changes": 18
    },
    {
      "anomalies": 1,
      "from_date": "2026-08-27",
      "matched_products": 8222,
      "path": "2026-08-28.json",
      "price_decreases": 12,
      "price_increases": 3,
      "to_date": "2026-08-28",
      "total_changes": 15
    },
    {
      "anomalies": 2,
      "from_date": "2026-08-28",
      "matched_products": 8223,
      "path": "2026-08-29.json",
      "price_decreases": 6,
      "price_increases": 2,
      "to_date": "2026-08-29",
      "total_changes": 8
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-29",
      "matched_products": 8187,
      "path": "2026-08-30.json",
      "price_decreases": 1,
      "price_increases": 3,
      "to_date": "2026-08-30",
      "total_changes": 4
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-30",
      "matched_products": 8191,
      "path": "2026-08-31.json",
      "price_decreases": 1,
      "price_increases": 25,
      "to_date": "2026-08-31",
      "total_changes": 26
    },
    {
      "anomalies": 0,
      "from_date": "2026-08-31",
      "matched_products": 8178,
      "path": "2026-09-01.json",
      "price_decreases": 7,
      "price_increases": 5,
      "to_date": "2026-09-01",
      "total_changes": 12
    },
    {
      "anomalies": 0,
      "from_date": "2026-09-01",
      "matched_products": 8137,
      "path": "2026-09-02.json",
      "price_decreases": 3,
      "price_increases": 2,
      "to_date": "2026-09-02",
      "total_changes": 5
    },
    {
      "anomalies": 0,
      "from_date": "2026-09-02",
      "matched_products": 8140,
      "path": "2026-09-03.json",
      "price_decreases": 5,
      "price_increases": 1,
      "to_date": "2026-09-03",
      "total_changes": 6
    },
    {
      "anomalies": 1,
      "from_date": "2026-09-03",
      "matched_products": 8149,
      "path": "2026-09-04.json",
      "price_decreases": 2,
      "price_increases": 5,
      "to_date": "2026-09-04",
      "total_changes": 7
    },
    {
      "anomalies": 6,
      "from_date": "2026-09-04",
      "matched_products": 8151,
      "path": "2026-09-05.json",
      "price_decreases": 2,
      "price_increases": 16,
      "to_date": "2026-09-05",
      "total_changes": 18
    },
    {
      "anomalies": 0,
      "from_date": "2026-09-05",
      "matched_products": 8212,
      "path": "2026-09-06.json",
      "price_decreases": 10,
      "price_increases": 11,
      "to_date": "2026-09-06",
      "total_changes": 21
    }
  ],
  "filters": {
    "brands": [],
    "departments": [
      "Baby Care",
      "Bakery",
      "Dairy",
      "Deli",
      "Frozen",
      "Fruit",
      "Grocery",
      "Health & Beauty",
      "Household",
      "Meat",
      "Vegetable"
    ],
    "percentage_range": {
      "max": 900.0,
      "min": -90.0
    },
    "price_range": {
      "max": 57.49,
      "min": 0.5
    }
  },
  "from_date": "2026-07-23",
  "methodology": {
    "anomaly_rule": "absolute price change >=20% and robust MAD z-score >=3.5",
    "comparison": "adjacent healthy snapshot dates matched by stable retailer listing key",
    "completeness": "daily shard files contain every comparable regular-price change without a display cap",
    "missingness": "an item must have finite positive regular prices on both dates; gaps are not changes"
  },
  "price_decreases": 350,
  "price_increases": 402,
  "report": "price_changes",
  "schema_version": "1.0",
  "scope": "Gala Freeport–Merrick public online regular prices; not asserted as physical shelf prices",
  "snapshot_days": 45,
  "status": "comparison_available",
  "to_date": "2026-09-06",
  "total_changes": 752
}
