This documentation will help you start using the Comparative Photovoltaic (PV) Levelized Cost of Energy (LCOE) Calculator.

Getting started

This tool is designed for making comparisons between a baseline and a proposed technology.

The calculator is preloaded with reasonable default values for every parameter. Try dragging a slider or changing a numeric input and watch the LCOE values in the results section change immediately.

Example: Cell cost reduction

In the proposed section, drag the cell cost slider or type in the cell cost numeric input field to reduce its value by about 50%. The proposed LCOE immediately changes, but by less than 50%. LCOE depends on a lot more than just cell cost!

You can also do quick break-even analysis of technology improvements. Each input parameter except discount rate (more on that below) has a break-even button, marked picture of a balance, that automatically adjusts that parameter to make the proposed LCOE equal the baseline LCOE. In cases where an exact break-even calculation is not possible, a warning appears and the closest approximation is used.

Example: New technology break-even analysis

Simulate adding a new component to the module by changing the cost of the extra component in the proposed section to 4.00 USD/m2. The proposed LCOE increases due to the higher module cost.

Suppose the new component increases the energy yield of the system. In the proposed section, press the break-even button, marked picture of a balance, beside the energy yield input. The energy yield is automatically adjusted so the proposed LCOE equals the baseline LCOE. This shows how much of an improvement to energy yield the new technology must provide to break even in LCOE.


The calculator includes hundreds of presets for the input parameters. Choose settings in the presets for inputs section and then press apply to baseline or apply to proposed to load the preset parameter values.

Each preset represents a simulated PV system with a particular cell technology, module package type, system type, and geographic location. Input values for module cost come from NREL's benchmark module cost studies. Energy yield has been simulated using SAM with NSRDB weather data for each location. More details on this simulation are available in the repository documentation.

Cell technology
Cell technology can be monocrystalline silicon (mono-Si), multicrystalline silicon (multi-Si), or cadmium telluride (CdTe). Modules with silicon cell technology are simulated with an anti-reflective coating (ARC) on the glass. Cell technology affects cell cost, efficiency, energy yield, BOS cost, and the available values for package type and system type.
Package type
Package type can be (glass-polymer backsheet) or (glass-glass). Crystalline silicon modules can be either glass-polymer backsheet or glass-glass. CdTe modules are not available in the glass-polymer backsheet package. Package type affects back layer cost.
System type
System type can be (fixed tilt, utility scale), (single-axis tracked, utility scale), or (roof-mounted, residential scale). Our baseline utility-scale system has 100 MW capacity and our baseline residential-scale system has 7 kW capacity. System type affects energy yield and BOS cost.
Location can be one of 50 places, one in each US state. Locations are chosen to have nearly the median solar resource in the state, subject to data availability. Weather data for each location was used to produce a preset value for undegraded energy yield. Location affects energy yield.
Inverter Loading Ratio (ILR)
Also known as DC/AC ratio, ILR is the ratio of a PV system's DC nameplate power to its inverter's AC nameplate power. ILR values of 1.1, 1.3, and 1.4 are available. For commercial and utility-scale systems, the default is 1.3. For residential systems the default is 1.1. ILR affects energy yield and BOS cost.

Input parameters

These inputs apply separately to the baseline and proposed technologies.


Module price is calculated by summing the component costs and adding a 15% margin representing the module manufacturer's profit.

Front layer cost
Cost of the glass on the front surface of the module.
Cell cost
Cost of PV cells. In the case of crystalline silicon modules, complete cells are included but interconnects are not. In the case of CdTe modules, the entire monolithically integrated cell layer is included.
Back layer cost
Cost of the polymer or glass layer on the back of the module.
Non-cell module cost
Cost of encapsulation, cell interconnection, junction box, leads, connectors, nameplate, frame, and testing.
Extra component cost
Initially set to zero, this cost represents an additional component, not otherwise accounted for, being proposed for addition to the module or system.
O&M cost
Cost of operations and maintenance, including troubleshooting, repairs, and cleaning. This cost is normalized to the system's nameplate power.
BOS cost, power-scaling*
The component of balance of system cost that scales with the power output of the system, regardless of its physical size. This includes the inverter, for instance.
BOS cost, area-scaling*
The component of balance of system cost that scales with the physical size of the system. This includes racking, wiring, and installation labor, for example.

*The BOS cost presets are most accurate for module sizes around 1.65 m2 for residential systems, and 2 m2 for utility and commercial systems. Results will be less accurate for modules that are significantly larger or smaller.

This calculator relies on BOS costs provided by the NREL system benchmark cost model, since a bottom-up system cost model is highly complex compared to the function of this calculator. The BOS cost data is reported as a function of module efficiency and is fit using the following equation: $$c_\text{system} = \frac{c_\text{area}}{\eta \times 1000\frac{W}{m^2}} + c_\text{power}$$ where \(\eta\) is the module efficiency, \(c_\text{system}\) and \(c_\text{power}\) are in units of $/W, and \(c_\text{area}\) is in units of $/m2.


Module efficiency measured at standard test conditions (STC). This is the module's nameplate efficiency.
Energy yield
Also known as array yield, the energy production of the undegraded system, normalized by its nameplate power rating.


Degradation rate
The annual loss in energy production, as a percentage of the system's undegraded energy yield. Degradation rate is limited based on the value of service life so that the system's final-year energy production is greater than zero.
Service life
The number of years the system is expected to operate. The “financial life” of the system is set equal to its service life. Service life is limited based on the value of degradation rate so that the system's final-year energy production is greater than zero. The maximum value of service life is 1000 years.


Discount rate
The annual rate at which future costs and future energy production are discounted. Use the button to toggle between constrained picture of a chain and unconstrained picture of a broken chain. When discount rates are constrained, changes to the baseline degradation rate are automatically copied to the proposed degradation rate, and vice-versa. This is the default setting. When discount rates are unconstrained, the baseline and proposed degradation rate can be changed independently.


The calculator performs a “simple” LCOE calculation. $$\text{LCOE}=\frac{\sum_{n=0}^{n_s}{\frac{c_n}{\left( 1 + d \right)^n}}}{\sum_{n=0}^{n_s}{\frac{e_n}{\left( 1 + d \right)^n}}}\text{, }$$ where \(c_n\) is the cost in year \(n\), \(d\) is discount rate, \(e_n\) is the energy produced in year \(n\), and \(n_s\) is the number of years in the system's service life.

The cost in year \(n\) $$c_n = \begin{cases} c_\text{capital} & n = 0 \\ c_\text{O&M} & n > 0 \end{cases}\text{,}$$ where \(c_\text{capital}\) is the initial capital cost of the system and \(c_\text{O&M}\) is the annual O&M cost. In this calculator, these costs are in units of USD/kW.

The energy produced in year \(n\) $$e_n = \begin{cases} 0 & n = 0\\ \text{max}\left[ e_0 \left( 1 - R_d \left(n-0.5\right)\right), 0 \right] & n>0 \end{cases}\text{,}$$ where \(e_0\) is the ideal undegraded energy yield and \(R_d\) is the system's annual degradation rate, expressed in fractional change per year. In this calculator, this energy production is in units of kWh/kW, so \(c_e\) is in units of USD/kWh.

See also

This tool is for evaluating how changes to PV module and system technology affect LCOE. You may be interested in these other resources.

If you're looking for a calculation that includes an explicit energy output prediction, and/or has more detailed financial models, consider using the System Advisor Model, which also calculates LCOE, or PVWatts.

The Annual Technology Baseline provides historical, current, and forecast cost information for all types of energy technology, including LCOE data for PV.

Tools with fewer technology-specific details and more financial details include REopt, which also includes energy storage, and the simple LCOE Calculator.

Data Sources

Input values for module cost breakdowns and balance-of-system costs come from NREL's benchmark analysis. The module degradation rate cited in the latest system benchmark report is used as an approximation of the system degradation rate. Results are relevant to systems installed in the United States. The latest available studies are used:

Default system degradation rate and balance-of-system costs: Feldman, David, Vignesh Ramasamy, Ran Fu, Ashwin Ramdas, Jal Desai, and Robert Margolis. 2021. U.S. Solar Photovoltaic System Cost Benchmark: Q1 2020. Golden, CO: National Renewable Energy Laboratory. NREL/TP-6A20-77324.

Silicon and CdTe module inputs: Models last updated in 2020, unpublished.

Source code

The source code for this calculator is publicly available on GitHub.


This work was supported by the Durable Modules Consortium (DuraMAT), an Energy Materials Network Consortium funded by the U.S. Department of Energy, Office of Energy Efficiency and Renewable Energy, Solar Energy Technologies Office.


Version 2.0.0 (August 2021): Made multiple changes to the calculator, preset values, and the way preset values are produced.

  • Added break-even buttons for all inputs except discount rate
  • Added a slider for inverter loading ratio (ILR)
  • Redesigned the presets menu
  • Restricted acceptable service life range and added a dead zone to the slider, imposed physically-motivated limits on efficiency, yield, and degradation rate
  • Added the option to compare a proposed discount rate
  • Switched to a linear equation for applying degradation rate to energy yield
  • Updated energy yield based on PySAM, using the PVWatts model and NSRDB weather data (source is available in the repository). Weather data is NSRDB TMY based on PSM through 2020.
  • Removed BOS-cost variation by location, updated BOS costs, added commercial system BOS costs, added BOS costs for different ILRs, added a new script to the repository build the BOS cost tree, updated references in documentation
  • Updated module costs, efficiencies, degradation rate, O&M costs, and added a new script to the repository to build the preset tree, updated references in documentation
  • Updated citation

2020-09-11: Added explanation of system versus module degradation rates, changed source code link to GitHub repository, added files to GitHub that can create new sets of preset values. We have clarified that module degradation rates serve as an approximation for system degradation rates, which was not explicitly stated previously. The new files added to the GitHub repository are under the /build-presets/ folder. This includes a jupyter notebook which builds the preset file called by the calculator (and also houses default efficiency and cost values), as well as an Excel file that contains default energy yield and degradation rate values.

2018-07-16: Added link to source code; added note about anti-reflective coating.

2018-06-06: Harmonized magnitude and units of area-scaling BOS cost. Previously, preset values for area-scaling BOS cost were stored and displayed in units of USD/(100 m2) and a corresponding factor of 100 was used to produce correct LCOE results. But the calculator incorrectly displayed units of USD/m2 for this parameter. We have corrected the discrepancy by storing and displaying presets for area-scaling BOS cost in units of USD/m2 and removing the factor of 100 from the calculation. Results relying only on preset values of area-scaling BOS or on relative changes in area-scaling BOS are unaffected.