Solar PV Variability

Friends, March 2023 has been dull. Really. Really. Dull. I long for sunshine.

How dull has it been? The chart below shows the average daily solar PV generation (kWh/day) from our roof since November 2020. The data from 2021 and 2022 correspond to generation from 12 solar panels. But in November 2022 I installed an additional 8 panels. However, despite the 8 additional panels, generation in March 2023 has been less than in March 2022!

Click on image for a larger version. Chart showing the average daily solar PV generation (kWh/day) since November 2020. With just two generating days to go, March 2023 has produced less solar PV than March 2022, despite the installation of 8 extra panels!

Of course, I have asked myself if the new panels are working properly, and they are. On the few days when sunshine has penetrated the gloom, peak generation has exceeded 5 kW – about 2 kW more than we ever managed previously.

This persistent dullness means that our household is not yet ‘Off Grid’ for the summer. The graph below shows running averages of domestic consumption and solar generation both expressed in kWh/day. It shows that average consumption still exceeds average generation. But hopefully, April will bring better weather.

Click on image for a larger version. Graph showing daily solar generation and daily electricity consumption since March 2021, both expressed as kWh/day. The data are averaged over ±1 week, and when the average solar generation exceeds average consumption, the house can go ‘off grid’.

Is such a large variation normal?

Is such a large variation normal? To answer this, I went to the European Sunshine database (PV-GIS) which has software that can reconstruct the sunniness (technically, the solar irradiance) at any point on the Earth’s surface, hour-by-hour over the period from 2005 to 2020. Wow!

I selected my location in Teddington and downloaded monthly data for the full period (see below). The database offers irradiation data in many forms, and if one is interested in the absolute value of the irradiance, it’s important to pick the correct dataset. But I was only interested in variability. The data come in the form of kWh of irradiance per square metre.

Click on image for a larger version. The graph shows monthly averages of irradiance in Teddington expressed as (kWh/month/m^2) It is clear that not every year is the same.

First of all I evaluated the year-to-year variability, which was considerable – roughly in the range ± 6% around the average. The 6% figure is half the range seen in the data – i.e. half of [the maximum (1,158) minus the minimum (1,024)] divided by the average (1,079).

Click on image for a larger version. The graph shows annual averages of irradiance in Teddington expressed as (kWh/year/m^2). Also shown are the average value and the maximum and minimum values.

But I wanted to look at the variability of a single month – such as March – from year-to-year. This data is shown below:

Click on image for a larger version. The graph shows average irradiance in Teddington in the month of March expressed as (kWh/year/m^2) across the period 2005 to 2020. Also shown is the average value.

The fractional variability of this monthly data is much larger the fractional variability of the annual data: the March data typically fall in the range ± 25% around the average.

So if last year had been a particularly bright March – at the top end of the variability – and this year March turned out to be historically dull – as it seems to be – then there is nothing odd about generation this March being up to 40% lower than last year lower i.e. falling from 125% to 75% of the monthly average.

Variation at almost this level is expected because there are only 31 days in March and 365 days in a year. For so-called ‘normally-distributed’ data one might expect the variability of the monthly data to be larger by a factor of √(365/31) i.e. a factor 3.4 . So one might expect around 6% × 3.4 ~ ±20% monthly variation. But 25% is more than 20%. Was this significant?

To check this I examined the variability of different months. Was each month as variable as every other month? Or was March particularly susceptible to large variability?

Click on image for a larger version. The graph shows average irradiance in Teddington in each month of the year expressed as (kWh/year/m^2) across the period 2005 to 2020. Also shown are the maximum and minimum values found across the 16 year range.

I extracted the data for each month and noted that the maxima and minima were not quite symmetrically arranged around the average, with the effect being particularly clear in May (Month 5). Then from this data I calculated the fractional variability of the irradiance in each month.

Click on image for a larger version. The graph shows fractional variability of monthly averages of irradiance in Teddington in each month of the year across the period 2005 to 2020.

So over the period 2005 to 2020, it appears that February and March have historically shown the largest variability, with late summer months showing the least variability.

Reflections on the data

There are many cases when reflecting on a data set one sometimes concludes that it tells one exactly what one might reasonably have expected. This is one such occasion.

Based on ±6% annual variability, we might expect roughly ±20% monthly variability – entirely due the way random numbers work. And this is roughly what we see. But we also see a trend through the year from February to September of reducing variability.

This is really just telling us that the early or late “arrival of Spring” makes a big difference to the weather. Whereas, as the year progresses, the progression through Spring, Summer and Autumn has a certain inevitability to it.

Or alternatively, it could be that the period 2005 to 2020 is not long enough to be a historically representative period.

However, based on these 16 years of data large (roughly 40%) changes in irradiance – and hence Solar PV generation – are normal, and not uncommon in February or March.

So I will just have to wait a little while longer for the sunshine.


7 Responses to “Solar PV Variability”

  1. John Fors Says:

    I suspect you will find that regions with seasonal snow fall will show even greater variability, especially during winter and spring months

    • protonsforbreakfast Says:


      What a good point. And that would not show up in the irradiance data!

      We did have a few snowy days – but that was mainly in January and February.

      All the best


  2. Greg Says:

    “But in November 2023 I installed an additional 8 panels.”
    Let’s assume you mean 2022. My ground mounted solar panels gives the greatest production in March as well. Typically, my 10 kW (2.5 roof mount, 7.5 kW ground mount) system produces about 50-55 kWh/day but in March, I’ll get as much as 75 kWh/day. You should consider joining There, you narrow systems in your specific area or country and/or size and see how you perform among your peers. If you do, hi from KettBVhome.

    • protonsforbreakfast Says:

      Greg, I did indeed mean November 2002 and I now corrected this error: thanks.

      I’ll check out that comparison website thank you.

      All the best


  3. Says:

    Hi Michael

    We have had much the same experience this March and today looks like a zero generation day!1


  4. David Cawkwell Says:

    In Portugal lattitude 39 degree we had a lovely February my 5.6kW 20 panel array pumping out an average of 17.5kw per day and a few days 25kW+. March has been a bit poor with a few low generation days but still averaging a reasonable 16kW average. We happily need far less heating of the house though.

    • protonsforbreakfast Says:

      That’s interesting: Average daily generation in March was lower than in February! I assumed it was just England.

      Fascinating: Thanks

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: