A Computing for Good project built at the Colorado School of Mines.
Helping Colorado homeowners understand whether rooftop solar is worth it.
We built a machine learning model that predicts how much energy a rooftop solar system would generate at a Colorado home and how long it would take for the installation to pay for itself.
The model uses 19 years of weather and solar data, including more than 2.1 million hourly observations. Users can enter an address or select a location on the map to estimate solar output, long-term savings, and expected payback time.
Beyond Sunroof
What this project adds that Project Sunroof does not
| Google Project Sunroof | This project | |
|---|---|---|
| Where it works | One address at a time | Every point in Colorado: 150 simulated sites and a state-wide map, so towns and regions can be compared |
| Machine learning | Not exposed | An hourly forecaster trained on 2.1 million hours of weather, tested on a year and on ten sites it never saw |
| How sure it is | One number | A best estimate and a conservative one (P50 and P90), from 19 real weather years and 5,000 simulated futures |
Sunroof still wins on roof geometry: it models every roof plane and nearby trees in 3D. This project uses the location and the weather, and lets you set the system size.
Altitude is Colorado's solar advantage: thinner air and cooler panels. Each dot is one of the 150 simulated sites.
Where the model earns its keep: hourly forecast error by month in 2024, the learned model against the clear-sky physics baseline. Winter storms and snow are where physics alone fails.
Solar potential across Colorado
Expected yield of a south-facing rooftop array, kWh per kW installed per year
Median over 2005 to 2023 at the best fixed tilt for each site. Six-nearest-neighbour inverse-distance interpolation of 150 simulated sites onto a 0.1 degree grid, leave-one-out error about 13 kWh per kW (0.7 percent, R² 0.93); switch to the uncertainty layer to see where neighbouring sites disagree most. Hover to read a value, click a spot or type an address to send it to the advisor.
Homeowner advisor
Will solar pay for itself on this roof?
What these terms mean
- kWh
- A unit of energy. A typical Colorado home uses about 700 kWh a month.
- kW, system size
- How much power the panels make in full sun. A 6 kW system is roughly 15 panels.
- Specific yield, kWh per kW
- Energy each installed kilowatt produces in a year. It depends only on the location and the roof, so it lets you compare places.
- P50 and P90
- The middle estimate and the cautious one. P90 is beaten in nine years out of ten; lenders use it.
- Net cost after credit
- What you pay once the 30 percent federal tax credit is taken off the installed price.
- Simple payback
- How many years until the savings on your utility bill have repaid that net cost.
- NPV, net present value
- All future savings minus the cost, counted in today's dollars using the discount rate. Positive means the panels beat keeping the money.
- IRR, internal rate of return
- The yearly return the panels earn on your money, to compare with a savings account or an index fund.
- Cost of energy, LCOE
- What each kWh from the panels costs you over their life. Compare it with the price the utility charges.
- Year 25 output
- Panels slowly lose output, about half a percent a year, so year 25 makes less than year one.
- Utility price growth
- How fast the electricity price rises each year. Higher growth makes solar pay back sooner.
- Discount rate
- How much less a dollar next year is worth to you than a dollar today; used for NPV and the cost of energy.
- Best tilt
- The roof pitch that collects the most sun over a year at this location.
Forecasting model
Day-ahead hourly output, hour by hour, at sites the model has never seen
Target: AC power of the reference 6 kW array. Trained on 2019 to 2022, tuned on 2023, scored on 2024. Ten grid sites were withheld entirely so the last column measures transfer to new locations, the property that matters for a state-wide map.
One week in June 2024 at Golden. Grey is the clear-sky ceiling from physics, black is what the array produced, amber is the forecast made the day before.
Daily energy in 2024 at Golden, forecast against actual. Each dot is one day.
What the best model leans on. Permutation importance: how much hourly RMSE rises when a feature is shuffled.
What these terms mean
- Day-ahead forecast
- A prediction made the day before, using tomorrow's weather forecast and what the array did today.
- RMSE, % of capacity
- The typical size of an hourly miss, as a share of the array's maximum output. Lower is better.
- R²
- How much of the hour-to-hour variation the model explains, from 0 to 1.
- Daily energy MAPE
- The average percentage miss on a whole day's energy, the number a homeowner would notice.
- Persistence
- The simplest guess: tomorrow will be like today.
- Clear-sky persistence
- Physics plus yesterday's cloudiness: the best guess without machine learning.
- Skill
- How much of the baseline's error the model removes; 50 percent means half the error is gone.
- Unseen sites
- Ten locations kept out of training entirely, to prove the model works in places it never learned from.
- Permutation importance
- How much worse the model gets when one input is scrambled; the inputs that hurt most matter most.
Ranked sites
Colorado's named locations, ordered by bankable yield
P90 is the yield exceeded in nine years out of ten, the number a lender would use. Click a header to sort; click a row to load it into the advisor.
Method
- IrradianceHourly GHI, DNI and DHI from PVGIS-ERA5 (ECMWF reanalysis) for 2005 to 2023 at 135 grid points plus 15 cities; Open-Meteo ERA5 with cloud cover, humidity, snowfall and wind for the forecasting set
- Solar geometrypvlib solar position, relative air mass and Ineichen clear-sky irradiance at every hour, evaluated at the hour midpoint to match the data convention
- PV physicsNREL PVWatts v5: Perez plane-of-array transposition, SAPM cell temperature, temperature-corrected DC power, 14 percent system losses, inverter clipping at a 1.2 DC-to-AC ratio
- Tilt optimisationFixed tilt grid-searched per site from 10 to 55 degrees; the map and the advisor use each site's optimum
- ForecasterTwo-layer neural network and histogram gradient boosting on clear-sky physics, weather, site and previous-day features, benchmarked against persistence, clear-sky persistence and ridge regression; the two leaders are within 0.1 percentage points of each other
- Spatial modelInverse-distance k-nearest-neighbour interpolation on latitude and longitude, chosen over a Gaussian process and polynomial ridge by leave-one-out cross-validation; the uncertainty layer is the weighted spread of the neighbours
- Long-term projectionMonte Carlo over 5,000 futures: each year draws a real weather year from the 19 observed, module degradation sampled around NREL's 0.5 percent per year median
- EconomicsNet cost after the 30 percent federal credit, retail-rate net metering, escalating utility price, O&M, NPV, IRR, simple payback and levelised cost of energy
- Honest scoringTemporal hold-out on 2024 and spatial hold-out on ten unseen sites; every number on this page comes from those held-out rows