Solar Production Comparison

I have put my solar production in a spreadsheet starting from 12/5/2020 through 1/6/2021. The first column shows my solar production from Enphase, which is the device that measures my solar production directly. It is the device that was installed during my solar installation.

The second column shows what Sense is showing for my solar production total for each of the respective days.

The third column is showing the percent difference between the two. I can almost live with a 6% difference, but why would some be so high (i.e. 34%, 37%, 49%, 50% etc.)?


The weirdest thing to me is how inconsistent it is… I’d expect roughly the same percentage each month. Maybe I’ll compare my Sense data from last year to my SolarEdge data from last year.

1 Like

Your differences shouldn’t be that big… It might be interesting to plot them X-Y to see if you can discern some kind of linear relationship. It looks like the error % varies pretty regularly with solar production which suggests that you have a fixed offset between the two - Sense = (m *Enphase) - b, where b might be around 1/2 kWh.

1 Like

I looked at your data.

  1. If the ‘produced values’ are large , then your % differences are small .
  2. If the ‘produced values’ are small , then your % differences are large .

I think what you are seeing is that the CT clamps don’t measure that well when the current loads are low. They work better under a larger load. Maybe you should just compare values that are larger than 10.0

Also I agree with @kevin1. Plot the values on an X-Y axis using a linear regression and determine the R2 factor. See this older thread posted by other users who ran the same experiment. Don’t use the ‘% differences’ as a statistical guide. Use the ‘actual difference’ as your measurement. EXCEL can do all this for you.

How Accurate is Sense vs. Utility Metering? - Data Analysis - Sense


Many people on this forum have proven that Sense is very accurate (0 to 2%), compared to Utility meters and our own meters. I find it very hard to believe that the solar CT’s can be giving such bad readings.
I would first want to know where is Enphase measuring the output. I would suspect that there is some internal load used by the inverter before the output is presented to Sense CTs. If you add 475 watts (0.475kW) to the output of Sense and then calculate the percentages you will see a much better picture. There are still a couple of anomalies when output is extremely low, that may be a produce of inverter design, not Sense.

1 Like

Here are my solar production numbers as reported directly by my SolarEdge inverter versus what Sense is reporting. I also included the consumption numbers I am getting from my utility and bumped them up against Sense reporting as well…

I only took a snapshot of as much data as I could fit on the screen. My utility has a few days of delay in reporting consumption numbers which is why there are two blank days at the end of my matrix.

Solar Production Accuracy
Taking all of my data into account since I installed Sense on October 17, 2020, my average accuracy is 96.353%. But there was a known hiccup from Sense back at the end of October that resulted in some dirty data. Taking the dirty data out of the equation, my adjusted average accuracy is 97.64% (or a 2.36% difference).

Not sure what happened on 12/21/2020. That day seems to be an anomaly at 91.96% accuracy. As you can see, almost every day is between ~97% and ~99% accuracy with the exception of the 12/21/2020 date.

Consumption Accuracy
Taking all of my data into account since I installed Sense on October 17, 2020, my average accuracy is 95.168%. After taking the dirty data out from late October, my adjusted average accuracy is 97.58% (2.42% difference). Interesting that my consumption numbers are also way off on 12/21/2020… Weird… I wonder what happened that day…

Note: Those of you who are wondering how I get the total consumption data from my utility company since they only see the consumption that I use net of my solar production, it is a calculated usage. I take the SolarEdge production numbers, and add it to the net amount that I use from the utility grid. In hindsight, I guess I should have labeled that column “Calculated Actual Usage”

1 Like

Nice… It would be interesting to see your X-Y chart of this data to see if the main error term appears random or systematic.

Where are you getting your production numbers in Enphase? There are two sets, at the Inverters and at the Power Meter. The Power Meter is very close to Sense on my system. Using inverter numbers is always higher.

Yesterday: At the Inverters was 7.14 kWh, at the Power Meter (in the Combiner Box) was 6.58 and Sense was 6.55.

1 Like

I couldn’t help but do the graphs…

Looks really good except for 12/21. You should go back and look at your Sense Power Meter for 12/21. I wouldn’t be surprised if you saw some kind of data dropping out on that day…

1 Like

@Ray13, I OCRed your data and plotted on scatter (X-Y) plot. Very linear, but off for two systematic reasons.

  1. You have a y-intercept of about -450W.
  2. You have a slope of about 0.9758

That means that your SenseSolar = ( 0.9758 * EnPhase ) - 450Wh, very consistently.
Adjusted R-squared: 0.9998

That -450Wh fixed difference (y intercept) really messes up your % calculated error. You’ll find your error to be about 2.42% + 450Wh/Enphase Wh

1 Like

Thanks @kevin1

Forgive me if it’s obvious, but what exactly did you plot on x and y axis on those charts?

I see the linear relationship with the outlier data point…but I am not 100% sure I know how you charted this… Sorry if I am being dense here! :slight_smile:

Thanks again!

No prob… There first plot has your SolarEdge energy output reading on the x-axis and your corresponding (same day) Sense output reading on the y-axis. Similarly, the second plot is your Utility measurement for each day on the x-axis, with the corresponding Sense reading on the y-axis.

With this kind of plot, you should see points close to the “unity line”, where x = y (slope = 1, starting at 0,0). I tend to put the “golden measurement” on the x-axis so one can calculate the Sense output as a function of the golden measurement (utility or inverter, though the inverter is usually not really a golden measurement - there are some losses before it reaches your main breaker box)

FYI - for your solar, Sense = (0.97 * SolarEdge) + 60Wh.
Adjusted R-squared: 0.9999
So Sense is typically 3% below your SolarEdge measure, very similar to my SolarEdge.

for your net usage, Sense = (1.005 * Utility) + 295Wh
Adjusted R-squared: 0.9997
Your Sense is almost dead-on with your Utility except for that 295Wh offset

To get that type of chart in Excel, just select the two columns for comparison and Insert > Chart > X Y (Scatter)

1 Like

Thanks so much for doing this @kevin1! So what does that -450W Y intercept mean? Could it be from a day where the data read was interrupted on my Sense device?

The beauty of doing the plot and the linear regression is that it lets you look past bad data points from things like interrupted reads, Sense data dropouts, etc.

  • Bad data due to random measurement errors shows up as points well off of the best fit (regression) line. In your case, there are two points (points/rows 2 and 29) in your spreadsheet that are well off the fit line, in the red circle, that you should probably investigate further for missing reads or data dropouts.

  • The 0.9758 slope and the -450Wh are systematic error sources - the error mechanism affects every measurement in the spreadsheet. One possible interpretation could be that your inverter measures total energy flowing from the panels, but then the inverter uses 450W plus 2.4% of the energy delivered to your panel, just to do the conversion from DC to AC. There might be other reasons for these systematic errors/differences, but neither of those values are due to just one point - they built into due to all the data points. ps: The -450Wh is the spot where the fit line crosses the y-axis, in magenta. It indicates what one would expect Sense to read when the inverter is on, but producing 0 power.

1 Like

Thanks for all of your input on this @kevin1! It’s been very helpful and I’m really learning a lot!

So with everyone’s help so far, I have been able to plot my data Enphase vs. Sense in an Excel XY Plotter Chart and I figured out how to show the Y and R2 of my data automatically!

Based on my chart it is showing Y=0.9676x - 0.3573 and R2 = 0.9993.

As you pointed out @kevin1 , the first data points are off the slope. I went back and looked and I did reset my Sense device on that day so there was a brief period where it did not collect any data.

With that being said, how did you come up with the -450W value?


Following this further, I went and created 3 XY plot graphs comparing the following:

  • Sense/Enphase (solar monitoring)
  • Enphase/CMP (utility)
  • Sense/CMP

As you can see the slope is fairly consistent comparing Sense to Enphase.

However, when comparing either Enphase or Sense to my utility, the results are horrible! What is this telling me?

Nice regression work. I have a slightly different fit line because I removed the two outlier points (2,29) before doing the fitting / linear regression. If didn’t remove those two, my result comes in much closer than that, Y=0.968181x - 0.364204, with Adjusted R-squared (R2) = 0.9993. Still a little different, but small enough that it can be attributed to slightly different regression algorithms between Excel and R.

R gives me some tools for analyzing the residual for each point (error/difference from the fit line). You can see why points 2 and 29 can be easily discarded, or at least investigated as errant data.

I think the problem is that CMP can’t really tell you solar production - a net meter will only give you “to grid” data and “from grid” data. Your utility “to grid” measurement is distinctly different from Solar Production - To get technical, “to grid” is really the integral of Solar Production - Total Usage over time, but only for the periods where that value is positive. “from grid” is the same type of integral, but for the period where that difference is negative.

You can compare the net usage between all three measurement sources because they represent the same thing.


Good point @kevin1!

So I went back and plotted all of the NET values.

  • CMP (utility)/Enphase NET
  • CMP/Sense NET
  • Enphase/Sense NET

What do you make of this? Do you think Enphase and Sense are closer to each other than either one of them being more accurate with CMP?

Nice work.

My 2c - Sense and Enphase are very linear with a tight distribution around the fit line. That tells me that they are measuring the same thing in a very consistent way, plus only 2% differential between them. But both comparisons against CMP have broader distributions around the fit line. That kind of suggests that there are some bad points in your CMP data. If I had the data, I would zoom in on a couple of the biggest CMP outliers and see if there were any hourly data discrepancies (missed reads or extra reads) in the CMP data. Usually I view the utility data as the gold measure, but my experience with ‘actual’ reads and ‘estimated’ reads has taught me that the utility data is only golden for an ‘actual’ read.

Here’s a detailed view on the size of the residuals, distance from the fit line for each point, corresponding to each of your 3 graphs. You can see that the largest residuals for both charts including CMP is 4x the largest residuals in the Sense/Enphase comparison. This Residual plot also shows the 3 points with the most significant residuals. You can see that the residuals for points/rows 10 and 19 are common to the Sense/CMP and Sense/Enphase plots. That tells me those are the two days that are the furthest off for CMP (with points 33 and 28 next). BTW - point / row numbers refer to count from the top/first data entry row, not the spreadsheet row #.

1 Like