View PDF
Original report cover
0.97
Adjusted R²
1,095
Daily observations
4
Predictor cities
3yr
Training data

1The problem

Bordeaux is famous for its wine — and Château Cheval Blanc, ranked among the four Premier Grand Cru Classé A producers of Saint-Émilion, is one of its crown jewels. A young vintage bottle costs €500–1,200, so protecting the vines is a serious economic concern.

The biggest threat? Powdery mildew — a fungal disease that thrives at temperatures of 17–28°C with humidity of 40–80%. Once symptoms appear, sulfur treatment is too late. The challenge: how do you know to spray sulfur the day before mildew develops?

The goal: build a model that predicts Bordeaux's mean temperature one day ahead, so winegrowers can pre-emptively apply sulfur whenever the forecast falls in the danger zone.

2The approach

I used multiple linear regression with the mean temperature in Bordeaux–Mérignac as the response variable, and the temperatures of four surrounding cities as predictors:

GEOGRAPHIC SETUP

355km 229km 250km 265km Bordeaux–Mérignac Target city Nantes Limoges Toulouse Pamplona 🇪🇸 Spain

Three of the predictor cities (Nantes, Limoges, Toulouse) sit roughly 230–355 km from Bordeaux in the cardinal directions. Pamplona was added as a southern proxy because no closer French station was available in the ECAD database.

3The model

The fitted regression coefficients on the training set:

VariableCoefficientp-value
Intercept13.860.000
Nantes (NW)0.2780.000
Limoges (NE)0.2990.000
Toulouse (SE)0.3980.000
Pamplona (S)0.0004~1.0

The three French cities each had p < 0.001 — strong statistical significance. Pamplona's coefficient was effectively zero with p ≈ 1, confirming what intuition would suggest: a Spanish city across the Pyrenees adds almost no predictive value compared to the closer French neighbors.

4Validation

To check if the model would generalize, I ran the same analysis on the held-out 2020–21 data. Plotting predicted vs actual temperatures (Pamplona on x-axis as the example variable):

BORDEAUX — PREDICTED vs ACTUAL TEMPERATURE

Pamplona — mean temp (°C × 10) Bordeaux — mean temp (°C × 10) 0 100 200 300 0 50 150 250 Predicted Actual

The red and blue dots track each other closely, hugging the regression line throughout. The standard error stayed below ~10 (in tenths of a degree), and Adjusted R² remained at 0.97.

Result: the model explains 97% of the day-to-day variation in Bordeaux temperatures using only the previous day's temperatures from neighboring cities — accurate enough to drive real preventive decisions about sulfur spraying.

Weather Data & Wine Quality — Full Report