{
  "split": "April 2025 training, May validation, June untouched test; trips ending outside their source month excluded from modeling. Warehouse uses all eligible rows; models use deterministic within-month hash samples.",
  "train_rows": 120000,
  "test_rows": 60000,
  "selection": "Configuration chosen by May MAE: HGB 31 leaves. No refitting or selection on June.",
  "target": "Trip duration in minutes",
  "features": [
    "pickup_zone",
    "dropoff_zone",
    "hour",
    "weekday"
  ],
  "candidates": [
    {
      "model": "HGB 15 leaves",
      "validation_mae_minutes": 6.861403427353408
    },
    {
      "model": "HGB 31 leaves",
      "validation_mae_minutes": 6.3589811366302875
    }
  ],
  "uncertainty": {
    "metric": "baseline MAE minus model MAE",
    "estimate": 0.18367749562473418,
    "ci95_low": 0.13087803497974165,
    "ci95_high": 0.23700506594302356,
    "resampling": "paired calendar-day clusters",
    "repeats": 500
  },
  "limitations": "Zones are integer-encoded, so tree splits impose an ordering. Baseline route-hour groups unseen in April use the training median. No traffic, vehicle availability, or route geometry is observed."
}
