{
  "version": "2026-10-15.6",
  "engine": "SQLite; window query requires 3.25+",
  "units": "EUR, coverage/shares are fractions; change_pct is percentage units",
  "queries": {
    "P1": {
      "task": "Find repeated source keys; distinguish exact and conflicting records by inspecting their fields.",
      "columns": [
        "order_id",
        "source_records"
      ],
      "rows": [
        [
          "A004",
          2
        ],
        [
          "Y007",
          2
        ]
      ]
    },
    "P2": {
      "task": "List formatting/domain/date/amount/delivery-text exceptions. This exercise screen is fixture-specific, not a general numeric parser.",
      "columns": [
        "order_id",
        "order_date",
        "channel",
        "order_value_eur",
        "delivery_days"
      ],
      "rows": [
        [
          "A005",
          "2026-04-05",
          " WEB ",
          "100",
          "3"
        ],
        [
          "A008",
          "2026-04-31",
          "web",
          "100",
          "2"
        ],
        [
          "A009",
          "2026-04-09",
          "web",
          "-110",
          "3"
        ],
        [
          "Y003",
          "2026-05-03",
          "mobile",
          "170",
          "5"
        ],
        [
          "Y005",
          "2026-05-05",
          "store",
          "",
          "3"
        ],
        [
          "Y006",
          "2026-05-06",
          "store",
          "170",
          "late"
        ]
      ]
    },
    "P3": {
      "task": "Produce completed monthly value, count, AOV, measured/missing delivery counts, coverage and observed mean.",
      "columns": [
        "month",
        "completed_orders",
        "completed_value_eur",
        "aov_eur",
        "measured_deliveries",
        "missing_deliveries",
        "delivery_coverage",
        "observed_mean_delivery_days"
      ],
      "rows": [
        [
          "2026-04",
          20,
          2900.0,
          145.0,
          14,
          6,
          0.7,
          3.642857142857143
        ],
        [
          "2026-05",
          20,
          3420.0,
          171.0,
          19,
          1,
          0.95,
          3.526315789473684
        ]
      ]
    },
    "P4": {
      "task": "Produce month/channel metrics and completed-order shares; reconcile to P3.",
      "columns": [
        "month",
        "channel",
        "completed_orders",
        "completed_value_eur",
        "aov_eur",
        "order_share"
      ],
      "rows": [
        [
          "2026-04",
          "store",
          2,
          1100.0,
          550.0,
          0.1
        ],
        [
          "2026-04",
          "web",
          18,
          1800.0,
          100.0,
          0.9
        ],
        [
          "2026-05",
          "store",
          18,
          3240.0,
          180.0,
          0.9
        ],
        [
          "2026-05",
          "web",
          2,
          180.0,
          90.0,
          0.1
        ]
      ]
    },
    "P5": {
      "task": "Show explicitly different returned-share denominators. Neither is a customer-cohort return rate.",
      "columns": [
        "month",
        "all_status_orders",
        "returned_orders",
        "returned_share_all",
        "returned_share_completed_or_returned"
      ],
      "rows": [
        [
          "2026-04",
          22,
          1,
          0.045454545454545456,
          0.047619047619047616
        ],
        [
          "2026-05",
          22,
          1,
          0.045454545454545456,
          0.047619047619047616
        ]
      ]
    },
    "P6": {
      "task": "Compare May value with April; preserve the first NULL baseline. LAG means previous observed row, not guaranteed calendar month.",
      "columns": [
        "month",
        "completed_value_eur",
        "previous_value_eur",
        "change_pct"
      ],
      "rows": [
        [
          "2026-04",
          2900.0,
          null,
          null
        ],
        [
          "2026-05",
          3420.0,
          2900.0,
          17.93103448275862
        ]
      ]
    },
    "P7": {
      "task": "Build the five stated EUR frequency bins, retaining zero-count bins.",
      "columns": [
        "value_bin_eur",
        "completed_orders"
      ],
      "rows": [
        [
          "0 to <100",
          7
        ],
        [
          "100 to <150",
          14
        ],
        [
          "150 to <200",
          18
        ],
        [
          "200 to <300",
          0
        ],
        [
          "300 to 1100 inclusive",
          1
        ]
      ]
    },
    "P8": {
      "task": "Keep baseline and named A020-exclusion sensitivity separate. The verified high order is not deleted from the source.",
      "columns": [
        "scenario",
        "completed_orders",
        "completed_value_eur",
        "aov_eur"
      ],
      "rows": [
        [
          "Baseline: all verified completed orders",
          40,
          6320.0,
          158.0
        ],
        [
          "Sensitivity: excluding verified A020",
          39,
          5320.0,
          136.4102564102564
        ]
      ]
    }
  }
}