Solar Self-Consumption Calculator

Compare time-aligned PV generation and site load, with optional battery flows, in a transparent behind-the-meter energy balance.

Inputs
Time-aligned intervals

Use the same interval length and time zone for every row. Enter PV and load energy, not power.

Row 1
Row 2
Result

Formulas

  • \(E_{\mathrm{direct}} = \min(E_{\mathrm{PV}}, E_{\mathrm{load}})\)
  • \(E_{\mathrm{charge}} = \min(\max(E_{\mathrm{PV}} - E_{\mathrm{direct}}, 0), E_{\mathrm{charge\ request}})\)
  • \(E_{\mathrm{export}} = \max(E_{\mathrm{PV}} - E_{\mathrm{direct}} - E_{\mathrm{charge}}, 0)\)
  • \(E_{\mathrm{discharge}} = \min(\max(E_{\mathrm{load}} - E_{\mathrm{direct}}, 0), E_{\mathrm{discharge\ request}})\)
  • \(E_{\mathrm{import}} = \max(E_{\mathrm{load}} - E_{\mathrm{direct}} - E_{\mathrm{discharge}}, 0)\)
  • \(\mathrm{Self\ consumption}\% = \frac{\sum E_{\mathrm{direct}}}{\sum E_{\mathrm{PV}}} \times 100\)
  • \(\mathrm{Self\ sufficiency}\% = \frac{\sum E_{\mathrm{direct}}}{\sum E_{\mathrm{load}}} \times 100\)

A solar self consumption calculator shows how photovoltaic (PV) energy is used behind the meter during each time-aligned interval. Its core result is Direct PV to load: the portion of site demand supplied immediately by on-site PV generation instead of the utility grid.

The calculation also separates known or modeled battery activity into PV to battery and Battery to load, then identifies the remaining Grid import. This energy balance supports solar-production review, load-shifting analysis, battery dispatch modeling, and utility-purchase forecasting.

All inputs and results are energy values in kWh. They are not instantaneous kW demand values, conductor ampacity values, feeder loads, or inverter output-current calculations.

Time-Aligned Energy Intervals

Enter one row for each matching PV and load interval. Every row must use the same interval length and the same time zone.

For example, a one-hour interval can contain:

FieldValueMeaning
Interval labelPV intervalIdentifies the aligned time period
PV generation (kWh)3Energy produced by the PV system during that interval
Site load (kWh)2Energy consumed by the premises during that interval
Battery charge request (kWh)0Known or separately modeled energy requested for battery charging
Battery discharge request (kWh)0Known or separately modeled energy requested from the battery

A daily PV total and daily site-load total cannot show the same operational result as aligned intervals. A site may produce 3 kWh during one period and consume 2 kWh during another; those values do not offset behind the meter unless their intervals overlap.

Use PV generation (kWh) and Site load (kWh) as interval energy, not power. A 3 kW inverter operating for one hour may produce about 3 kWh, while the same inverter operating for 15 minutes produces 0.75 kWh. The calculator requires the latter quantity.

PV-to-Load Allocation

For each interval, direct solar use is limited by both available PV energy and the site load:

\(\displaystyle \text{Direct PV to load}=\min(\text{PV generation},\text{Site load}\)

The remaining site load after direct PV use is:

\(\displaystyle \text{Remaining load}=\max(0,\text{Site load}-\text{Direct PV to load}\)

When a Battery discharge request (kWh) is entered, battery energy can serve that remaining load:

\(\displaystyle \text{Battery to load}=\min(\text{Battery discharge request},\text{Remaining load}\)

Grid energy supplies any load that remains:

\(\displaystyle \text{Grid import}=\max(0,\text{Site load}-\text{Direct PV to load}-\text{Battery to load}\)

Where a known or separately modeled Battery charge request (kWh) is provided, PV energy remaining after direct service to the site load can be allocated as PV to battery:

\(\displaystyle \text{PV to battery}=\min(\text{Battery charge request},\max(0,\text{PV generation}-\text{Direct PV to load})\)

The calculator totals each row to report:

  • Total PV generation
  • Total site load
  • Direct PV to load
  • PV to battery
  • Battery to load
  • Grid import

Calculation Example

Enter two aligned intervals:

Interval labelPV generation (kWh)Site load (kWh)Battery charge request (kWh)Battery discharge request (kWh)
PV interval3200
Load interval0200

For the first interval:

\(\displaystyle \text{Direct PV to load}=\min(3,2)=2\text{ kWh}\)

There is no battery charge request and no battery discharge request, so:

\(\displaystyle \text{PV to battery}=0\text{ kWh}\)

\(\displaystyle \text{Battery to load}=0\text{ kWh}\)

\(\displaystyle \text{Grid import}=\max(0,2-2-0)=0\text{ kWh}\)

For the second interval, PV generation is 0 kWh and site load is 2 kWh:

\(\displaystyle \text{Direct PV to load}=\min(0,2)=0\text{ kWh}\)

\(\displaystyle \text{Grid import}=\max(0,2-0-0)=2\text{ kWh}\)

The combined result is:

ResultValue
Total PV generation3 kWh
Total site load4 kWh
Direct PV to load2 kWh
PV to battery0 kWh
Battery to load0 kWh
Grid import2 kWh

The 2 kWh of Direct PV to load represents immediate on-site solar use. The 2 kWh of Grid import occurs because the remaining load is in a separate interval with no PV generation. Daily energy totals alone would conceal that timing gap.

Electrical Design Limits

This calculation is an interval energy balance. It does not establish PV branch-circuit conductor ampacity, inverter output-circuit ampacity, feeder size, overcurrent protection, raceway fill, voltage drop, service-load compliance, battery inverter rating, or utility interconnection requirements.

Electrical design still requires the actual equipment data and installation conditions, including inverter continuous output current, conductor AWG or kcmil, insulation temperature rating, terminal rating, correction factor, adjustment factor, number of current-carrying conductors, conductor routing, and applicable AHJ requirements.

Battery requests should be entered only when they are known or modeled separately. The calculator does not derive battery state of charge, charging efficiency, discharge efficiency, inverter losses, charge/discharge power limits, export energy, demand peaks, or battery-control logic. Those conditions must be resolved in the battery model, inverter monitoring data, or project design before relying on the resulting energy allocation.

FAQs

What is the self-consumption ratio?

In this screen it is direct PV-to-load energy divided by total PV generation. Battery attribution is not guessed from a battery discharge request.

Does this calculate battery state of charge?

No. Battery charge and discharge values are entered interval flows. State of charge, usable capacity, efficiency, power limits, and dispatch must be modeled separately.

Can this approve utility export settings?

No. Export limits, tariffs, interconnection, anti-islanding, and utility programs require separate project and utility review.