How we calculate
Methodology
Every payback number, every price range, every kWh estimate on this site is backed by the inputs documented here. We publish the methodology so claims survive scrutiny — by journalists, by policy staff, by skeptical Canadians. If anything below looks wrong, tell us.
The conservative posture
Every assumption on this site skews toward under-stating the benefit of plug-in solar. The vertical panel angle, the self-consumption rate, the shading derate, the product prices we cite — each is chosen so a Canadian who actually installs a system should see better results than our numbers claim.
This is deliberate. A campaign that over-promises and under-delivers hands opponents a permanent talking point. A campaign that under-promises and over-delivers wins trust. We publish the floor, not the ceiling.
Solar production
Monthly kWh output is computed using NREL PVWatts v8 with the National Solar Radiation Database (NSRDB) satellite dataset. NSRDB coverage is comprehensive across Canada to about 60°N, usable and modeled to ~70°N (Yellowknife, Iqaluit, Whitehorse all fall in this zone), and sparser beyond (we do not make community-specific claims above 70°N).
Balcony-specific tuning
| Parameter | Value | Rationale |
|---|---|---|
| Tilt | 90° (vertical) | Balcony panels hang from a railing. Pure vertical is the mathematical optimum only at ~90° latitude (i.e., at the poles — not anywhere humans live). Every real installation tilts outward slightly, which produces more. Choosing 90° guarantees the floor. |
| Azimuth | 180° (south) on public surfaces | South-facing is the default on every payback exhibit and province page. East (90°) and west (270°) variants are also computed and stored for all capitals and secondary cities — typical yield cut ~20–35% vs south. You can see them on the interactive calculator. |
| Array type | Fixed | PVWatts has no "vertical wall" type; fixed is the closest proxy. |
| Losses | 14% (PVWatts default) | Standard soiling, wiring, mismatch, inverter clipping. Applied inside PVWatts. |
| Shading derate | 15% (applied outside PVWatts) | Urban balcony shading from surrounding buildings, railings, partial overhangs. Deliberately conservative; a south-facing balcony with no obstruction sees less. |
Why vertical panels outperform roofs in Canadian winter
In Alberta and the Prairie provinces, 90° vertical south-facing panels produce more in winter than summer because the sun is lower — Calgary 1200W panels generate ~448 kWh December through March vs ~360 kWh May through August. This is the opposite of roof-mounted systems. It is a genuine and unusual outcome of vertical mounting at high latitude, and it makes balcony solar particularly well-suited to Canadian winter reliability.
Reference systems
Rather than run PVWatts per individual product, we compute production for five reference configurations and link each product listing to its closest match. This keeps the math tractable, cached, and comparable across listings.
| Ref | Wattage | Battery | Panels | Description |
|---|---|---|---|---|
| r400 | 400W | No | 2 | Entry-level balcony kit |
| r800 | 800W | No | 4 | Most common EU configuration; the campaign’s default "standard kit" |
| r1200 | 1200W | No | 6 | Ceiling of the campaign ask |
| r800b | 800W | 2 kWh | 4 | Standard kit with integrated battery storage |
| r1200b | 1200W | 2 kWh | 6 | Premium kit with battery |
Electricity rates
Canadian residential electricity bills have multiple components. The variable portions — energy charge, variable transmission & distribution, variable riders like carbon levy — scale with usage, so solar offsets them fully. The fixed portions (monthly connection fees, admin charges) stay the same regardless of consumption and are not displaced.
We use the full variable displaced rate (energy + T&D + variable riders) for payback math, not just the energy line. In Alberta the energy line is typically less than half the bill; using energy alone would understate savings by ~50%.
| Region | Utility | Energy | T&D | Riders | Total variable | Source |
|---|---|---|---|---|---|---|
| Alberta | Alberta competitive market (1-yr fixed) + ENMAX Power D100 distribution | 8 ¢/kWh | 4 ¢/kWh | 4 ¢/kWh | 16 ¢/kWh | UCA Cost Comparison Tool + ENMAX D100 Distribution Tariff |
| British Columbia | BC Hydro (Residential Inclining Block) | 11 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 11 ¢/kWh | BC Hydro residential rate schedule |
| Manitoba | Manitoba Hydro | 9 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 9 ¢/kWh | Manitoba Hydro residential rates |
| New Brunswick | NB Power | 15 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 15 ¢/kWh | NB Power residential rates |
| Newfoundland and Labrador | Newfoundland Power | 15 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 15 ¢/kWh | Newfoundland Power residential rates |
| Northwest Territories | Naka Power Utilities Yellowknife (NUYL, Northland Utilities) | 23 ¢/kWh | 0 ¢/kWh | 10 ¢/kWh | 33 ¢/kWh | NTPC Residential Rate Schedules (effective February 2026) + NWT Public Utilities Board Rider F decisions |
| Nova Scotia | Nova Scotia Power | 18 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 18 ¢/kWh | Nova Scotia Power Standard Residential Service |
| Nunavut | Qulliq Energy Corporation (QEC) — Residential Non-Government, Territorial Power Support subsidized tier | 31 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 31 ¢/kWh | Qulliq Energy Corporation General Rate Application + Territorial Power Support Program (TPSP) |
| Ontario | Ontario RPP (representative — Toronto Hydro / Hydro One / Hydro Ottawa) | 12 ¢/kWh | 2 ¢/kWh | 1 ¢/kWh | 15 ¢/kWh | Ontario Energy Board Regulated Price Plan |
| Prince Edward Island | Maritime Electric | 17 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 17 ¢/kWh | Maritime Electric residential rates |
| Quebec | Hydro-Québec (Rate D) | 6 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 6 ¢/kWh | Hydro-Québec Rate D |
| Saskatchewan | SaskPower | 15 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 15 ¢/kWh | SaskPower residential rates |
| Yukon | ATCO Electric Yukon (YECL Rate Schedule 1160 Residential Service, Hydro) + Yukon Energy | 14 ¢/kWh | 0 ¢/kWh | 0 ¢/kWh | 14 ¢/kWh | ATCO Electric Yukon YECL Rate Schedule 1160 (effective April 2026) + Yukon Energy wholesale rates |
Product prices
Product listings are sourced from EU manufacturer and retailer pages (Amazon PA-API and Shopify public endpoints will expand this pool shortly). Each listing is a real product with a cited URL.
VAT and FX methodology
German retail prices include 19% VAT. Canadian residential electricity bills show pre-tax variable charges (GST is added on top). For an apples-to-apples comparison:
- We strip 19% VAT from each German listing to get the pre-VAT wholesale equivalent.
- We convert using the Bank of Canada EUR/CAD spot rate (currently ~1.62).
- The resulting CAD pre-tax figure is directly comparable to Canadian electricity rates.
Every CAD-equivalent figure on this site — on the prohibition exhibit, in each province’s payback block, in aggregates — uses this same pre-GST methodology. The figure answers the question “what would this kit cost in Canadian dollars if sold in Canada before sales tax?” and is comparable to Canadian retail pre-tax pricing. The inc-VAT source price (what German consumers actually pay today) is shown alongside on every card for transparency.
Wrinkle, because the topic is messy: a Canadian who imports one of these kits today typically pays the German VAT anyway (the retailer collects it at the checkout regardless of the buyer’s country), plus Canadian import GST on arrival. The pre-GST CAD number we display is the hypothetical Canadian-market price — what a Canadian retailer would charge if the EU supply chain’s scale economics reached a legalized Canadian market. That is the price Canadians could pay if plug-in solar were legal here; the current grey-imports-plus-duties figure is always higher.
Current listings
53 listings shown (verified). 65 additional listings ingested from Shopify feeds are held in a review queue until a human confirms category, wattage, and price. Only verified listings back the aggregates above.
| Ref | Product | Price | Battery | Source |
|---|---|---|---|---|
| vineeta-524 — Plug and Play Solar Panel Power with 800 DC-Watt Inverter; Simply Plug into Wall; Expandable | $699.00 | No | Retailer → | |
| r1200 | Solakon — onLite: 900 Watt Balkonkraftwerk | €200 | No | Retailer → |
| r1200 | Solakon — onBasic: 1000 Watt Balkonkraftwerk | €250 | No | Retailer → |
| r1200 | solago — Balkonkraftwerk 1000W/800W - Set | €349 | No | Retailer → |
| r1200 | yuma.de — Yuma Basic (900+) Bifazial | €349 | No | Retailer → |
| r1200 | yuma.de — Yuma Basic (930) Deep Black | €349 | No | Retailer → |
| r1200 | yuma.de — Yuma Front 90° (900+) Bifazial | €369 | No | Retailer → |
| r1200 | yuma.de — Yuma Fence (900+) | €379 | No | Retailer → |
| r1200 | yuma.de — Yuma Flat (900+) Bifazial | €389 | No | Retailer → |
| r1200 | yuma.de — Yuma Front (900+) Bifazial | €389 | No | Retailer → |
| r1200 | yuma.de — Yuma Basic (1000+) Bifazial | €389 | No | Retailer → |
| r1200 | yuma.de — Yuma Basic (950) Deep Black | €389 | No | Retailer → |
| r1200 | yuma.de — Yuma Front (930) Deep Black | €389 | No | Retailer → |
| r1200 | yuma.de — Yuma Flat (930) Deep Black | €389 | No | Retailer → |
| r1200 | solago — Balkonkraftwerk 1000W/800W - Komplettset Flachdach/Boden | €399 | No | Retailer → |
| r1200 | solago — Balkonkraftwerk 1000W/800W - Komplettset Wandmontage | €399 | No | Retailer → |
| r1200 | yuma.de — Yuma Front 90° (1000+) Bifazial | €409 | No | Retailer → |
| r1200 | solago — Balkonkraftwerk 1000W/800W - Komplettset Gitterbalkon | €419 | No | Retailer → |
| r1200 | yuma.de — Yuma Balcony (900+) Bifazial | €419 | No | Retailer → |
| r1200 | yuma.de — Yuma Fence (1000+) | €419 | No | Retailer → |
| r1200 | solago — Balkonkraftwerk 1000W/800W - Komplettset Schrägdach | €429 | No | Retailer → |
| r1200 | yuma.de — Yuma Front (1000+) Bifazial | €429 | No | Retailer → |
| r1200 | yuma.de — Yuma Flat (1000+) Bifazial | €429 | No | Retailer → |
| r1200 | yuma.de — Yuma Flat (950) Deep Black | €429 | No | Retailer → |
| r1200 | yuma.de — Yuma Front (950) Deep Black | €429 | No | Retailer → |
| r1200 | yuma.de — Yuma Balcony (930) Deep Black | €429 | No | Retailer → |
| r1200 | solago — Balkonkraftwerk 900W mit flexiblen Solarmodulen ohne Speicher - Set | €449 | No | Retailer → |
| r1200 | Priwatt — Priwatt priBalcony Quattro | €529 | No | Retailer → |
| r1200b | Yuma x EcoFlow — Yuma x EcoFlow - 900W Balkonkraftwerk mit STREAM Ultra | €739 | Yes | Retailer → |
| r1200b | Yuma x EcoFlow — Yuma x EcoFlow - 1000W Balkonkraftwerk mit STREAM Ultra | €769 | Yes | Retailer → |
| r1200b | Yuma x Hoymiles — Yuma x Hoymiles - 1000W Balkonkraftwerk mit HiBattery 1920 AC | €849 | Yes | Retailer → |
| r1200b | Yuma x Jackery — Yuma x Jackery - 1000 W Balkonkraftwerk mit SolarVault 3 Pro | €949 | Yes | Retailer → |
| r1200b | Yuma x Jackery — Yuma x Jackery - 1000 W Balkonkraftwerk mit SolarVault 3 Pro MAX | €1149 | Yes | Retailer → |
| r1200b | Yuma x Anker — Yuma x Anker - 900W Balkonkraftwerk mit SOLIX Solarbank 3 PRO | €1179 | Yes | Retailer → |
| r1200b | solago — Balkonkraftwerk 1000W/800W mit Speicher Anker SOLIX 3 Pro - Set | €1199 | Yes | Retailer → |
| r1200b | solago — Balkonkraftwerk 900W mit flexiblen Solarmodulen mit Speicher Anker SOLIX 3 Pro - Set | €1199 | Yes | Retailer → |
| r1200b | Yuma x Anker — Yuma x Anker - 1000W Balkonkraftwerk mit SOLIX Solarbank 3 PRO | €1199 | Yes | Retailer → |
| r1200b | solago — Balkonkraftwerk 1000W/800W mit Speicher Anker SOLIX 3 Pro - Komplettset Flachdach/Boden | €1249 | Yes | Retailer → |
| r1200b | solago — Balkonkraftwerk 1000W/800W mit Speicher Anker SOLIX 3 Pro - Komplettset Wandmontage | €1249 | Yes | Retailer → |
| r1200b | solago — Balkonkraftwerk 1000W/800W mit Speicher Anker SOLIX 3 Pro - Komplettset Gitterbalkon | €1279 | Yes | Retailer → |
| r1200b | solago — Balkonkraftwerk 1000W/800W mit Speicher Anker SOLIX 3 Pro - Komplettset Schrägdach | €1289 | Yes | Retailer → |
| r1200b | Yuma x EcoFlow — Yuma x EcoFlow - 1000W Balkonkraftwerk mit STREAM Ultra X | €1299 | Yes | Retailer → |
| r400 | yuma.de — Yuma Basic (450+) Bifazial | €239 | No | Retailer → |
| r400 | yuma.de — Yuma Basic (500+) Bifazial | €259 | No | Retailer → |
| r400 | solago — Balkonkraftwerk 450W mit flexiblen Solarmodulen ohne Speicher - Set | €299 | No | Retailer → |
| r400 | Sunshare — Sunshare Balkonkraftwerk 400W Betonbalkon | €319 | No | Retailer → |
| r400 | solago — Balkonkraftwerk 450W mit flexiblen Solarmodulen mit Speicher Anker SOLIX 3 Pro - Set | €1099 | Yes | Retailer → |
| r800 | Entratek — Entratek Balkonkraftwerk 800W Komplettset | €279 | No | Retailer → |
| r800 | Kleines Kraftwerk — Kleines Kraftwerk 800W Balkonkraftwerk XL Komplettset | €309 | No | Retailer → |
| r800 | Priwatt — Priwatt priBalcony Trio | €429 | No | Retailer → |
| r800 | Sunshare — Sunshare Balkonkraftwerk 800W Betonbalkon | €529 | No | Retailer → |
| r800b | yuma.de — Sunshare Balkonkraftwerk mit Sunshare Glory 800W Betonbalkon | €879 | Yes | Retailer → |
| r800b | Anker — Anker SOLIX Solarbank 2 Pro Balkonkraftwerk 800W with Storage | €1249 | Yes | Retailer → |
Payback math
Simple payback only. No NPV, no IRR, no time-value-of-money. Adding those invites method arguments; simple payback is unimpeachable.
| Lever | Value | Why this way |
|---|---|---|
| Self-consumption rate | 60% | The share of solar output that offsets household load rather than exporting to grid with no credit. Real household distribution spans 40–90%; 60% is a defensible lower-middle bound. |
| Shading derate | 15% | Applied on top of PVWatts output to account for urban balcony obstructions (railings, surrounding buildings, partial overhangs). |
| Panel degradation | 0.5%/year from year 1 | Applied from month one. Actual panels degrade ~0.3%/year after year 1 with year-1 degradation negligible — we round up. |
| Energy price escalation | 0% (none modeled) | Electricity prices rise over time. We do not project forward; our math uses current prices throughout the panel’s 25-year life. Any future rate increases make payback faster than we claim. |
Math: monthly_savings = production_kWh × (1 − shading_derate) × self_consumption_rate × variable_displaced_¢_per_kWh. Cumulative savings per month with annual degradation applied. Payback month is the first month cumulative savings meet or exceed the product cost in CAD.
Data freshness
- Solar production (PVWatts): cached per region × reference system × orientation. Re-run on NSRDB version change (annual) or methodology change. Current dataset: NSRDB (as of 2026-04-16).
- Electricity rates: append-only records with effective_from / effective_to. New rate orders create new records; old records preserved for audit. Target refresh: quarterly audit + on notification of utility rate changes.
- Product prices: Currently manual — first 6 listings researched 2026-04-16. Planned automated refresh via Amazon PA-API and Shopify ingesters.
- FX rates: Approximate spot rate (€/CAD = 1.62) for MVP. Planned: Bank of Canada monthly average pulled per calendar month, versioned.
External sources cited
- NREL PVWatts v8 API documentation
- National Solar Radiation Database (NSRDB)
- Bank of Canada exchange rates
- Utilities Consumer Advocate — Alberta default rates
- EPCOR Edmonton Rate of Last Resort
- ENMAX Calgary Rate of Last Resort
- Rocky Mountain Solar — Alberta rate analysis
- Alberta Utilities Commission
- ENMAX distribution tariff schedules