{
  "targets": {
    "markdown30": {
      "chronological": {
        "n_train": 31050,
        "n_test": 12953,
        "base_rate_train": 0.1801610305958132,
        "models": {
          "logistic": {
            "log_loss": 0.42750443531874166,
            "log_loss_ci": [
              0.4166018773449265,
              0.4383702335324857
            ],
            "brier": 0.13450365317427446,
            "brier_ci": [
              0.13045599567318253,
              0.13838370534951827
            ],
            "auc": 0.7484693951027384,
            "auc_ci": [
              0.737909568140902,
              0.7593093136158712
            ],
            "ece": 0.01730073078587064,
            "n_test": 12953,
            "base_rate": 0.1927738747780437,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.4056075176546041,
            "log_loss_ci": [
              0.39458102948911755,
              0.4157708248108228
            ],
            "brier": 0.12850630504527635,
            "brier_ci": [
              0.12492909051145196,
              0.13201137786148778
            ],
            "auc": 0.7844642338978158,
            "auc_ci": [
              0.7750294037667133,
              0.7931437695941693
            ],
            "ece": 0.021023207499034996,
            "n_test": 12953,
            "base_rate": 0.1927738747780437,
            "n_boot": 200,
            "best_iteration": 223
          }
        }
      },
      "dealer_holdout": {
        "n_train": 35202,
        "n_test": 44003,
        "base_rate_train": 0.18379591843568377,
        "models": {
          "logistic": {
            "log_loss": 0.47603195914870594,
            "log_loss_ci": [
              0.4691448407916578,
              0.4827179027446317
            ],
            "brier": 0.14956133723719078,
            "brier_ci": [
              0.14681886000410743,
              0.1521997159493528
            ],
            "auc": 0.5802647906902381,
            "auc_ci": [
              0.5733687749143543,
              0.5860445106612071
            ],
            "ece": 0.03259713949229643,
            "n_test": 44003,
            "base_rate": 0.18387382678453743,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.4842918455473671,
            "log_loss_ci": [
              0.47716753090790887,
              0.49193103673035293
            ],
            "brier": 0.15125919820462633,
            "brier_ci": [
              0.1485053191385561,
              0.15412196784949267
            ],
            "auc": 0.5777586319092147,
            "auc_ci": [
              0.5708631268857159,
              0.5840620993037777
            ],
            "ece": 0.04930848852593494,
            "n_test": 44003,
            "base_rate": 0.18387382678453743,
            "n_boot": 200,
            "best_iteration": 187
          }
        },
        "folds": [
          {
            "logistic": {
              "log_loss": 0.40943258253874,
              "brier": 0.12207271739318214,
              "auc": 0.5600725787112404,
              "n_test": 9442
            },
            "lightgbm": {
              "log_loss": 0.41500853560226947,
              "brier": 0.12277600070829686,
              "auc": 0.5210200038568125,
              "n_test": 9442
            }
          },
          {
            "logistic": {
              "log_loss": 0.5096047931597615,
              "brier": 0.16441712850163426,
              "auc": 0.6540259577054304,
              "n_test": 7394
            },
            "lightgbm": {
              "log_loss": 0.5356907310215666,
              "brier": 0.17055387540055642,
              "auc": 0.64076435156967,
              "n_test": 7394
            }
          },
          {
            "logistic": {
              "log_loss": 0.4876614647256647,
              "brier": 0.1547650294125288,
              "auc": 0.597862423607253,
              "n_test": 7548
            },
            "lightgbm": {
              "log_loss": 0.4905092226450667,
              "brier": 0.15543860362866624,
              "auc": 0.5759085843982019,
              "n_test": 7548
            }
          },
          {
            "logistic": {
              "log_loss": 0.4512451295449607,
              "brier": 0.14049666686090417,
              "auc": 0.6265568341220527,
              "n_test": 6812
            },
            "lightgbm": {
              "log_loss": 0.462625649150589,
              "brier": 0.14338613128650887,
              "auc": 0.6187942317190578,
              "n_test": 6812
            }
          },
          {
            "logistic": {
              "log_loss": 0.5120796014099209,
              "brier": 0.16300514874821193,
              "auc": 0.5871099994686383,
              "n_test": 12807
            },
            "lightgbm": {
              "log_loss": 0.5135563900017123,
              "brier": 0.16284338554586145,
              "auc": 0.580390038485771,
              "n_test": 12807
            }
          }
        ],
        "fold_mean": {
          "logistic": {
            "log_loss": 0.4740047142758096,
            "brier": 0.14895133818329226,
            "auc": 0.605125558722923
          },
          "lightgbm": {
            "log_loss": 0.48347810568424077,
            "brier": 0.15099959931397797,
            "auc": 0.5873754420059026
          }
        },
        "fold_sd": {
          "logistic": {
            "log_loss": 0.03896441549377764,
            "brier": 0.01590245886661948,
            "auc": 0.032427251196387105
          },
          "lightgbm": {
            "log_loss": 0.04195999287062199,
            "brier": 0.01671458140990917,
            "auc": 0.04103862782584155
          }
        }
      },
      "region_holdout": {
        "n_train": 39178,
        "n_test": 28947,
        "base_rate_train": 0.18223023652950746,
        "models": {
          "logistic": {
            "log_loss": 0.5081708580019036,
            "log_loss_ci": [
              0.4998529808058603,
              0.5160353180522947
            ],
            "brier": 0.16346334388335346,
            "brier_ci": [
              0.16002606678557083,
              0.1666491253509428
            ],
            "auc": 0.6055050483473974,
            "auc_ci": [
              0.5965395478483017,
              0.6143427404060463
            ],
            "ece": 0.04061943442091372,
            "n_test": 28947,
            "base_rate": 0.19818979514284726,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.5289470665959981,
            "log_loss_ci": [
              0.5180102275706995,
              0.5394076117917554
            ],
            "brier": 0.16682471314062872,
            "brier_ci": [
              0.1628695751406138,
              0.17063898538049768
            ],
            "auc": 0.580770005467191,
            "auc_ci": [
              0.5725672848885526,
              0.5884021487002266
            ],
            "ece": 0.07691417888302861,
            "n_test": 28947,
            "base_rate": 0.19818979514284726,
            "n_boot": 200,
            "best_iteration": 224
          }
        },
        "per_region": {
          "Mont\u00e9r\u00e9gie": {
            "logistic": {
              "log_loss": 0.452161698876822,
              "brier": 0.14212071145105978,
              "auc": 0.65250309504921,
              "n_test": 9137,
              "base_rate": 0.17883331509248113
            },
            "lightgbm": {
              "log_loss": 0.47820728589395944,
              "brier": 0.14797285357542334,
              "auc": 0.6354813439781166,
              "n_test": 9137,
              "base_rate": 0.17883331509248113
            }
          },
          "Capitale-Nationale": {
            "logistic": {
              "log_loss": 0.40566669445413134,
              "brier": 0.12195921361556367,
              "auc": 0.629125458852056,
              "n_test": 5358,
              "base_rate": 0.1452034341172079
            },
            "lightgbm": {
              "log_loss": 0.4185644898170062,
              "brier": 0.12378175745704309,
              "auc": 0.5542907578495976,
              "n_test": 5358,
              "base_rate": 0.1452034341172079
            }
          },
          "Montr\u00e9al": {
            "logistic": {
              "log_loss": 0.5003663356596327,
              "brier": 0.1584746243976379,
              "auc": 0.5132099653689886,
              "n_test": 4290,
              "base_rate": 0.18578088578088578
            },
            "lightgbm": {
              "log_loss": 0.5280538188369651,
              "brier": 0.1621894265953359,
              "auc": 0.43915039255783483,
              "n_test": 4290,
              "base_rate": 0.18578088578088578
            }
          },
          "Laurentides": {
            "logistic": {
              "log_loss": 0.5846016300361694,
              "brier": 0.19553131756639106,
              "auc": 0.5726448340104598,
              "n_test": 4033,
              "base_rate": 0.25861641457971735
            },
            "lightgbm": {
              "log_loss": 0.5977312717847972,
              "brier": 0.1982952655437102,
              "auc": 0.5860367091327114,
              "n_test": 4033,
              "base_rate": 0.25861641457971735
            }
          },
          "Laval": {
            "logistic": {
              "log_loss": 0.6317090846314307,
              "brier": 0.2141206161279708,
              "auc": 0.7005024301121044,
              "n_test": 3309,
              "base_rate": 0.2901178603807797
            },
            "lightgbm": {
              "log_loss": 0.6444428089532214,
              "brier": 0.21358889094630226,
              "auc": 0.6911103572442174,
              "n_test": 3309,
              "base_rate": 0.2901178603807797
            }
          },
          "Chaudi\u00e8re-Appalaches": {
            "logistic": {
              "log_loss": 0.474519704353236,
              "brier": 0.1485735801414975,
              "auc": 0.5650445066915655,
              "n_test": 2820,
              "base_rate": 0.18617021276595744
            },
            "lightgbm": {
              "log_loss": 0.5066827242900391,
              "brier": 0.15512008472595737,
              "auc": 0.5785504720406681,
              "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.4172980500943417,
              "log_loss_ci": [
                0.4078892333968611,
                0.42792501293356267
              ],
              "brier": 0.13028210191911407,
              "brier_ci": [
                0.1269175676153395,
                0.13395263408367583
              ],
              "auc": 0.7492457271971177,
              "auc_ci": [
                0.7397635617914534,
                0.7587462270210206
              ],
              "ece": 0.02287873370320918,
              "n_test": 16259,
              "base_rate": 0.18420567070545543,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.39306320013350626,
              "log_loss_ci": [
                0.3829517825666116,
                0.4033021206623044
              ],
              "brier": 0.12300596416427913,
              "brier_ci": [
                0.1196597142669703,
                0.12673548980656985
              ],
              "auc": 0.7919337189445215,
              "auc_ci": [
                0.7825396642943132,
                0.8007247515269758
              ],
              "ece": 0.024650995703471436,
              "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.4574664935898489,
              "log_loss_ci": [
                0.4386567768372843,
                0.47863900911457274
              ],
              "brier": 0.1461414692248857,
              "brier_ci": [
                0.13886963450397957,
                0.15414744839870803
              ],
              "auc": 0.7333942190486362,
              "auc_ci": [
                0.7139021379287034,
                0.7511810377810034
              ],
              "ece": 0.029979682967721875,
              "n_test": 3390,
              "base_rate": 0.20914454277286135,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.44687234982908236,
              "log_loss_ci": [
                0.42755382743884957,
                0.4716631221365267
              ],
              "brier": 0.14386771600720633,
              "brier_ci": [
                0.13655056999498,
                0.15186071829326037
              ],
              "auc": 0.7575876104583843,
              "auc_ci": [
                0.7365552953121464,
                0.7791821192820314
              ],
              "ece": 0.038623798444173775,
              "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.46509032297028385,
            "log_loss_ci": [
              0.4470978564068478,
              0.48600377941085987
            ],
            "brier": 0.1496902465009174,
            "brier_ci": [
              0.14264398202210207,
              0.158060585967047
            ],
            "auc": 0.7375578538066375,
            "auc_ci": [
              0.7195049645973914,
              0.7571505747637189
            ],
            "ece": 0.03005696934895857,
            "n_test": 3317,
            "base_rate": 0.21977690684353332,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.4439707299774289,
            "log_loss_ci": [
              0.42205230403691435,
              0.46176621078250085
            ],
            "brier": 0.1428246998812338,
            "brier_ci": [
              0.13594568743272048,
              0.1499526613238938
            ],
            "auc": 0.7745026639783066,
            "auc_ci": [
              0.7566072005085992,
              0.7920219022181805
            ],
            "ece": 0.02937900920685068,
            "n_test": 3317,
            "base_rate": 0.21977690684353332,
            "n_boot": 200,
            "best_iteration": 261
          }
        }
      }
    },
    "markdown30cr": {
      "chronological": {
        "n_train": 14276,
        "n_test": 6063,
        "base_rate_train": 0.3918464555898011,
        "models": {
          "logistic": {
            "log_loss": 0.5637219907792722,
            "log_loss_ci": [
              0.5482431704065615,
              0.5778146612256625
            ],
            "brier": 0.18898139694973967,
            "brier_ci": [
              0.18269645765385287,
              0.19467250569282127
            ],
            "auc": 0.7755413057643372,
            "auc_ci": [
              0.7640938113944955,
              0.7874854542227134
            ],
            "ece": 0.031394109039069536,
            "n_test": 6063,
            "base_rate": 0.41184232228269835,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.5467246174577667,
            "log_loss_ci": [
              0.5310146598184058,
              0.5629300267524441
            ],
            "brier": 0.183276689115341,
            "brier_ci": [
              0.17681122219478695,
              0.18987126943664784
            ],
            "auc": 0.7909485212877999,
            "auc_ci": [
              0.77861711147321,
              0.8027709748473271
            ],
            "ece": 0.04323603074207272,
            "n_test": 6063,
            "base_rate": 0.41184232228269835,
            "n_boot": 200,
            "best_iteration": 115
          }
        }
      },
      "dealer_holdout": {
        "n_train": 16271,
        "n_test": 20339,
        "base_rate_train": 0.39771721138450267,
        "models": {
          "logistic": {
            "log_loss": 0.7005190170382144,
            "log_loss_ci": [
              0.6928866102612254,
              0.7064217330317188
            ],
            "brier": 0.25111431277069857,
            "brier_ci": [
              0.24763056400761974,
              0.2537672066965328
            ],
            "auc": 0.5661423583840284,
            "auc_ci": [
              0.5578319444843819,
              0.5747562525757856
            ],
            "ece": 0.12054954569707432,
            "n_test": 20339,
            "base_rate": 0.39780716849402625,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.7144309406244321,
            "log_loss_ci": [
              0.7061210144206004,
              0.7205447668953259
            ],
            "brier": 0.25622138352776636,
            "brier_ci": [
              0.25244333927177787,
              0.25889654354664343
            ],
            "auc": 0.5504099817062947,
            "auc_ci": [
              0.5431619587061016,
              0.557388232181443
            ],
            "ece": 0.13487619846537036,
            "n_test": 20339,
            "base_rate": 0.39780716849402625,
            "n_boot": 200,
            "best_iteration": 82
          }
        },
        "folds": [
          {
            "logistic": {
              "log_loss": 0.6721499004851819,
              "brier": 0.2381456264337999,
              "auc": 0.5368595331702526,
              "n_test": 3605
            },
            "lightgbm": {
              "log_loss": 0.6684538336359788,
              "brier": 0.23642654790540482,
              "auc": 0.5436638069862091,
              "n_test": 3605
            }
          },
          {
            "logistic": {
              "log_loss": 0.6962175691625236,
              "brier": 0.2505438892292713,
              "auc": 0.6260159483373768,
              "n_test": 3713
            },
            "lightgbm": {
              "log_loss": 0.7661854033534757,
              "brier": 0.2771699388038127,
              "auc": 0.5730483801912373,
              "n_test": 3713
            }
          },
          {
            "logistic": {
              "log_loss": 0.6997896602220616,
              "brier": 0.25179983844287573,
              "auc": 0.5565209933060266,
              "n_test": 3554
            },
            "lightgbm": {
              "log_loss": 0.6916168049669729,
              "brier": 0.24814415377160262,
              "auc": 0.5629023324149636,
              "n_test": 3554
            }
          },
          {
            "logistic": {
              "log_loss": 0.6788168191305408,
              "brier": 0.24193390204383972,
              "auc": 0.6029888495507757,
              "n_test": 3068
            },
            "lightgbm": {
              "log_loss": 0.6984075958591713,
              "brier": 0.24998879197692284,
              "auc": 0.6054765679128055,
              "n_test": 3068
            }
          },
          {
            "logistic": {
              "log_loss": 0.7298074087308966,
              "brier": 0.26277226537656256,
              "auc": 0.5462240524840558,
              "n_test": 6399
            },
            "lightgbm": {
              "log_loss": 0.7306560086736379,
              "brier": 0.26269215429039283,
              "auc": 0.5493163768940164,
              "n_test": 6399
            }
          }
        ],
        "fold_mean": {
          "logistic": {
            "log_loss": 0.6953562715462409,
            "brier": 0.24903910430526985,
            "auc": 0.5737218753696975
          },
          "lightgbm": {
            "log_loss": 0.7110639292978473,
            "brier": 0.2548843173496272,
            "auc": 0.5668814928798463
          }
        },
        "fold_sd": {
          "logistic": {
            "log_loss": 0.020096600538824665,
            "brier": 0.008574817816935252,
            "auc": 0.03464695866858239
          },
          "lightgbm": {
            "log_loss": 0.03398888097451171,
            "brier": 0.013911840049987833,
            "auc": 0.021867959537952723
          }
        }
      },
      "region_holdout": {
        "n_train": 18132,
        "n_test": 13239,
        "base_rate_train": 0.3935066693678861,
        "models": {
          "logistic": {
            "log_loss": 0.7279169836539531,
            "log_loss_ci": [
              0.7203545423861841,
              0.7368465337081728
            ],
            "brier": 0.26405975781893554,
            "brier_ci": [
              0.26080416474510393,
              0.26817906166815014
            ],
            "auc": 0.5689278880282912,
            "auc_ci": [
              0.559730577457717,
              0.5785767350181213
            ],
            "ece": 0.15263668744259273,
            "n_test": 13239,
            "base_rate": 0.4333408867739255,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.7754028335160541,
            "log_loss_ci": [
              0.7653136294660776,
              0.7869190462821098
            ],
            "brier": 0.2807395283646377,
            "brier_ci": [
              0.27656324074565614,
              0.28561108153143416
            ],
            "auc": 0.5660288981673771,
            "auc_ci": [
              0.5567816213441923,
              0.5760181596090554
            ],
            "ece": 0.1983107356543753,
            "n_test": 13239,
            "base_rate": 0.4333408867739255,
            "n_boot": 200,
            "best_iteration": 112
          }
        },
        "per_region": {
          "Mont\u00e9r\u00e9gie": {
            "logistic": {
              "log_loss": 0.6979735344282783,
              "brier": 0.25091931128131195,
              "auc": 0.6274596487032731,
              "n_test": 3968,
              "base_rate": 0.4117943548387097
            },
            "lightgbm": {
              "log_loss": 0.7308769612041666,
              "brier": 0.26401534301799795,
              "auc": 0.6247866932231636,
              "n_test": 3968,
              "base_rate": 0.4117943548387097
            }
          },
          "Capitale-Nationale": {
            "logistic": {
              "log_loss": 0.6501257364476918,
              "brier": 0.2272923471771655,
              "auc": 0.5837718405413049,
              "n_test": 2205,
              "base_rate": 0.3528344671201814
            },
            "lightgbm": {
              "log_loss": 0.6684309174003459,
              "brier": 0.23459433465335439,
              "auc": 0.6002426576689371,
              "n_test": 2205,
              "base_rate": 0.3528344671201814
            }
          },
          "Montr\u00e9al": {
            "logistic": {
              "log_loss": 0.789015108743636,
              "brier": 0.2933939906949219,
              "auc": 0.48283471025001756,
              "n_test": 1721,
              "base_rate": 0.463102847181871
            },
            "lightgbm": {
              "log_loss": 0.8101831753581833,
              "brier": 0.3005070692199156,
              "auc": 0.4491185832151955,
              "n_test": 1721,
              "base_rate": 0.463102847181871
            }
          },
          "Laurentides": {
            "logistic": {
              "log_loss": 0.751779913083233,
              "brier": 0.27640311102869236,
              "auc": 0.5589441980695804,
              "n_test": 2175,
              "base_rate": 0.47954022988505746
            },
            "lightgbm": {
              "log_loss": 0.9070770692950642,
              "brier": 0.3267051727647063,
              "auc": 0.5495216299814683,
              "n_test": 2175,
              "base_rate": 0.47954022988505746
            }
          },
          "Laval": {
            "logistic": {
              "log_loss": 0.8222275938779959,
              "brier": 0.305515719695642,
              "auc": 0.6248827077747989,
              "n_test": 1706,
              "base_rate": 0.5627198124267292
            },
            "lightgbm": {
              "log_loss": 0.8209667529522688,
              "brier": 0.3067649326755811,
              "auc": 0.6293363214924039,
              "n_test": 1706,
              "base_rate": 0.5627198124267292
            }
          },
          "Chaudi\u00e8re-Appalaches": {
            "logistic": {
              "log_loss": 0.6563800153428839,
              "brier": 0.23083406703587958,
              "auc": 0.5356742228307724,
              "n_test": 1464,
              "base_rate": 0.35860655737704916
            },
            "lightgbm": {
              "log_loss": 0.7148821248862958,
              "brier": 0.2518503178562711,
              "auc": 0.5431675034230945,
              "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.5567006521667089,
              "log_loss_ci": [
                0.5459277692610365,
                0.5710694199383016
              ],
              "brier": 0.18571018269335923,
              "brier_ci": [
                0.18136510458658878,
                0.19133924524398507
              ],
              "auc": 0.7776112165359532,
              "auc_ci": [
                0.7666936968640178,
                0.7873250821328512
              ],
              "ece": 0.023385648247175744,
              "n_test": 7443,
              "base_rate": 0.40239150880021496,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.5410008625221233,
              "log_loss_ci": [
                0.5288858758028351,
                0.5532435601578369
              ],
              "brier": 0.18063948478616662,
              "brier_ci": [
                0.17574997585801025,
                0.18566945358616768
              ],
              "auc": 0.7905054587381848,
              "auc_ci": [
                0.7802982958186815,
                0.8005679840226058
              ],
              "ece": 0.025709115696372607,
              "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.5962064347610395,
              "log_loss_ci": [
                0.5699809905795714,
                0.6170593535347667
              ],
              "brier": 0.20476278962038852,
              "brier_ci": [
                0.19385436783402532,
                0.21351496914610565
              ],
              "auc": 0.7441271289898188,
              "auc_ci": [
                0.7227945242067729,
                0.7683391033064382
              ],
              "ece": 0.059024879967338455,
              "n_test": 1661,
              "base_rate": 0.42685129440096325,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.5887291970118351,
              "log_loss_ci": [
                0.5611034342098475,
                0.6110330619225628
              ],
              "brier": 0.20188682991095178,
              "brier_ci": [
                0.19022287997094836,
                0.21088155568241712
              ],
              "auc": 0.7539520392077848,
              "auc_ci": [
                0.7337742472107264,
                0.7784943330270407
              ],
              "ece": 0.055579280547829485,
              "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.6088472387814978,
            "log_loss_ci": [
              0.6031527702410103,
              0.6159728743003138
            ],
            "brier": 0.21178355794941933,
            "brier_ci": [
              0.20923576034582778,
              0.21470020946952184
            ],
            "auc": 0.7051763801959573,
            "auc_ci": [
              0.6967221086575787,
              0.7130210455398301
            ],
            "ece": 0.01002959582650733,
            "n_test": 12953,
            "base_rate": 0.591523199258859,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.5848254122682515,
            "log_loss_ci": [
              0.579572637852006,
              0.5917882119276924
            ],
            "brier": 0.20417535681077367,
            "brier_ci": [
              0.20197740695201732,
              0.2071859275181045
            ],
            "auc": 0.7266748680217747,
            "auc_ci": [
              0.7180928270188718,
              0.7345726612979446
            ],
            "ece": 0.01353355318051327,
            "n_test": 12953,
            "base_rate": 0.591523199258859,
            "n_boot": 200,
            "best_iteration": 106
          }
        }
      },
      "dealer_holdout": {
        "n_train": 35202,
        "n_test": 44003,
        "base_rate_train": 0.5932610167639272,
        "models": {
          "logistic": {
            "log_loss": 0.6953075532604525,
            "log_loss_ci": [
              0.6939756215804797,
              0.6968723535275085
            ],
            "brier": 0.25069102088297,
            "brier_ci": [
              0.25005532404300757,
              0.2514206340217807
            ],
            "auc": 0.5661785513729787,
            "auc_ci": [
              0.5610973794101907,
              0.5710282337399455
            ],
            "ece": 0.10358565468474734,
            "n_test": 44003,
            "base_rate": 0.5930504738313297,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.6821109296285043,
            "log_loss_ci": [
              0.6795523967337413,
              0.6843875390735631
            ],
            "brier": 0.24422247387862409,
            "brier_ci": [
              0.24295783220673198,
              0.2452574845524172
            ],
            "auc": 0.6059890624432378,
            "auc_ci": [
              0.6016595848855064,
              0.6116664191528611
            ],
            "ece": 0.09144264800675378,
            "n_test": 44003,
            "base_rate": 0.5930504738313297,
            "n_boot": 200,
            "best_iteration": 449
          }
        },
        "folds": [
          {
            "logistic": {
              "log_loss": 0.7642903638085777,
              "brier": 0.2842491164669829,
              "auc": 0.5138150525496235,
              "n_test": 9442
            },
            "lightgbm": {
              "log_loss": 0.7304352031135112,
              "brier": 0.2664534489927506,
              "auc": 0.5533726768883124,
              "n_test": 9442
            }
          },
          {
            "logistic": {
              "log_loss": 0.6720080012327938,
              "brier": 0.2394538905841713,
              "auc": 0.6175266332948275,
              "n_test": 7394
            },
            "lightgbm": {
              "log_loss": 0.6385625871818302,
              "brier": 0.22435440481556582,
              "auc": 0.674373084029575,
              "n_test": 7394
            }
          },
          {
            "logistic": {
              "log_loss": 0.67169022792453,
              "brier": 0.23939251100123296,
              "auc": 0.6130220004181246,
              "n_test": 7548
            },
            "lightgbm": {
              "log_loss": 0.6783879532657491,
              "brier": 0.24246094778639626,
              "auc": 0.6211780048465038,
              "n_test": 7548
            }
          },
          {
            "logistic": {
              "log_loss": 0.6763314074965648,
              "brier": 0.24149337517820746,
              "auc": 0.6043619492049606,
              "n_test": 6812
            },
            "lightgbm": {
              "log_loss": 0.6769938281467315,
              "brier": 0.24219782232526701,
              "auc": 0.5784028279993041,
              "n_test": 6812
            }
          },
          {
            "logistic": {
              "log_loss": 0.6819141174110152,
              "brier": 0.2439890077693026,
              "auc": 0.5977789695616047,
              "n_test": 12807
            },
            "lightgbm": {
              "log_loss": 0.6765418950915469,
              "brier": 0.24141834808415819,
              "auc": 0.6199872578629079,
              "n_test": 12807
            }
          }
        ],
        "fold_mean": {
          "logistic": {
            "log_loss": 0.6932468235746964,
            "brier": 0.24971558019997944,
            "auc": 0.5893009210058282
          },
          "lightgbm": {
            "log_loss": 0.6801842933598737,
            "brier": 0.24337699440082758,
            "auc": 0.6094627703253206
          }
        },
        "fold_sd": {
          "logistic": {
            "log_loss": 0.03571420033977364,
            "brier": 0.017348380015330414,
            "auc": 0.03835676904282332
          },
          "lightgbm": {
            "log_loss": 0.029271806665782482,
            "brier": 0.013419743325710736,
            "auc": 0.0414057459347556
          }
        }
      },
      "region_holdout": {
        "n_train": 39178,
        "n_test": 28947,
        "base_rate_train": 0.5919150624764695,
        "models": {
          "logistic": {
            "log_loss": 0.6898424179937633,
            "log_loss_ci": [
              0.6876116232562756,
              0.6928896850178058
            ],
            "brier": 0.24805033270420537,
            "brier_ci": [
              0.2470147822821151,
              0.24950560610232692
            ],
            "auc": 0.5843639938572319,
            "auc_ci": [
              0.5765915195861516,
              0.5906379516539757
            ],
            "ece": 0.11595122463170887,
            "n_test": 28947,
            "base_rate": 0.6009949217535496,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.6798344332722573,
            "log_loss_ci": [
              0.6751019194075778,
              0.6836371803114734
            ],
            "brier": 0.24298869257240452,
            "brier_ci": [
              0.24087326534193323,
              0.24469685525438628
            ],
            "auc": 0.6133305977264796,
            "auc_ci": [
              0.6071406896202246,
              0.6219410722461771
            ],
            "ece": 0.10448533817805425,
            "n_test": 28947,
            "base_rate": 0.6009949217535496,
            "n_boot": 200,
            "best_iteration": 473
          }
        },
        "per_region": {
          "Mont\u00e9r\u00e9gie": {
            "logistic": {
              "log_loss": 0.7188528093306531,
              "brier": 0.2624094644893386,
              "auc": 0.5509636330525092,
              "n_test": 9137,
              "base_rate": 0.6132209696837037
            },
            "lightgbm": {
              "log_loss": 0.6751915484947962,
              "brier": 0.24098619437238528,
              "auc": 0.6164142349967947,
              "n_test": 9137,
              "base_rate": 0.6132209696837037
            }
          },
          "Capitale-Nationale": {
            "logistic": {
              "log_loss": 0.6828446854680117,
              "brier": 0.2444565449905255,
              "auc": 0.6109676179358625,
              "n_test": 5358,
              "base_rate": 0.6362448674878686
            },
            "lightgbm": {
              "log_loss": 0.6604653600398963,
              "brier": 0.23358603589076554,
              "auc": 0.6573706066743618,
              "n_test": 5358,
              "base_rate": 0.6362448674878686
            }
          },
          "Montr\u00e9al": {
            "logistic": {
              "log_loss": 0.6946656128794362,
              "brier": 0.250569480296554,
              "auc": 0.5517556120672836,
              "n_test": 4290,
              "base_rate": 0.6508158508158508
            },
            "lightgbm": {
              "log_loss": 0.7148603276129286,
              "brier": 0.26040523393997345,
              "auc": 0.5211963611462848,
              "n_test": 4290,
              "base_rate": 0.6508158508158508
            }
          },
          "Laurentides": {
            "logistic": {
              "log_loss": 0.683805325162613,
              "brier": 0.24530426447232903,
              "auc": 0.5789858356492006,
              "n_test": 4033,
              "base_rate": 0.5383089511529878
            },
            "lightgbm": {
              "log_loss": 0.678479763842318,
              "brier": 0.24183514013061563,
              "auc": 0.6295728381294092,
              "n_test": 4033,
              "base_rate": 0.5383089511529878
            }
          },
          "Laval": {
            "logistic": {
              "log_loss": 0.6681485669888422,
              "brier": 0.23771971448543755,
              "auc": 0.6306599161513359,
              "n_test": 3309,
              "base_rate": 0.5811423390752494
            },
            "lightgbm": {
              "log_loss": 0.6677104327303682,
              "brier": 0.23724406407731877,
              "auc": 0.6422776535881061,
              "n_test": 3309,
              "base_rate": 0.5811423390752494
            }
          },
          "Chaudi\u00e8re-Appalaches": {
            "logistic": {
              "log_loss": 0.6907375081330245,
              "brier": 0.24784252749104724,
              "auc": 0.5828513482872003,
              "n_test": 2820,
              "base_rate": 0.5315602836879433
            },
            "lightgbm": {
              "log_loss": 0.6822991669132373,
              "brier": 0.24387548702336842,
              "auc": 0.613151891823921,
              "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.6180448625667474,
              "log_loss_ci": [
                0.6122545852471974,
                0.6248515386642863
              ],
              "brier": 0.2143300681453042,
              "brier_ci": [
                0.21199396407553625,
                0.2172310459021258
              ],
              "auc": 0.6961149574713865,
              "auc_ci": [
                0.6874773333231922,
                0.7031013545155128
              ],
              "ece": 0.020812454782359588,
              "n_test": 16259,
              "base_rate": 0.5975767267359616,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.5961430484020771,
              "log_loss_ci": [
                0.5885803073722725,
                0.6038520206375841
              ],
              "brier": 0.2060214424618318,
              "brier_ci": [
                0.20320126544077627,
                0.20895901875970804
              ],
              "auc": 0.7262358107656184,
              "auc_ci": [
                0.7187771600735826,
                0.7323230181754198
              ],
              "ece": 0.03818442246045094,
              "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.6333550648257135,
              "log_loss_ci": [
                0.6209306764410181,
                0.6449092494471158
              ],
              "brier": 0.2218456776799865,
              "brier_ci": [
                0.21630831587905686,
                0.22678467408036454
              ],
              "auc": 0.6753586317599491,
              "auc_ci": [
                0.6587602871104657,
                0.6915443307627026
              ],
              "ece": 0.02274087552905669,
              "n_test": 3390,
              "base_rate": 0.58023598820059,
              "n_boot": 200
            },
            "lightgbm": {
              "log_loss": 0.6218107135111449,
              "log_loss_ci": [
                0.6075731463716002,
                0.636479257216847
              ],
              "brier": 0.21818203376834822,
              "brier_ci": [
                0.2124429283828738,
                0.22422254876160883
              ],
              "auc": 0.691144038261676,
              "auc_ci": [
                0.6741500674625492,
                0.7098887555624432
              ],
              "ece": 0.035984583133177,
              "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.6322307351973232,
            "log_loss_ci": [
              0.6197181733045866,
              0.6447337124053697
            ],
            "brier": 0.22085203765615868,
            "brier_ci": [
              0.21528512815956186,
              0.22633971926552052
            ],
            "auc": 0.7127147572782868,
            "auc_ci": [
              0.6945614223520684,
              0.7332639029192771
            ],
            "ece": 0.08234808302947866,
            "n_test": 3317,
            "base_rate": 0.4615616520952668,
            "n_boot": 200
          },
          "lightgbm": {
            "log_loss": 0.6260313192136273,
            "log_loss_ci": [
              0.6139812011725851,
              0.6391032420506595
            ],
            "brier": 0.22117522310144752,
            "brier_ci": [
              0.215729811481472,
              0.22645150071540443
            ],
            "auc": 0.7302575807335229,
            "auc_ci": [
              0.7164698938679159,
              0.7454128938063027
            ],
            "ece": 0.12055348417954814,
            "n_test": 3317,
            "base_rate": 0.4615616520952668,
            "n_boot": 200,
            "best_iteration": 275
          }
        }
      }
    }
  },
  "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": 574,
    "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.6001165372154094,
    "c_index_test": 0.6581351276518386,
    "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": 1.9
  },
  "seconds_total": 91.2
}