Wind Factor automatically analyses your Strava activities and tells you exactly how much the wind helped — or hurt — your performance.
Connect with StravaFree · No account needed · Works automatically after each ride
Was that a fast day because you're getting stronger, or because the wind was pushing you? Now you'll know.
A single signed number tells you if the wind was an ally (+) or an enemy (−) on that ride. Automatically added to your Strava description after every activity.
Set a PR on a Strava segment? Wind Factor shows the wind score for that specific effort — so you know if you truly earned it or had a 30 km/h tailwind.
The route is split into stable straight segments. Each segment gets its own wind measurement — turns, stops, and zigzags are automatically excluded.
Connect once and forget. Wind Factor listens to Strava webhooks and processes every new ride in the background using historical ERA5 weather data.
Powered by Open-Meteo's ERA5 reanalysis archive — the same high-quality gridded weather data used by meteorologists and climate researchers.
The same 20 km/h wind affects a 40 km/h sprinter four times more than a 20 km/h casual rider. The algorithm accounts for this with aerodynamic weighting.
After the one-time setup, everything happens automatically.
Click "Connect with Strava" and grant read + write access. Wind Factor registers a webhook with Strava to be notified whenever you finish a ride.
Record your ride on Strava as usual. Wind Factor picks up the webhook event a few minutes after you save the activity.
Open the activity description — you'll find the Wind Factor score, average wind speed and direction, and individual scores for any KOM or Top-10 segment efforts.
The result appears directly in your Strava activity description. No separate app to open.
The route is split into stable straight segments. Each is coloured by its Wind Factor: ■ green = tailwind, ■ yellow = crosswind, ■ red = headwind. Gaps are turns, stops, or sections too short to analyse reliably.
The algorithm turns a raw GPS track and hourly weather data into a single meaningful number in five stages.
Only the wind component aligned with your direction of travel matters. A pure crosswind has zero effect on your time.
Aerodynamic drag scales with v². The same 20 km/h wind is four times more impactful at 40 km/h than at 20 km/h. The reference speed is 35 km/h.
Bearing spread and mean direction use vector sums — not arithmetic averages — to avoid the 359°/1° bug where the mean of two near-north headings would come out as 180°.
| Parameter | Value | Purpose |
|---|---|---|
| bearing-break-threshold | 15° | Minimum turn angle that triggers a segment split |
| analysis-window | 60 s | Max segment duration (wind can change on long straights) |
| max-bearing-variance | 60° | Circular spread threshold for window variance splits |
| min-displacement | 15 m | Filters out GPS drift and stationary periods |
| aero-reference-speed | 35 km/h | AeroWeight = 1.0 at this speed; scales quadratically |
Connect your Strava account and get Wind Factor scores on every future ride — automatically.
Connect with StravaWind data provided by Open-Meteo ERA5 reanalysis archive.