{
  "targets": {
    "markdown30": {
      "chronological": {
        "n_train": 31050,
        "n_test": 12953,
        "base_rate_train": 0.1801610305958132,
        "models": {
          "logistic": {
            "log_loss": 0.42750623257152703,
            "log_loss_ci": [
              0.4166106768427018,
              0.4383739815271848
            ],
            "brier": 0.1345025681231389,
            "brier_ci": [
              0.1304564359112002,
              0.1383855370758258
            ],
            "auc": 0.7484582110621498,
            "auc_ci": [
              0.7379166219959526,
              0.7593191497740917
            ],
            "ece": 0.017449892406937298,
            "n_test": 12953,
            "base_rate": 0.1927738747780437,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.405069395922176,
            "log_loss_ci": [
              0.39518869462086986,
              0.4151743411614241
            ],
            "brier": 0.12834546775673097,
            "brier_ci": [
              0.12500161895416048,
              0.13209707915821545
            ],
            "auc": 0.7849142957777335,
            "auc_ci": [
              0.7759402630086811,
              0.7930363119705651
            ],
            "ece": 0.017154048273368354,
            "n_test": 12953,
            "base_rate": 0.1927738747780437,
            "n_boot": 200,
            "best_iteration": 207
          }
        }
      },
      "dealer_holdout": {
        "n_train": 35202,
        "n_test": 44003,
        "base_rate_train": 0.18379591843568377,
        "models": {
          "logistic": {
            "log_loss": 0.4761785736116495,
            "log_loss_ci": [
              0.46930154146077574,
              0.4828771427966503
            ],
            "brier": 0.14959691330267216,
            "brier_ci": [
              0.14685355336351175,
              0.15223828734827366
            ],
            "auc": 0.5797519260404436,
            "auc_ci": [
              0.5728929876742087,
              0.5855248727568381
            ],
            "ece": 0.032841922762235826,
            "n_test": 44003,
            "base_rate": 0.18387382678453743,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.49356532371936024,
            "log_loss_ci": [
              0.48578858607171627,
              0.5015262419912856
            ],
            "brier": 0.15282816957870576,
            "brier_ci": [
              0.14996576207828186,
              0.1556830940880747
            ],
            "auc": 0.5818531774577216,
            "auc_ci": [
              0.5755689074469532,
              0.588765837815809
            ],
            "ece": 0.06444814346386876,
            "n_test": 44003,
            "base_rate": 0.18387382678453743,
            "n_boot": 200,
            "best_iteration": 328
          }
        },
        "folds": [
          {
            "logistic": {
              "log_loss": 0.40957112977000665,
              "brier": 0.12211555325696961,
              "auc": 0.5596656690240565,
              "n_test": 9442
            },
            "lightgbm": {
              "log_loss": 0.4126903470581999,
              "brier": 0.12122175786673123,
              "auc": 0.5521863552436166,
              "n_test": 9442
            }
          },
          {
            "logistic": {
              "log_loss": 0.509415081001042,
              "brier": 0.1643607764970009,
              "auc": 0.6536422756538248,
              "n_test": 7394
            },
            "lightgbm": {
              "log_loss": 0.5415009680094971,
              "brier": 0.17174478939410306,
              "auc": 0.6357532231481676,
              "n_test": 7394
            }
          },
          {
            "logistic": {
              "log_loss": 0.4877034794825335,
              "brier": 0.15477553508252154,
              "auc": 0.5975975969204793,
              "n_test": 7548
            },
            "lightgbm": {
              "log_loss": 0.5112177945402372,
              "brier": 0.15970768972798888,
              "auc": 0.5538139327022289,
              "n_test": 7548
            }
          },
          {
            "logistic": {
              "log_loss": 0.4512466370992524,
              "brier": 0.14050170798545783,
              "auc": 0.6264868547689653,
              "n_test": 6812
            },
            "lightgbm": {
              "log_loss": 0.4719536685507126,
              "brier": 0.14508390645374936,
              "auc": 0.608342530011907,
              "n_test": 6812
            }
          },
          {
            "logistic": {
              "log_loss": 0.5125651677495925,
              "brier": 0.16311946335492622,
              "auc": 0.5870307886167137,
              "n_test": 12807
            },
            "lightgbm": {
              "log_loss": 0.526606872950738,
              "brier": 0.16527336008310423,
              "auc": 0.5770475644655639,
              "n_test": 12807
            }
          }
        ],
        "fold_mean": {
          "logistic": {
            "log_loss": 0.4741002990204854,
            "brier": 0.1489746072353752,
            "auc": 0.6048846369968078
          },
          "lightgbm": {
            "log_loss": 0.49279393022187695,
            "brier": 0.15260630070513534,
            "auc": 0.5854287211142968
          }
        },
        "fold_sd": {
          "logistic": {
            "log_loss": 0.038982124156417344,
            "brier": 0.01589755154350599,
            "auc": 0.032436334748729166
          },
          "lightgbm": {
            "log_loss": 0.046273167050968046,
            "brier": 0.017993008714973422,
            "auc": 0.032349317349656244
          }
        }
      },
      "region_holdout": {
        "n_train": 39178,
        "n_test": 28947,
        "base_rate_train": 0.18223023652950746,
        "models": {
          "logistic": {
            "log_loss": 0.5082798451338891,
            "log_loss_ci": [
              0.4999467599238686,
              0.5161637208266595
            ],
            "brier": 0.16349444465660634,
            "brier_ci": [
              0.16004604145352064,
              0.16668660811281166
            ],
            "auc": 0.6053941458953844,
            "auc_ci": [
              0.5965430127854012,
              0.6142298883566174
            ],
            "ece": 0.040782211420796806,
            "n_test": 28947,
            "base_rate": 0.19818979514284726,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.526177806707393,
            "log_loss_ci": [
              0.5155238809523972,
              0.5370475139043628
            ],
            "brier": 0.16632842942292825,
            "brier_ci": [
              0.16240351139704695,
              0.17012147700278982
            ],
            "auc": 0.5825639152877317,
            "auc_ci": [
              0.5740309209915405,
              0.5915368817008297
            ],
            "ece": 0.07425126606132011,
            "n_test": 28947,
            "base_rate": 0.19818979514284726,
            "n_boot": 200,
            "best_iteration": 210
          }
        },
        "per_region": {
          "Mont\u00e9r\u00e9gie": {
            "logistic": {
              "log_loss": 0.452183978916403,
              "brier": 0.14212819997670179,
              "auc": 0.6525672064915363,
              "n_test": 9137,
              "base_rate": 0.17883331509248113
            },
            "lightgbm": {
              "log_loss": 0.4694169326468643,
              "brier": 0.14619473862795498,
              "auc": 0.6475888224881406,
              "n_test": 9137,
              "base_rate": 0.17883331509248113
            }
          },
          "Capitale-Nationale": {
            "logistic": {
              "log_loss": 0.40564772383211145,
              "brier": 0.12194928702609958,
              "auc": 0.6289856984093128,
              "n_test": 5358,
              "base_rate": 0.1452034341172079
            },
            "lightgbm": {
              "log_loss": 0.42090224285450073,
              "brier": 0.12450967030785759,
              "auc": 0.5374883532964381,
              "n_test": 5358,
              "base_rate": 0.1452034341172079
            }
          },
          "Montr\u00e9al": {
            "logistic": {
              "log_loss": 0.5003961930923267,
              "brier": 0.1584830115644028,
              "auc": 0.513379869615553,
              "n_test": 4290,
              "base_rate": 0.18578088578088578
            },
            "lightgbm": {
              "log_loss": 0.5314319585060785,
              "brier": 0.16286581390154248,
              "auc": 0.4369829459959532,
              "n_test": 4290,
              "base_rate": 0.18578088578088578
            }
          },
          "Laurentides": {
            "logistic": {
              "log_loss": 0.5847515805129399,
              "brier": 0.19557273284142074,
              "auc": 0.5727015907932161,
              "n_test": 4033,
              "base_rate": 0.25861641457971735
            },
            "lightgbm": {
              "log_loss": 0.5980627041516525,
              "brier": 0.19829779375715464,
              "auc": 0.587789756202362,
              "n_test": 4033,
              "base_rate": 0.25861641457971735
            }
          },
          "Laval": {
            "logistic": {
              "log_loss": 0.6319761628571743,
              "brier": 0.21420536450691405,
              "auc": 0.7003383531999432,
              "n_test": 3309,
              "base_rate": 0.2901178603807797
            },
            "lightgbm": {
              "log_loss": 0.6356260942226282,
              "brier": 0.21162689959842576,
              "auc": 0.7173203136086279,
              "n_test": 3309,
              "base_rate": 0.2901178603807797
            }
          },
          "Chaudi\u00e8re-Appalaches": {
            "logistic": {
              "log_loss": 0.47472343159237923,
              "brier": 0.1486280720240991,
              "auc": 0.564392156862745,
              "n_test": 2820,
              "base_rate": 0.18617021276595744
            },
            "lightgbm": {
              "log_loss": 0.5016269078626335,
              "brier": 0.154475660344634,
              "auc": 0.5682133001348687,
              "n_test": 2820,
              "base_rate": 0.18617021276595744
            }
          }
        },
        "aggregation": "unweighted mean over the 6 held-out regions; CI = bootstrap within region, then averaged"
      },
      "drift": {
        "weeks_4_5": {
          "n_train": 24354,
          "n_test": 16259,
          "weeks_observable": [
            4,
            5
          ],
          "models": {
            "logistic": {
              "log_loss": 0.4173164063193048,
              "log_loss_ci": [
                0.4079098851335305,
                0.4279503479487398
              ],
              "brier": 0.13028631906067592,
              "brier_ci": [
                0.1269213130200807,
                0.13395893293138275
              ],
              "auc": 0.7492247835656936,
              "auc_ci": [
                0.7397275196136489,
                0.7587138500361528
              ],
              "ece": 0.02302921647331614,
              "n_test": 16259,
              "base_rate": 0.18420567070545543,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.39085408923589154,
              "log_loss_ci": [
                0.3806536103761275,
                0.4008621103469145
              ],
              "brier": 0.12244771285551145,
              "brier_ci": [
                0.11906715996781063,
                0.12593964124051688
              ],
              "auc": 0.7930861850571217,
              "auc_ci": [
                0.7832040018509864,
                0.8016148414656868
              ],
              "ece": 0.022256217822746907,
              "n_test": 16259,
              "base_rate": 0.18420567070545543,
              "n_boot": 200
            }
          }
        },
        "weeks_6_7": {
          "n_train": 24354,
          "n_test": 3390,
          "weeks_observable": [
            6
          ],
          "models": {
            "logistic": {
              "log_loss": 0.45746415296206383,
              "log_loss_ci": [
                0.4386145776645392,
                0.47866413632902705
              ],
              "brier": 0.14614020537123143,
              "brier_ci": [
                0.1388593954311711,
                0.1541542182372055
              ],
              "auc": 0.7333957973073855,
              "auc_ci": [
                0.7138865158474841,
                0.7512470827884635
              ],
              "ece": 0.030072903928325463,
              "n_test": 3390,
              "base_rate": 0.20914454277286135,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.44093076204043397,
              "log_loss_ci": [
                0.4221044052371359,
                0.46530112434948756
              ],
              "brier": 0.14186272625131685,
              "brier_ci": [
                0.1351799481247074,
                0.15016632049135298
              ],
              "auc": 0.7617605265912926,
              "auc_ci": [
                0.7412496672929431,
                0.7814590762040565
              ],
              "ece": 0.027534424095712027,
              "n_test": 3390,
              "base_rate": 0.20914454277286135,
              "n_boot": 200
            }
          }
        }
      },
      "chronological_oct1_naive": {
        "n_train": 49629,
        "n_test": 3317,
        "base_rate_train": 0.18525458905075662,
        "models": {
          "logistic": {
            "log_loss": 0.46477813693145725,
            "log_loss_ci": [
              0.4467499148680626,
              0.48575071640365114
            ],
            "brier": 0.1495821223634504,
            "brier_ci": [
              0.1425540124551429,
              0.15797526967050968
            ],
            "auc": 0.7381234059063356,
            "auc_ci": [
              0.7199324331863326,
              0.7578027950645022
            ],
            "ece": 0.028775694245302394,
            "n_test": 3317,
            "base_rate": 0.21977690684353332,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.44148274747445687,
            "log_loss_ci": [
              0.42094055498237765,
              0.46008129743042775
            ],
            "brier": 0.14211547935097907,
            "brier_ci": [
              0.135030975028993,
              0.14876458809296433
            ],
            "auc": 0.7739797800548274,
            "auc_ci": [
              0.7561496618054185,
              0.791151076318268
            ],
            "ece": 0.02495589959856237,
            "n_test": 3317,
            "base_rate": 0.21977690684353332,
            "n_boot": 200,
            "best_iteration": 107
          }
        }
      }
    },
    "markdown30cr": {
      "chronological": {
        "n_train": 14276,
        "n_test": 6063,
        "base_rate_train": 0.3918464555898011,
        "models": {
          "logistic": {
            "log_loss": 0.5638895964021118,
            "log_loss_ci": [
              0.5483626307956806,
              0.577927533586226
            ],
            "brier": 0.18903990112235444,
            "brier_ci": [
              0.18272317763360166,
              0.19476213095498135
            ],
            "auc": 0.7754598844468663,
            "auc_ci": [
              0.764022742728931,
              0.7874068050710149
            ],
            "ece": 0.03134502988231817,
            "n_test": 6063,
            "base_rate": 0.41184232228269835,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.5498899704305041,
            "log_loss_ci": [
              0.5339328498306773,
              0.5653421016847111
            ],
            "brier": 0.18445368542000976,
            "brier_ci": [
              0.17783996205881983,
              0.1907892839784524
            ],
            "auc": 0.7891945376515757,
            "auc_ci": [
              0.776838015085632,
              0.8006678073418573
            ],
            "ece": 0.046678520429866505,
            "n_test": 6063,
            "base_rate": 0.41184232228269835,
            "n_boot": 200,
            "best_iteration": 119
          }
        }
      },
      "dealer_holdout": {
        "n_train": 16271,
        "n_test": 20339,
        "base_rate_train": 0.39771721138450267,
        "models": {
          "logistic": {
            "log_loss": 0.7004408019712537,
            "log_loss_ci": [
              0.6927949528978081,
              0.7063050061476126
            ],
            "brier": 0.2510870643928481,
            "brier_ci": [
              0.24759670467434686,
              0.25374216367416264
            ],
            "auc": 0.5666387429533795,
            "auc_ci": [
              0.5584058545681978,
              0.5750732232194316
            ],
            "ece": 0.12062944203570568,
            "n_test": 20339,
            "base_rate": 0.39780716849402625,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.7215868383461882,
            "log_loss_ci": [
              0.7127664466090898,
              0.728208219422887
            ],
            "brier": 0.2588563766483554,
            "brier_ci": [
              0.25491963852221505,
              0.26171929106903613
            ],
            "auc": 0.547630097944503,
            "auc_ci": [
              0.539325096641866,
              0.5554351076584109
            ],
            "ece": 0.1426202792097802,
            "n_test": 20339,
            "base_rate": 0.39780716849402625,
            "n_boot": 200,
            "best_iteration": 93
          }
        },
        "folds": [
          {
            "logistic": {
              "log_loss": 0.6722112165488539,
              "brier": 0.2381702248050217,
              "auc": 0.5368242640737004,
              "n_test": 3605
            },
            "lightgbm": {
              "log_loss": 0.6688961859985117,
              "brier": 0.2365822445398945,
              "auc": 0.5497617006891449,
              "n_test": 3605
            }
          },
          {
            "logistic": {
              "log_loss": 0.6962910007523655,
              "brier": 0.25057353449799624,
              "auc": 0.6267437919223633,
              "n_test": 3713
            },
            "lightgbm": {
              "log_loss": 0.7734497207514515,
              "brier": 0.2796694183822182,
              "auc": 0.5578928511964226,
              "n_test": 3713
            }
          },
          {
            "logistic": {
              "log_loss": 0.6993752197836073,
              "brier": 0.25163414146456065,
              "auc": 0.5570526351627401,
              "n_test": 3554
            },
            "lightgbm": {
              "log_loss": 0.7134279994928003,
              "brier": 0.25641196704432834,
              "auc": 0.5570179344011565,
              "n_test": 3554
            }
          },
          {
            "logistic": {
              "log_loss": 0.6792352647423426,
              "brier": 0.2421105185365461,
              "auc": 0.6041964972387335,
              "n_test": 3068
            },
            "lightgbm": {
              "log_loss": 0.7026935489677363,
              "brier": 0.2516061494307656,
              "auc": 0.5922801132758284,
              "n_test": 3068
            }
          },
          {
            "logistic": {
              "log_loss": 0.7295112090171477,
              "brier": 0.26266194702888007,
              "auc": 0.545933196571475,
              "n_test": 6399
            },
            "lightgbm": {
              "log_loss": 0.7347676547926113,
              "brier": 0.2641619792627401,
              "auc": 0.5450476296868018,
              "n_test": 6399
            }
          }
        ],
        "fold_mean": {
          "logistic": {
            "log_loss": 0.6953247821688634,
            "brier": 0.24903007326660095,
            "auc": 0.5741500769938024
          },
          "lightgbm": {
            "log_loss": 0.7186470220006222,
            "brier": 0.25768635173198934,
            "auc": 0.5604000458498708
          }
        },
        "fold_sd": {
          "logistic": {
            "log_loss": 0.019895531611715905,
            "brier": 0.008494798082283636,
            "auc": 0.03507311616495651
          },
          "lightgbm": {
            "log_loss": 0.034699013740005225,
            "brier": 0.014206795754122764,
            "auc": 0.016630901790150834
          }
        }
      },
      "region_holdout": {
        "n_train": 18132,
        "n_test": 13239,
        "base_rate_train": 0.3935066693678861,
        "models": {
          "logistic": {
            "log_loss": 0.7279608067404245,
            "log_loss_ci": [
              0.7203742749774137,
              0.7368864583023297
            ],
            "brier": 0.2640763912276577,
            "brier_ci": [
              0.2608133543346487,
              0.2681929903062917
            ],
            "auc": 0.5688706878616209,
            "auc_ci": [
              0.5596895234505151,
              0.5784831830436126
            ],
            "ece": 0.1526930321622381,
            "n_test": 13239,
            "base_rate": 0.4333408867739255,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.7818190166598273,
            "log_loss_ci": [
              0.7724134411125672,
              0.7934154517619193
            ],
            "brier": 0.2832273181033232,
            "brier_ci": [
              0.2790347507462463,
              0.28801411460875653
            ],
            "auc": 0.5650308367917641,
            "auc_ci": [
              0.5565529569482552,
              0.5755462049661195
            ],
            "ece": 0.20579920615717145,
            "n_test": 13239,
            "base_rate": 0.4333408867739255,
            "n_boot": 200,
            "best_iteration": 114
          }
        },
        "per_region": {
          "Mont\u00e9r\u00e9gie": {
            "logistic": {
              "log_loss": 0.6977659234475921,
              "brier": 0.2508394634609104,
              "auc": 0.6278325094736001,
              "n_test": 3968,
              "base_rate": 0.4117943548387097
            },
            "lightgbm": {
              "log_loss": 0.7702040862365774,
              "brier": 0.27550500372094566,
              "auc": 0.6179970611648988,
              "n_test": 3968,
              "base_rate": 0.4117943548387097
            }
          },
          "Capitale-Nationale": {
            "logistic": {
              "log_loss": 0.6501193396178676,
              "brier": 0.2272922814678233,
              "auc": 0.5837421163279608,
              "n_test": 2205,
              "base_rate": 0.3528344671201814
            },
            "lightgbm": {
              "log_loss": 0.6672586285350506,
              "brier": 0.23457832139684207,
              "auc": 0.5989847830042353,
              "n_test": 2205,
              "base_rate": 0.3528344671201814
            }
          },
          "Montr\u00e9al": {
            "logistic": {
              "log_loss": 0.7891428397946212,
              "brier": 0.29345044090977257,
              "auc": 0.4827450884539969,
              "n_test": 1721,
              "base_rate": 0.463102847181871
            },
            "lightgbm": {
              "log_loss": 0.835099741329755,
              "brier": 0.30923354426516786,
              "auc": 0.4641960924896935,
              "n_test": 1721,
              "base_rate": 0.463102847181871
            }
          },
          "Laurentides": {
            "logistic": {
              "log_loss": 0.75136153101177,
              "brier": 0.27623483562522655,
              "auc": 0.5588103764284189,
              "n_test": 2175,
              "base_rate": 0.47954022988505746
            },
            "lightgbm": {
              "log_loss": 0.8836214775570168,
              "brier": 0.320908073081427,
              "auc": 0.5556342298818642,
              "n_test": 2175,
              "base_rate": 0.47954022988505746
            }
          },
          "Laval": {
            "logistic": {
              "log_loss": 0.8228116735297076,
              "brier": 0.3057353206640463,
              "auc": 0.6248701407506702,
              "n_test": 1706,
              "base_rate": 0.5627198124267292
            },
            "lightgbm": {
              "log_loss": 0.8304382506811459,
              "brier": 0.31035892011487787,
              "auc": 0.6258866733690795,
              "n_test": 1706,
              "base_rate": 0.5627198124267292
            }
          },
          "Chaudi\u00e8re-Appalaches": {
            "logistic": {
              "log_loss": 0.6565635330409889,
              "brier": 0.23090600523816723,
              "auc": 0.5352238957350778,
              "n_test": 1464,
              "base_rate": 0.35860655737704916
            },
            "lightgbm": {
              "log_loss": 0.7042919156194186,
              "brier": 0.2487800460406789,
              "auc": 0.5274861808408133,
              "n_test": 1464,
              "base_rate": 0.35860655737704916
            }
          }
        },
        "aggregation": "unweighted mean over the 6 held-out regions; CI = bootstrap within region, then averaged"
      },
      "drift": {
        "weeks_4_5": {
          "n_train": 11235,
          "n_test": 7443,
          "weeks_observable": [
            4,
            5
          ],
          "models": {
            "logistic": {
              "log_loss": 0.5567346950343365,
              "log_loss_ci": [
                0.5459619762943217,
                0.5711023503576953
              ],
              "brier": 0.1857267695506284,
              "brier_ci": [
                0.18136538792881438,
                0.1913884690976126
              ],
              "auc": 0.7775743595440843,
              "auc_ci": [
                0.7666601355569772,
                0.7873221685819515
              ],
              "ece": 0.023230589739597435,
              "n_test": 7443,
              "base_rate": 0.40239150880021496,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.540345996534645,
              "log_loss_ci": [
                0.5284937882754046,
                0.5527355994169363
              ],
              "brier": 0.18046266423549073,
              "brier_ci": [
                0.17568413706146446,
                0.18558142599518676
              ],
              "auc": 0.7916780890813226,
              "auc_ci": [
                0.7810892071064042,
                0.8016050571557458
              ],
              "ece": 0.030500070604068515,
              "n_test": 7443,
              "base_rate": 0.40239150880021496,
              "n_boot": 200
            }
          }
        },
        "weeks_6_7": {
          "n_train": 11235,
          "n_test": 1661,
          "weeks_observable": [
            6
          ],
          "models": {
            "logistic": {
              "log_loss": 0.5962059284240813,
              "log_loss_ci": [
                0.5699806837231501,
                0.6170598349569482
              ],
              "brier": 0.2047625817692497,
              "brier_ci": [
                0.1938543246185836,
                0.2135147288087788
              ],
              "auc": 0.7441330551966907,
              "auc_ci": [
                0.7227975088465454,
                0.7683478203641556
              ],
              "ece": 0.059025521446466354,
              "n_test": 1661,
              "base_rate": 0.42685129440096325,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.5908720086067301,
              "log_loss_ci": [
                0.5631193930386329,
                0.6150010738855946
              ],
              "brier": 0.2027885639936886,
              "brier_ci": [
                0.1905904507442143,
                0.21239676546081865
              ],
              "auc": 0.7534349776582001,
              "auc_ci": [
                0.7327823501519576,
                0.7781418314211761
              ],
              "ece": 0.06154124457206232,
              "n_test": 1661,
              "base_rate": 0.42685129440096325,
              "n_boot": 200
            }
          }
        }
      }
    },
    "exit30": {
      "chronological": {
        "n_train": 31050,
        "n_test": 12953,
        "base_rate_train": 0.5936876006441224,
        "models": {
          "logistic": {
            "log_loss": 0.6088466861373079,
            "log_loss_ci": [
              0.6031441325132438,
              0.6159819995416025
            ],
            "brier": 0.21178979444355045,
            "brier_ci": [
              0.20923553708383189,
              0.21471718872259998
            ],
            "auc": 0.7051544263760394,
            "auc_ci": [
              0.6967140688020557,
              0.712991299199323
            ],
            "ece": 0.011098029585027088,
            "n_test": 12953,
            "base_rate": 0.591523199258859,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.5846151980680317,
            "log_loss_ci": [
              0.5797723430156764,
              0.5913731168711103
            ],
            "brier": 0.20399341239740035,
            "brier_ci": [
              0.20185712890520965,
              0.20689501441673702
            ],
            "auc": 0.7274472971418939,
            "auc_ci": [
              0.7188675564699939,
              0.7353464481143868
            ],
            "ece": 0.015319677918253553,
            "n_test": 12953,
            "base_rate": 0.591523199258859,
            "n_boot": 200,
            "best_iteration": 94
          }
        }
      },
      "dealer_holdout": {
        "n_train": 35202,
        "n_test": 44003,
        "base_rate_train": 0.5932610167639272,
        "models": {
          "logistic": {
            "log_loss": 0.6950997863455771,
            "log_loss_ci": [
              0.6937704930116179,
              0.6966621340273991
            ],
            "brier": 0.25059085167120265,
            "brier_ci": [
              0.24996162086867182,
              0.25132074861688924
            ],
            "auc": 0.5665666202452024,
            "auc_ci": [
              0.5615437854107324,
              0.5714286164828917
            ],
            "ece": 0.1033253895507352,
            "n_test": 44003,
            "base_rate": 0.5930504738313297,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.6806059620538215,
            "log_loss_ci": [
              0.6776759680404983,
              0.683247214424205
            ],
            "brier": 0.2435928870014518,
            "brier_ci": [
              0.2422043961349471,
              0.2447726341962708
            ],
            "auc": 0.6079275140203402,
            "auc_ci": [
              0.6033111847021673,
              0.6136584176417342
            ],
            "ece": 0.08997247704185676,
            "n_test": 44003,
            "base_rate": 0.5930504738313297,
            "n_boot": 200,
            "best_iteration": 419
          }
        },
        "folds": [
          {
            "logistic": {
              "log_loss": 0.7637357356049415,
              "brier": 0.28398737448997663,
              "auc": 0.5140435150820424,
              "n_test": 9442
            },
            "lightgbm": {
              "log_loss": 0.7177019425885123,
              "brier": 0.26042194193329476,
              "auc": 0.5695193486374643,
              "n_test": 9442
            }
          },
          {
            "logistic": {
              "log_loss": 0.6721068516854943,
              "brier": 0.23950253821992448,
              "auc": 0.6174046231041781,
              "n_test": 7394
            },
            "lightgbm": {
              "log_loss": 0.6344290341443435,
              "brier": 0.22266291838611618,
              "auc": 0.677458225501697,
              "n_test": 7394
            }
          },
          {
            "logistic": {
              "log_loss": 0.6715285377518726,
              "brier": 0.23931232679543418,
              "auc": 0.6130534721638573,
              "n_test": 7548
            },
            "lightgbm": {
              "log_loss": 0.6775903836629404,
              "brier": 0.2421437152997418,
              "auc": 0.6231382450092808,
              "n_test": 7548
            }
          },
          {
            "logistic": {
              "log_loss": 0.6761618503418108,
              "brier": 0.24140912447270493,
              "auc": 0.6045811871317802,
              "n_test": 6812
            },
            "lightgbm": {
              "log_loss": 0.6823981214925687,
              "brier": 0.2447753577894644,
              "auc": 0.5783874876058118,
              "n_test": 6812
            }
          },
          {
            "logistic": {
              "log_loss": 0.6817375727446296,
              "brier": 0.2439017951116925,
              "auc": 0.5984227059886065,
              "n_test": 12807
            },
            "lightgbm": {
              "log_loss": 0.6807406815315877,
              "brier": 0.24349447271800476,
              "auc": 0.612751425914652,
              "n_test": 12807
            }
          }
        ],
        "fold_mean": {
          "logistic": {
            "log_loss": 0.6930541096257498,
            "brier": 0.24962263181794656,
            "auc": 0.5895011006940929
          },
          "lightgbm": {
            "log_loss": 0.6785720326839906,
            "brier": 0.24269968122532443,
            "auc": 0.6122509465337812
          }
        },
        "fold_sd": {
          "logistic": {
            "log_loss": 0.03552869978333845,
            "brier": 0.017261772206438004,
            "auc": 0.038299274246750545
          },
          "lightgbm": {
            "log_loss": 0.0264577391226201,
            "brier": 0.012006661605143302,
            "auc": 0.03832361227087986
          }
        }
      },
      "region_holdout": {
        "n_train": 39178,
        "n_test": 28947,
        "base_rate_train": 0.5919150624764695,
        "models": {
          "logistic": {
            "log_loss": 0.6895086811014098,
            "log_loss_ci": [
              0.6873192581802143,
              0.692541285413907
            ],
            "brier": 0.2478891684784745,
            "brier_ci": [
              0.24687389591644682,
              0.24933593631153472
            ],
            "auc": 0.5843988559292631,
            "auc_ci": [
              0.5766574148498544,
              0.5906997289882432
            ],
            "ece": 0.11532407638989386,
            "n_test": 28947,
            "base_rate": 0.6009949217535496,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.6890728325227832,
            "log_loss_ci": [
              0.6844833481593796,
              0.6924281625717368
            ],
            "brier": 0.24725910342919488,
            "brier_ci": [
              0.24514076666320075,
              0.2488171191090692
            ],
            "auc": 0.6065048609213427,
            "auc_ci": [
              0.6001358647505153,
              0.6135745865089286
            ],
            "ece": 0.11224426208325944,
            "n_test": 28947,
            "base_rate": 0.6009949217535496,
            "n_boot": 200,
            "best_iteration": 500
          }
        },
        "per_region": {
          "Mont\u00e9r\u00e9gie": {
            "logistic": {
              "log_loss": 0.7185548741531423,
              "brier": 0.2622670755352521,
              "auc": 0.5507198070077464,
              "n_test": 9137,
              "base_rate": 0.6132209696837037
            },
            "lightgbm": {
              "log_loss": 0.6821032233112184,
              "brier": 0.24412024729940518,
              "auc": 0.6097070996710166,
              "n_test": 9137,
              "base_rate": 0.6132209696837037
            }
          },
          "Capitale-Nationale": {
            "logistic": {
              "log_loss": 0.6826432948911425,
              "brier": 0.2443618673736587,
              "auc": 0.6112885021555081,
              "n_test": 5358,
              "base_rate": 0.6362448674878686
            },
            "lightgbm": {
              "log_loss": 0.692498946330963,
              "brier": 0.2488109699935438,
              "auc": 0.6229425293653461,
              "n_test": 5358,
              "base_rate": 0.6362448674878686
            }
          },
          "Montr\u00e9al": {
            "logistic": {
              "log_loss": 0.6939403574317395,
              "brier": 0.2502112164586107,
              "auc": 0.5520071413269267,
              "n_test": 4290,
              "base_rate": 0.6508158508158508
            },
            "lightgbm": {
              "log_loss": 0.7407256390973135,
              "brier": 0.2715057800974201,
              "auc": 0.5115864849407614,
              "n_test": 4290,
              "base_rate": 0.6508158508158508
            }
          },
          "Laurentides": {
            "logistic": {
              "log_loss": 0.6836822032908833,
              "brier": 0.24524372752759388,
              "auc": 0.5790217054117824,
              "n_test": 4033,
              "base_rate": 0.5383089511529878
            },
            "lightgbm": {
              "log_loss": 0.6760231711527256,
              "brier": 0.24097788216521682,
              "auc": 0.6283442369165659,
              "n_test": 4033,
              "base_rate": 0.5383089511529878
            }
          },
          "Laval": {
            "logistic": {
              "log_loss": 0.6679218283231959,
              "brier": 0.23761150726507252,
              "auc": 0.6305263465949894,
              "n_test": 3309,
              "base_rate": 0.5811423390752494
            },
            "lightgbm": {
              "log_loss": 0.6602450076615012,
              "brier": 0.23403708273939391,
              "auc": 0.6507309931646904,
              "n_test": 3309,
              "base_rate": 0.5811423390752494
            }
          },
          "Chaudi\u00e8re-Appalaches": {
            "logistic": {
              "log_loss": 0.6903095285183557,
              "brier": 0.24763961671065904,
              "auc": 0.5828296330786258,
              "n_test": 2820,
              "base_rate": 0.5315602836879433
            },
            "lightgbm": {
              "log_loss": 0.6828410075829774,
              "brier": 0.2441026582801894,
              "auc": 0.6157178214696752,
              "n_test": 2820,
              "base_rate": 0.5315602836879433
            }
          }
        },
        "aggregation": "unweighted mean over the 6 held-out regions; CI = bootstrap within region, then averaged"
      },
      "drift": {
        "weeks_4_5": {
          "n_train": 24354,
          "n_test": 16259,
          "weeks_observable": [
            4,
            5
          ],
          "models": {
            "logistic": {
              "log_loss": 0.618162464970206,
              "log_loss_ci": [
                0.6123170701522876,
                0.6248851843361714
              ],
              "brier": 0.21437804280362754,
              "brier_ci": [
                0.21201373045830557,
                0.2173036145427639
              ],
              "auc": 0.6959144125378385,
              "auc_ci": [
                0.687254674723287,
                0.7028942745380895
              ],
              "ece": 0.020602736684108267,
              "n_test": 16259,
              "base_rate": 0.5975767267359616,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.5954846295525256,
              "log_loss_ci": [
                0.5882372598982487,
                0.60374242729879
              ],
              "brier": 0.20552943836890286,
              "brier_ci": [
                0.20264678625904206,
                0.20868024684517003
              ],
              "auc": 0.7275086552544345,
              "auc_ci": [
                0.720227611541182,
                0.7342970160743388
              ],
              "ece": 0.03206067711276024,
              "n_test": 16259,
              "base_rate": 0.5975767267359616,
              "n_boot": 200
            }
          }
        },
        "weeks_6_7": {
          "n_train": 24354,
          "n_test": 3390,
          "weeks_observable": [
            6
          ],
          "models": {
            "logistic": {
              "log_loss": 0.6335406964925955,
              "log_loss_ci": [
                0.6212458123830099,
                0.6450765383488211
              ],
              "brier": 0.2219334974369145,
              "brier_ci": [
                0.21648779673683372,
                0.22684994886530957
              ],
              "auc": 0.674931342556254,
              "auc_ci": [
                0.6582693643726644,
                0.6910379276071871
              ],
              "ece": 0.022569791027503453,
              "n_test": 3390,
              "base_rate": 0.58023598820059,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.6185171938975021,
              "log_loss_ci": [
                0.6036703816435322,
                0.6330047222841904
              ],
              "brier": 0.21666892021735712,
              "brier_ci": [
                0.2107951018556213,
                0.22316674678411297
              ],
              "auc": 0.6953947798549575,
              "auc_ci": [
                0.6785078625186961,
                0.7134433722139846
              ],
              "ece": 0.02787863043036501,
              "n_test": 3390,
              "base_rate": 0.58023598820059,
              "n_boot": 200
            }
          }
        }
      },
      "chronological_oct1_naive": {
        "n_train": 49629,
        "n_test": 3317,
        "base_rate_train": 0.5878014870337908,
        "models": {
          "logistic": {
            "log_loss": 0.6322114387021451,
            "log_loss_ci": [
              0.6197245122439214,
              0.6447269181842753
            ],
            "brier": 0.22084303889969914,
            "brier_ci": [
              0.21527341133434813,
              0.2263263065133749
            ],
            "auc": 0.7127074429684979,
            "auc_ci": [
              0.6945860057032724,
              0.7332895663949947
            ],
            "ece": 0.08236096055258645,
            "n_test": 3317,
            "base_rate": 0.4615616520952668,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.629292096351042,
            "log_loss_ci": [
              0.6157108059959672,
              0.6422784020925622
            ],
            "brier": 0.22257599524033,
            "brier_ci": [
              0.21679288730122043,
              0.2278356290587968
            ],
            "auc": 0.728343608719535,
            "auc_ci": [
              0.7147762501849771,
              0.7432568738375331
            ],
            "ece": 0.12296025739657858,
            "n_test": 3317,
            "base_rate": 0.4615616520952668,
            "n_boot": 200,
            "best_iteration": 416
          }
        }
      }
    }
  },
  "notes": {
    "region_holdout_regions": [
      "Mont\u00e9r\u00e9gie",
      "Capitale-Nationale",
      "Montr\u00e9al",
      "Laurentides",
      "Laval",
      "Chaudi\u00e8re-Appalaches"
    ],
    "drift": "train = entries in weeks 0-3 (days 0-27); the week 6-7 window only contains observable entries up to day 44 (week 6), week 7 has no determinable 30-day outcome",
    "chronological_oct1_naive": "Analysis-plan cutoff (entry before vs on/after 2026-10-01 UTC) applied to the looser rule entry day <= 51. Test entries (days 50-51) have only ~22-24 days of confirmable follow-up: exits at ages between ~23 and 30 days are coded 0 (exit30 base rate is a lower bound) and the last-day markdowns may be unclassified. Reported as a sensitivity only.",
    "chronological": "primary chronological split: train entries before 2026-09-15 UTC, test 2026-09-15 to day 44 (2026-09-25); the plan's 2026-10-01 cutoff leaves no listing with a determinable 30-day outcome in the test fold",
    "targets": {
      "markdown30": "first sustained markdown (>=1 % and >=100 $) at listing age <= 30 d; exits before any cut count as 0",
      "markdown30cr": "competing-risk-aware: listings that exit within 30 d without a prior cut are removed; event = markdown within 30 d among the rest",
      "exit30": "disappearance confirmed by >= 7 d of absence at listing age <= 30 d (NOT a sale)"
    },
    "features": {
      "numeric": [
        "age_years_entry",
        "km10k",
        "year",
        "logp",
        "resid_A2",
        "week",
        "log_dens_10",
        "log_dens_25",
        "log_dens_50",
        "log_own_stock",
        "pricepos_25"
      ],
      "dealer_target_encoding": [
        "dealer_rate_markdown30",
        "dealer_rate_exit30",
        "dealer_log_n_train",
        "(training fold only; inner 5-fold OOF for training rows; smoothing m=20)"
      ],
      "categorical_lightgbm": [
        "powertrain",
        "body",
        "region",
        "source_class",
        "make",
        "model",
        "trim",
        "transmission",
        "drivetrain"
      ],
      "one_hot_logistic": [
        "powertrain",
        "body",
        "region",
        "source_class"
      ],
      "competition_at_entry": "risk_set row with listing_age = 0 (dens_10/25/50, own_stock, pricepos_25; NaN when no competitor or no coordinates)",
      "excluded": "dealer_id (identity), anything measured after entry"
    },
    "models": {
      "logistic": "sklearn LogisticRegression L2, C=1, standardised numerics + missing indicators + one-hot coarse categoricals",
      "lightgbm": {
        "n_estimators": 2000,
        "learning_rate": 0.05,
        "num_leaves": 31,
        "min_child_samples": 50,
        "subsample": 0.8,
        "subsample_freq": 1,
        "colsample_bytree": 0.8,
        "reg_lambda": 1.0,
        "cat_l2": 10.0,
        "cat_smooth": 50.0,
        "max_cat_to_onehot": 4,
        "n_jobs": 8,
        "verbose": -1,
        "random_state": 36,
        "early_stopping": "100 rounds on inner validation (latest 15 % of training entries for chronological splits, 15 % of training dealers otherwise)"
      }
    },
    "metrics": {
      "ci": "200 bootstrap resamples of test rows, percentile 2.5/97.5",
      "calibration": "10 equal-width probability bins; ECE = n-weighted |frac_pos - mean_pred|"
    }
  },
  "samples": {
    "n_S2": 80856,
    "n_strict_observable": 44003,
    "strict_rule": "entry_ts <= SNAPSHOT_TS - 30 - 7 days (entry day <= 44); every listing has a determined 30-day exit and markdown outcome",
    "n_naive_observable": 52946,
    "naive_rule": "entry day <= 51 (analysis-plan rule; exit at ages > snapshot-7d-entry cannot be confirmed)",
    "n_without_coordinates": 573,
    "base_rates_strict": {
      "markdown30": 0.18387382678453743,
      "markdown30cr": 0.39780716849402625,
      "exit30": 0.5930504738313297
    },
    "n_markdown30cr": 20339,
    "n_exit_before_cut_removed_in_cr": 23664
  },
  "survival": {
    "model": "CoxPHFitter(penalizer=0.01)",
    "split": "chronological, entry before vs on/after 2026-10-01 UTC",
    "n_train": 49629,
    "events_train": 34694,
    "n_test": 31227,
    "events_test": 9040,
    "c_index_train": 0.6001305839001478,
    "c_index_test": 0.6581044283827092,
    "dynamic_auc_30d": null,
    "dynamic_auc_note": "scikit-survival (sksurv) is not installed in the project environment; the 30-day cumulative/dynamic AUC was not computed.",
    "covariates": [
      "age_years_entry",
      "logp",
      "resid_A2",
      "km10k",
      "log_dens_25",
      "pricepos_25f",
      "pricepos_missing",
      "coords_missing",
      "powertrain=BEV",
      "powertrain=Diesel",
      "powertrain=HEV",
      "powertrain=PHEV",
      "powertrain=unknown",
      "body=Convertible",
      "body=Coupe",
      "body=Hatchback",
      "body=Pickup",
      "body=Sedan",
      "body=Van",
      "body=Wagon",
      "body=unknown",
      "region=(missing)",
      "region=Abitibi-T\u00e9miscamingue",
      "region=Bas-Saint-Laurent",
      "region=Capitale-Nationale",
      "region=Centre-du-Qu\u00e9bec",
      "region=Chaudi\u00e8re-Appalaches",
      "region=C\u00f4te-Nord",
      "region=Estrie",
      "region=Gasp\u00e9sie\u2013\u00celes-de-la-Madeleine",
      "region=Lanaudi\u00e8re",
      "region=Laurentides",
      "region=Laval",
      "region=Mauricie",
      "region=Mont\u00e9r\u00e9gie",
      "region=Outaouais",
      "region=Saguenay\u2013Lac-Saint-Jean"
    ],
    "seconds": 2.1
  },
  "seconds_total": 133.3
}