Out-of-sample evaluation of the buyer selection model
Abstract
The selection model estimates, before a bid, the probability that the buyer pays on time. We use it only if it predicts better than a simple rule, the buyer's own past payment record, on contracts it has never seen. We judge it with the Brier score, check its calibration, compare it with placebo models trained on shuffled outcomes, and repeat the comparison period by period in a walk-forward design. All figures use simulated contracts with a fixed seed.
1. The question and the score
For each contract the model gives p_i, the probability of payment within 30 days of the due date, and the outcome y_i is 1 if that happened. The Brier score is the mean squared error of these probabilities, and the skill compares it with the base rate b of on-time payment:
B = (1/n) Σ (p_i − y_i)² skill = 1 − B / B_base, B_base = b·(1 − b)
A skill of zero means the model does no better than quoting the base rate to every buyer. The model only sees what was known on the day of the tender: the buyer's history up to that day, its type and region, the goods, the amount and the payment terms.
2. Calibration on unseen contracts
The model is trained on older contracts and judged on later ones. We group its predictions in ten bins and compare the mean prediction of each bin with the observed rate.
3. Placebo
A model can look skilful because of how it was built rather than what it learned. We retrain it 300 times on outcomes shuffled at random, which removes any real relation, and score each placebo on the same unseen contracts.
The placebos sit around zero. A model whose skill fell inside their range would be discarded, whatever its score.
4. Walk-forward
Payment behaviour changes over time, and so do procurement rules. We split the history into consecutive periods, train on everything before each period, and test on the period itself.
The decision rule is written before the test: the model replaces the past-record rule only if it beats it in most periods and on the pooled unseen contracts. Otherwise the simple rule stays.

