Engineers Clinic
AdvancedSoftware trackFP-AI-06

Day-ahead wind generation forecast that beats persistence

Forecast tomorrow's hourly wind output for a German grid zone from open weather forecasts, beat persistence and climatology, and put a euro value on the improvement.

AI, Data & AnalyticsDeep Learning
6 Guided Steps48h Internship TierSubmit: GitHub repo with data download, feature and training scripts + reports/verification.md + model comparison + one-page value estimateVerified CertificateAI Rubric Graded
Program Overview

Industry project · for Nordwind Direktvermarktung, a Hamburg company that sells the output of 1.4 GW of onshore wind parks on the power exchange

Nordwind sells electricity from 1.4 GW of onshore wind parks in northern Germany on the day-ahead market. Every day before noon it has to bid 24 hourly volumes for the next day. Whatever it gets wrong is settled at the imbalance price, which last year averaged about €45 per MWh of error on top of the lost sale. Nordwind currently buys forecasts from a vendor but wants an in-house model as a check and a fallback.

The forecasting lead has set a clear test. Use only data that would have been available at 11:00 on the day before delivery: - hourly wind generation for one German control area from SMARD, the Bundesnetzagentur market data portal, scaled to a per-unit capacity factor; - weather forecasts for 6–10 locations in that area (wind speed at 10 m and 100 m, direction, temperature, pressure) from an open source such as Open-Meteo's historical forecast data or DWD open data.

You will build two baselines, persistence (tomorrow equals today at the same hour) and climatology (the average for that month and hour). Then you will train a gradient-boosted model and a small neural network on the weather features. The test is the full most recent year, held out. The target is a normalised RMSE at least 40% below persistence.

Done looks like a reproducible pipeline that builds a forecast for any date, a results report with error by lead hour and by season, a short comparison of the two models, and an estimate of how many euros of imbalance cost a year the better model would save on 1.4 GW.

Time-series forecastingWeather feature engineeringGradient boostingNeural network regressionForecast verificationEnergy market basics
What you submit

GitHub repo with data download, feature and training scripts + reports/verification.md + model comparison + one-page value estimate

Stack: Python, pandas, LightGBM, PyTorch, matplotlib

How it is graded
  • Forecast-time correctness30

    Every feature comes from a weather forecast issued before 11:00 on the day before delivery, never from observed weather on the day.

  • Beats the baselines25

    nRMSE on the held-out year is at least 40% below persistence and below climatology, with numbers for both.

  • Verification depth20

    Error is reported by lead hour, by season and for high-wind days, with plots.

  • Fair model comparison10

    The tree model and the neural network use the same features, splits and tuning budget.

  • Value estimate15

    Annual imbalance savings on 1.4 GW are estimated from the error reduction, with assumptions stated.

Pass 60% · Merit 75% · Distinction 90%

Learning Outcomes
Assemble a forecast-time-correct training set from open weather and grid data
build and beat persistence and climatology
compare a tree model and a neural network fairly
verify forecasts by lead time and season
translate error into market cost
Target Audience

Engineering Students

Diploma, B.Tech, B.E., BCA, MCA, or M.Tech students seeking practical experience.

Aspiring Developers

Developers who want to build proof-of-work capstone projects for tech resumes.

Job Seekers

Graduates looking for AI-evaluated code review & verified industry credentials.