share of renewable energy in gross final energy consumption in the EU in 2024

Model: DeepSeek V4.1 Flash Checked on:

Share of renewable energy in gross final energy consumption in the EU in 2024: 25.2%

According to the Eurostat dataset "Share of renewable energy in gross final energy consumption by sector"1, the EU (EU27, from 2020) reached 25.24% renewable energy in gross final energy consumption in 2024 — i.e. just over a quarter of final energy came from renewable sources2.

For context, the same source shows how the EU has progressed and how the overall figure breaks down by sector in 2024:

Category 2024 share (%)
Overall (gross final energy consumption) 25.2
Electricity 47.5
Heating & cooling 26.7
Transport 11.2

This is a steady increase from 9.6% in 2004, with notably strong growth since 20203. The long-run trend is shown in the chart generated in the code run 3. (The dataset also contains a 2025 figure of 26.2%, but as 2024 is the latest full year of actual data, the 2024 value of 25.2% is the appropriate answer.)

  1. Eurostat dataset: Share of renewable energy in gross final energy consumption by sector
  2. Dataset: sdg_07_40

    Dataset filters for sdg_07_40

    FilterValue(s)
    geoEU27_2020
    nrg_balREN, REN_TRA, REN_ELC, REN_HEAT_CL
    unitPC
    TIME_PERIOD2024

    Program output

    ['freq', 'nrg_bal', 'unit', 'geo', 'time', 'value']
    (4, 6)
      freq      nrg_bal unit        geo  time   value
    0    A      REN_TRA   PC  EU27_2020  2024  11.200
    1    A      REN_ELC   PC  EU27_2020  2024  47.503
    2    A          REN   PC  EU27_2020  2024  25.241
    3    A  REN_HEAT_CL   PC  EU27_2020  2024  26.738
    

    Code

    
    import pandas as pd
    df = pd.read_csv(DATASET_FILE0)
    print(df.columns.tolist())
    print(df.shape)
    print(df.head(20).to_string())
    
  3. Dataset: sdg_07_40

    Images

    renewable_share_eu.svg

    Dataset filters for sdg_07_40

    FilterValue(s)
    geoEU27_2020
    nrg_balREN
    unitPC

    Program output

     time  value
     2004  9.605
     2005 10.182
     2006 10.778
     2007 11.749
     2008 12.552
     2009 13.850
     2010 14.405
     2011 14.547
     2012 16.002
     2013 16.659
     2014 17.416
     2015 17.820
     2016 17.978
     2017 18.411
     2018 19.096
     2019 19.887
     2020 22.038
     2021 21.897
     2022 23.003
     2023 24.579
     2024 25.241
     2025 26.200
    saved
    2024 value: [25.241]
    

    Code

    
    import pandas as pd
    import matplotlib.pyplot as plt
    
    df = pd.read_csv(DATASET_FILE0)
    df['time'] = df['time'].astype(int)
    df = df.sort_values('time')
    
    print(df[['time','value']].to_string(index=False))
    
    fig, ax = plt.subplots(figsize=(8,4.5))
    ax.plot(df['time'], df['value'], marker='o', color='#2a9d8f')
    ax.axhline(42.5, color='gray', linestyle='--', linewidth=1)
    ax.text(df['time'].min(), 42.5, ' EU 2030 target (42.5%)', va='bottom', fontsize=8, color='gray')
    ax.set_title('Share of renewable energy in gross final energy consumption, EU27 (2004–2024)')
    ax.set_xlabel('Year')
    ax.set_ylabel('% of gross final energy consumption')
    ax.grid(alpha=0.3)
    fig.tight_layout()
    fig.savefig('renewable_share_eu.svg')
    print("saved")
    print("2024 value:", df[df['time']==2024]['value'].values)