{
 "model": "dhaan.m2",
 "version": "0.1",
 "trained_at": "2026-09-29T06:12:44+00:00",
 "target": "heavy day = >= 20 Suomi NPP detections on rice land at the 13:30 pass",
 "rows_train": 277840,
 "rows_test": 55568,
 "seasons_train": [
  2019,
  2020,
  2021,
  2022,
  2023
 ],
 "season_test": 2024,
 "features": [
  "doy_season",
  "f1",
  "f3",
  "f7",
  "f7_lastyear",
  "season_so_far",
  "share_last",
  "rice_ha",
  "ha_seasons",
  "rain3",
  "tmax3",
  "rh3",
  "harvest_on",
  "days_since_harvest",
  "days_to_diwali"
 ],
 "horizons": {
  "y3": {
   "eval": {
    "model": {
     "name": "m2 v0.1",
     "n": 55568,
     "positives": 994,
     "brier": 0.0098,
     "auc": 0.9879,
     "ece": 0.0036,
     "reliability": [
      {
       "bin": [
        0.0,
        0.1
       ],
       "n": 53783,
       "pred": 0.002,
       "obs": 0.004
      },
      {
       "bin": [
        0.1,
        0.2
       ],
       "n": 439,
       "pred": 0.142,
       "obs": 0.212
      },
      {
       "bin": [
        0.2,
        0.3
       ],
       "n": 268,
       "pred": 0.249,
       "obs": 0.216
      },
      {
       "bin": [
        0.3,
        0.4
       ],
       "n": 164,
       "pred": 0.35,
       "obs": 0.348
      },
      {
       "bin": [
        0.4,
        0.5
       ],
       "n": 168,
       "pred": 0.456,
       "obs": 0.446
      },
      {
       "bin": [
        0.5,
        0.6
       ],
       "n": 143,
       "pred": 0.544,
       "obs": 0.517
      },
      {
       "bin": [
        0.6,
        0.7
       ],
       "n": 131,
       "pred": 0.654,
       "obs": 0.573
      },
      {
       "bin": [
        0.7,
        0.8
       ],
       "n": 143,
       "pred": 0.748,
       "obs": 0.657
      },
      {
       "bin": [
        0.8,
        0.9
       ],
       "n": 175,
       "pred": 0.85,
       "obs": 0.72
      },
      {
       "bin": [
        0.9,
        1.0
       ],
       "n": 154,
       "pred": 0.943,
       "obs": 0.896
      }
     ]
    },
    "climatology": {
     "name": "climatology (same day, last 3 seasons)",
     "n": 55568,
     "positives": 994,
     "brier": 0.0152,
     "auc": 0.829,
     "ece": 0.0134,
     "reliability": [
      {
       "bin": [
        0.0,
        0.1
       ],
       "n": 53783,
       "pred": 0.0,
       "obs": 0.006
      },
      {
       "bin": [
        0.3,
        0.4
       ],
       "n": 806,
       "pred": 0.333,
       "obs": 0.237
      },
      {
       "bin": [
        0.6,
        0.7
       ],
       "n": 478,
       "pred": 0.667,
       "obs": 0.416
      },
      {
       "bin": [
        0.9,
        1.0
       ],
       "n": 501,
       "pred": 1.0,
       "obs": 0.559
      }
     ]
    },
    "persistence": {
     "name": "persistence (heavy in last 3 days)",
     "n": 55568,
     "positives": 994,
     "brier": 0.0187,
     "auc": 0.8442,
     "ece": 0.0274,
     "reliability": [
      {
       "bin": [
        0.0,
        0.1
       ],
       "n": 54005,
       "pred": 0.02,
       "obs": 0.005
      },
      {
       "bin": [
        0.9,
        1.0
       ],
       "n": 1563,
       "pred": 0.92,
       "obs": 0.448
      }
     ]
    }
   },
   "by_state": {
    "Andhra Pradesh": {
     "n": 2576,
     "heavy_days": 14,
     "brier_model": 0.0049,
     "brier_clim": 0.005
    },
    "Bihar": {
     "n": 3496,
     "heavy_days": 65,
     "brier_model": 0.0052,
     "brier_clim": 0.0045
    },
    "Chhattisgarh": {
     "n": 3036,
     "heavy_days": 136,
     "brier_model": 0.0249,
     "brier_clim": 0.0289
    },
    "Haryana": {
     "n": 2116,
     "heavy_days": 13,
     "brier_model": 0.0067,
     "brier_clim": 0.0362
    },
    "Karnataka": {
     "n": 2392,
     "heavy_days": 41,
     "brier_model": 0.0098,
     "brier_clim": 0.0131
    },
    "Madhya Pradesh": {
     "n": 4508,
     "heavy_days": 183,
     "brier_model": 0.0145,
     "brier_clim": 0.0195
    },
    "Odisha": {
     "n": 2760,
     "heavy_days": 5,
     "brier_model": 0.0011,
     "brier_clim": 0.0016
    },
    "Punjab": {
     "n": 2116,
     "heavy_days": 229,
     "brier_model": 0.0653,
     "brier_clim": 0.1405
    },
    "Rajasthan": {
     "n": 2300,
     "heavy_days": 56,
     "brier_model": 0.0143,
     "brier_clim": 0.0153
    },
    "Telangana": {
     "n": 2944,
     "heavy_days": 106,
     "brier_model": 0.0229,
     "brier_clim": 0.0245
    },
    "Uttar Pradesh": {
     "n": 6900,
     "heavy_days": 99,
     "brier_model": 0.0104,
     "brier_clim": 0.013
    },
    "Uttarakhand": {
     "n": 368,
     "heavy_days": 10,
     "brier_model": 0.0199,
     "brier_clim": 0.0217
    },
    "West Bengal": {
     "n": 1932,
     "heavy_days": 37,
     "brier_model": 0.0079,
     "brier_clim": 0.0129
    }
   },
   "importance": [
    [
     "days_to_diwali",
     330
    ],
    [
     "season_so_far",
     270
    ],
    [
     "f7",
     265
    ],
    [
     "f7_lastyear",
     236
    ],
    [
     "share_last",
     231
    ],
    [
     "doy_season",
     201
    ],
    [
     "days_since_harvest",
     191
    ],
    [
     "rain3",
     177
    ]
   ],
   "beats_both_baselines": true
  },
  "y7": {
   "eval": {
    "model": {
     "name": "m2 v0.1",
     "n": 55568,
     "positives": 1557,
     "brier": 0.0135,
     "auc": 0.9864,
     "ece": 0.005,
     "reliability": [
      {
       "bin": [
        0.0,
        0.1
       ],
       "n": 52890,
       "pred": 0.003,
       "obs": 0.005
      },
      {
       "bin": [
        0.1,
        0.2
       ],
       "n": 672,
       "pred": 0.144,
       "obs": 0.211
      },
      {
       "bin": [
        0.2,
        0.3
       ],
       "n": 337,
       "pred": 0.249,
       "obs": 0.288
      },
      {
       "bin": [
        0.3,
        0.4
       ],
       "n": 230,
       "pred": 0.349,
       "obs": 0.357
      },
      {
       "bin": [
        0.4,
        0.5
       ],
       "n": 192,
       "pred": 0.45,
       "obs": 0.339
      },
      {
       "bin": [
        0.5,
        0.6
       ],
       "n": 182,
       "pred": 0.552,
       "obs": 0.5
      },
      {
       "bin": [
        0.6,
        0.7
       ],
       "n": 174,
       "pred": 0.65,
       "obs": 0.546
      },
      {
       "bin": [
        0.7,
        0.8
       ],
       "n": 170,
       "pred": 0.75,
       "obs": 0.665
      },
      {
       "bin": [
        0.8,
        0.9
       ],
       "n": 309,
       "pred": 0.854,
       "obs": 0.767
      },
      {
       "bin": [
        0.9,
        1.0
       ],
       "n": 412,
       "pred": 0.95,
       "obs": 0.896
      }
     ]
    },
    "climatology": {
     "name": "climatology (same day, last 3 seasons)",
     "n": 55568,
     "positives": 1557,
     "brier": 0.0189,
     "auc": 0.8501,
     "ece": 0.0153,
     "reliability": [
      {
       "bin": [
        0.0,
        0.1
       ],
       "n": 53213,
       "pred": 0.0,
       "obs": 0.008
      },
      {
       "bin": [
        0.3,
        0.4
       ],
       "n": 965,
       "pred": 0.333,
       "obs": 0.27
      },
      {
       "bin": [
        0.6,
        0.7
       ],
       "n": 557,
       "pred": 0.667,
       "obs": 0.517
      },
      {
       "bin": [
        0.9,
        1.0
       ],
       "n": 833,
       "pred": 1.0,
       "obs": 0.681
      }
     ]
    },
    "persistence": {
     "name": "persistence (heavy in last 3 days)",
     "n": 55568,
     "positives": 1557,
     "brier": 0.0204,
     "auc": 0.7991,
     "ece": 0.0173,
     "reliability": [
      {
       "bin": [
        0.0,
        0.1
       ],
       "n": 54005,
       "pred": 0.02,
       "obs": 0.011
      },
      {
       "bin": [
        0.9,
        1.0
       ],
       "n": 1563,
       "pred": 0.92,
       "obs": 0.607
      }
     ]
    }
   },
   "by_state": {
    "Andhra Pradesh": {
     "n": 2576,
     "heavy_days": 26,
     "brier_model": 0.0076,
     "brier_clim": 0.0079
    },
    "Bihar": {
     "n": 3496,
     "heavy_days": 93,
     "brier_model": 0.0085,
     "brier_clim": 0.006
    },
    "Chhattisgarh": {
     "n": 3036,
     "heavy_days": 213,
     "brier_model": 0.0333,
     "brier_clim": 0.0321
    },
    "Haryana": {
     "n": 2116,
     "heavy_days": 26,
     "brier_model": 0.018,
     "brier_clim": 0.0548
    },
    "Karnataka": {
     "n": 2392,
     "heavy_days": 69,
     "brier_model": 0.0135,
     "brier_clim": 0.0183
    },
    "Madhya Pradesh": {
     "n": 4508,
     "heavy_days": 249,
     "brier_model": 0.0166,
     "brier_clim": 0.0201
    },
    "Odisha": {
     "n": 2760,
     "heavy_days": 9,
     "brier_model": 0.0015,
     "brier_clim": 0.0016
    },
    "Punjab": {
     "n": 2116,
     "heavy_days": 355,
     "brier_model": 0.0741,
     "brier_clim": 0.1445
    },
    "Rajasthan": {
     "n": 2300,
     "heavy_days": 88,
     "brier_model": 0.0169,
     "brier_clim": 0.0226
    },
    "Telangana": {
     "n": 2944,
     "heavy_days": 178,
     "brier_model": 0.0317,
     "brier_clim": 0.0377
    },
    "Uttar Pradesh": {
     "n": 6900,
     "heavy_days": 171,
     "brier_model": 0.0193,
     "brier_clim": 0.021
    },
    "Uttarakhand": {
     "n": 368,
     "heavy_days": 18,
     "brier_model": 0.0152,
     "brier_clim": 0.0193
    },
    "West Bengal": {
     "n": 1932,
     "heavy_days": 62,
     "brier_model": 0.0126,
     "brier_clim": 0.0199
    }
   },
   "importance": [
    [
     "share_last",
     346
    ],
    [
     "season_so_far",
     281
    ],
    [
     "f7",
     250
    ],
    [
     "ha_seasons",
     246
    ],
    [
     "doy_season",
     230
    ],
    [
     "days_to_diwali",
     223
    ],
    [
     "rice_ha",
     219
    ],
    [
     "f7_lastyear",
     212
    ]
   ],
   "beats_both_baselines": true
  }
 },
 "verdict": {
  "y3": "ships",
  "y7": "ships"
 },
 "known_failures": [
  "inherits the 13:30 overpass blind spot: predicts detections, not fires",
  "no 2025 season in the open archive: trained to 2023, tested on 2024",
  "first week of a season, before the district's own count settles",
  "smog weeks, when the satellite sees less",
  "districts with under 20 heavy days across five seasons: little signal, no forecast shown"
 ]
}