Weather & Sales
Temperature vs total sales
r = −0.15
Cooler days → higher sales · p<0.001
Sunshine vs total sales
r = −0.11
Same direction, weaker signal
Strongest category
Cocktail
r=−0.16 with temperature
Day-of-week check
Passes ✓
Signal survives DoW adjustment
What this means
708 days of London weather matched to daily net sales · 1 Jul 2024 – 9 Jun 2026

Temperature is the strongest weather signal — sales tend to run higher on cooler days. This pattern holds after controlling for day-of-week (the adjusted r is identical at −0.15), confirming it's genuine and not a seasonal or weekend artifact. The effect is concentrated in glassware categories; tableware shows no reliable weather relationship.

Reading r: ranges −1 to +1. Square it for r² — the share of daily sales variation that aligns with weather. r=−0.15 → r²≈2.3%, so roughly 2% of the day-to-day swing in total sales tracks with temperature. The other ~98% is seasonality, day of week, promotions, and noise. A moderate r is a real tendency, not a rule.
Correlation table — temperature & sunshine vs daily net sales
Pearson r · negative = cooler/less sun → more sales · (ns) = not significant at p<0.05
CategoryTemperature (°C mean)Sunshine (hours)
Total-0.150-0.107
Wine-0.110-0.108
Cut Crystal-0.125-0.093
Cocktail-0.162-0.112
Everyday-0.029 (ns)+0.033 (ns)
Mugs-0.032 (ns)+0.004 (ns)
Tea-0.038 (ns)-0.044 (ns)
Bowls-0.059 (ns)+0.001 (ns)
Plate-0.047 (ns)-0.018 (ns)
Glassware responds to weather — tableware doesn't. Wine, Cut Crystal and Cocktail all show significant negative correlations with both temperature and sunshine. Everyday, Mugs, Tea, Bowls and Plate show no statistically reliable weather relationship. Cooler, greyer autumn and winter days appear to trigger glassware gifting intent — consistent with this brand's position as a considered gifting brand rather than impulse or outdoor retail.
Weekly sales vs mean temperature
Weekly aggregates smooth the daily noise. The inverse relationship is visible as temperature rises in summer and sales soften, then both reverse into autumn and winter.
Net sales (weekly)
Mean temperature (°C)
Daily scatter — temperature vs net sales
Each point = one day · downward slope is consistent across the full two-year window
Daily scatter — sunshine hours vs net sales
Same inverse direction as temperature · more scatter · weaker signal
Category weather sensitivity — temperature & sunshine correlations
Temperature r shown as bars. Green = significant negative (cooler = more sales). Grey = not significant.
CategoryTemperature rSunshine rVerdict
Wine-0.110-0.108✓ Real — temp & sunshine
Cut Crystal-0.125-0.093✓ Real — temp & sunshine
Cocktail-0.162-0.112✓ Real — temp & sunshine
Everyday-0.029 (ns)+0.033 (ns)— No reliable effect
Mugs-0.032 (ns)+0.004 (ns)— No reliable effect
Tea-0.038 (ns)-0.044 (ns)— No reliable effect
Bowls-0.059 (ns)+0.001 (ns)— No reliable effect
Plate-0.047 (ns)-0.018 (ns)— No reliable effect
Cloud ↔ sunshine collinearity
r = −0.91
Near-mirror images — not independent
Dry vs rainy sales gap
£76/day
£1,420 dry vs £1,344 rainy · (ns)
Dry days in window
499 / 708
209 rainy days (>1mm threshold)
Only significant rain gap
Bowls **
£31/day more on dry days · p=0.006
Correlation table — cloud cover, precipitation & wind
Pearson r vs daily net sales · (ns) = not statistically significant at p<0.05
CategoryCloud cover (%)Precipitation (mm)Wind gust (km/h)
Total+0.091-0.019 (ns)+0.080
Wine+0.089+0.024 (ns)+0.074
Cut Crystal+0.085+0.003 (ns)+0.044 (ns)
Cocktail+0.098-0.038 (ns)+0.035 (ns)
Everyday-0.043 (ns)-0.066 (ns)+0.022 (ns)
Mugs+0.012 (ns)-0.032 (ns)+0.049 (ns)
Tea+0.036 (ns)-0.038 (ns)+0.009 (ns)
Bowls-0.006 (ns)-0.059 (ns)-0.032 (ns)
Plate+0.015 (ns)-0.018 (ns)-0.009 (ns)
⚠ Collinearity warning: Cloud cover and sunshine duration have r=−0.913 — they are near-mirror images of the same signal (overcast vs clear sky). Cloud cover correlations above are not independent evidence of a weather effect beyond what sunshine already shows. They restate the same relationship more noisily. Treat cloud cover as confirmation of the sunshine signal only.
Average daily sales — dry vs rainy days
Threshold: rainy = >1mm precipitation. Only Bowls shows a statistically significant gap.
Dry vs rainy detail
Average daily sales by category · * p<0.05 · ** p<0.01 · (ns) not significant
CategoryDry (£/day)Rainy (£/day)GapSig
Total£1,420£1,344+76(ns)
Wine£595£581+13(ns)
Cut Crystal£257£274-17(ns)
Cocktail£145£123+21(ns)
Everyday£122£98+24(ns)
Mugs£69£58+11(ns)
Tea£58£54+3(ns)
Bowls£59£28+31**
Plate£53£42+11(ns)
Rain doesn't suppress online sales. As a pure e-commerce retailer, whether it's raining has almost no bearing on whether someone places an order. The £76/day gap is real in direction but well below statistical significance (p=0.51). This brand's weather sensitivity comes from seasonal mindset and gifting occasion — not from people choosing to shop because they're stuck indoors.
Weather data
Open-Meteo Historical Weather API · London
SourceOpen-Meteo Historical Weather API
LocationLondon, UK (lat 51.5, lon −0.25, elev 70.7m)
Date range1 Jul 2024 – 9 Jun 2026 (709 rows)
GranularityDaily
VariablesTemperature max/min/mean (°C), Precipitation (mm), Wind gust max/min/mean (km/h), Cloud cover mean (%), Sunshine duration (min)
Cleaning10 metadata header rows stripped · sunshine converted from minutes to hours · 1 missing day dropped
Sales data
Shopify export · SKU-reconciled
SourceNet_Sales_With_Categories_Clean.xlsx
Full range3 Oct 2023 – 29 Jun 2026 (pre-overlap excluded)
GranularityLine-item, aggregated to daily totals by category
CategoriesWine, Cut Crystal, Cocktail, Everyday, Mugs, Tea, Bowls, Plate
ExcludedSet, Book, Giftcard, No SKU on order line — low volume or non-product
DeduplicationDeduplicated on Day + Customer ID + Product variant ID before aggregation
Zero-sales daysFilled with £0 via reindex+fillna(0) — 3 such days in overlap window
How they were combined
Join keyCalendar date (exact match)
Overlap window1 Jul 2024 – 9 Jun 2026 · 708 days after dropping 1 missing weather day
Why boundedWeather file starts 1 Jul 2024 · sales data starts Oct 2023 — overlap bounded by the shorter (weather) file · extend the weather file back to Oct 2023 for a fuller analysis
Period splitsNone — no launch or promotion anomaly was identified requiring a split
Correlation methodPearson r · two-tailed p-value · significance threshold p<0.05
DoW confoundSales residualised on daily DoW average before re-testing — temperature r unchanged (−0.151 vs −0.150 raw)
Dry/rainy threshold>1mm precipitation = rainy · Welch's t-test (unequal variance)
CollinearityCloud cover vs sunshine r=−0.913 (near-mirror) · cloud cover not treated as independent evidence
Net sales in window£989,429 across 708 days · avg £1,397/day