Answer
An inspectable solar ROI experience needs eight signals: a named producer, input provenance, a defined calculation boundary, visible energy-model assumptions, comparable costs and benefits, traceable sensitivities, a review path, and privacy and accessibility controls. Label the result’s purpose and period, distinguish scenarios from quotes, preserve sources and defaults, and let another reviewer reproduce the case. These controls do not establish investment suitability or approval.
A solar ROI result can be arithmetically correct and still be untrustworthy. The formula may use a price from one system, production from another revision, a tariff without an effective date, and a finance assumption the visitor never saw. Put the result in a polished chart and those mismatches become harder, not easier, to notice.
SurgePV’s generation and financial modeling page provides the relevant product scope. It does not establish that a particular public ROI experience has correct sources, calculations, or project review.
Trust in an online ROI experience comes from inspectability. A visitor should be able to see who produced the scenario, which inputs control it, where they came from, what the calculation includes, what remains uncertain, and what review happens next. Confidence comes from visible boundaries rather than a large number with extra decimal places.
The eight signals below apply to public calculators, guided forms, proposal portals, and interactive financial explainers. They do not establish that a particular investment is suitable or profitable. Financial, tax, legal, engineering, utility, and contractual questions require the responsible sources and advisers for the project and jurisdiction.
Trust signal 1: a named producer and a defined purpose
The result should identify the organization responsible for the experience and the limited job the output performs. “Educational solar economics explainer,” “preliminary project screen,” and “reviewed proposal scenario” are different products. If the page does not name the stage, a reader may mistake a polished preliminary scenario for a reviewed offer.
State who maintains the model, how the visitor can report an error, and which market or project types it covers. If a software vendor supplies technology but an installer controls the offer and inputs, make that relationship clear. If the tool shows only the publisher’s products or services, disclose the commercial context rather than presenting it as an independent market comparison.
The FTC’s advertising guidance sets the broad U.S. expectation that claims be truthful, not misleading, and substantiated where required. Other jurisdictions have their own rules. The practical design point travels well: review the full impression created by the title, chart, imagery, badges, caveats, and CTA, not only the literal accuracy of a footnote.
Place identity and purpose where the scenario begins and where a saved result can be read later. A downloaded PDF may circulate without the landing page. It needs the producer, creation date, model or scenario version, recipient or project identifier where appropriate, and status label inside the artifact.
Do not use authority badges without a source record. A regulator logo, certification mark, utility emblem, or association name can imply approval. Link legitimate relationships to current first-party evidence and follow the mark owner’s rules. Omit decorative authority.
Trust signal 2: input provenance visible beside the input
Every material input should carry a source status. A visitor-entered bill value, a value parsed from an uploaded document, a model default, a public data field, and a reviewer-confirmed project fact do not have equal authority.
Use labels a customer can understand:
| Status | Meaning | Interface treatment |
|---|---|---|
| Supplied | Entered or uploaded by the visitor | Show the value, unit, period, and editable source |
| Inferred | Derived from a location or another field | Name the method and allow correction |
| Default | Inserted because evidence is absent | Highlight it and explain the consequence |
| Reviewed | Checked against an identified project source | Name the reviewer role and review date |
| Required next | Needed before the result can serve a later purpose | Keep it in the result as an open item |
Do not collapse these states into a green check mark. “Complete” may mean only that every form field contains a value. It does not mean the value is current, representative, or verified.
Preserve units and dates. A utility amount without the billing period is weak evidence. An equipment price without included scope is ambiguous. A tariff without jurisdiction, customer class, and effective date may be inapplicable. A default degradation or escalation input without source and rationale is an assumption, even if it is common in other tools.
Let the visitor open an assumption register from the result. Put the most decision-changing inputs in the main view and the rest in a readable table. Do not hide them behind a tooltip that cannot be reached with a keyboard or carried into the saved report.
Which inputs must an online solar ROI result show beside the answer?
An online solar ROI result must show the inputs that define its investment, return, timing, and project boundary beside the answer. At minimum, identify energy-model status, electricity-use basis, tariff and export treatment, system price and scope, finance or ownership terms, operating costs, incentives, analysis period, source dates, and every default that could materially change the reader’s decision at that moment.
“Beside the answer” does not mean squeezing the full model into a footnote. Give the visitor a compact summary of the controlling assumptions, with a path to the complete register. Keep supplied, inferred, default, and reviewed inputs visually distinct. A result that requires the reader to hunt through a methodology page for its price or tariff basis is not inspectable at the decision point.
Use a disclosure table organized by consequence:
| Input group | Main-view disclosure | Detail record | Hold or restrict when |
|---|---|---|---|
| Project and design | Site, configuration, capacity status, and design revision | Geometry, equipment, shading, losses, and reviewer | Financial output cannot be tied to one energy scenario |
| Electricity use | Source period, meter or site scope, and known changes | Bill, interval-data, and load-change provenance | Usage cannot be tied to the intended customer or site |
| Tariff and export | Jurisdiction, customer class, source, and effective date | Charge treatment, export rules, and applicability notes | Current controlling terms are unknown or expired |
| Price and scope | Price source, included work, and excluded categories | Offer revision, taxes, fees, site work, and other scope | The displayed investment omits an unresolved material category |
| Ownership and finance | Ownership structure and terms used | Payment timing, fees, end conditions, and responsible source | The tool implies approval or current availability without evidence |
| Incentive and tax treatment | Included, excluded, or user-confirmed status | Jurisdiction, eligibility source, date, and reviewer | Eligibility has been inferred beyond the source |
| Operating assumptions | Maintenance, replacements, degradation, and other modeled items | Source, timing, and sensitivity | A silent zero or default changes the conclusion |
| Result definition | Formula name, period, currency basis, and rounding | Validated calculation specification and code version | Another reviewer cannot reconstruct the number |
Link energy inputs to the assumptions standardized in solar production analysis. Financial disclosure begins after production provenance is visible; it cannot repair an energy number detached from weather, geometry, shading, equipment, losses, and model version.
The interface should answer three questions without opening a modal: Which case am I seeing? Which uncertain input controls it? What evidence would promote it to a reviewed status? Put long source detail and calculation specifications in an accessible expandable record or saved artifact, but preserve those three answers in the result summary.
Do not use a green check to collapse different reviews. A parsed bill, selected tariff, model run, finance term, and qualified tax review are separate states. Name the role and date when a field is reviewed. If the organization cannot verify a jurisdiction-sensitive input, exclude it from the main scenario or make the user-confirmed assumption unmistakable.
The main result should also name exclusions. Silence around roof work, finance fees, operating costs, replacements, taxes, or export treatment can look like zero. The page need not include every possible category in every project, but it must show which applicable categories were included, excluded, or remain unresolved.
Trust signal 3: a calculation boundary that another person can reconstruct
“ROI” is not self-defining. The numerator may represent savings, net cash flow, tax-adjusted return, or another measure. The denominator may include equipment, installation, finance fees, replacements, or only an advertised price. The analysis may end at an arbitrary year or include a residual value.
Write the formula in plain language and define every term. Then implement calculations in tested code with explicit units. Store a calculation specification with input provenance, formula identifier, result, rounding rule, and validation status. Never rely on a model or copywriter to do arithmetic and publish it as fact.
The public interface does not need to resemble a spreadsheet, but it should answer:
- Which costs enter the investment?
- Which benefits and cash flows enter the return?
- When does each value occur?
- How are finance, tax, incentives, export, and operating items treated?
- What analysis period and end condition apply?
- Which result is displayed and how is it rounded?
If the tool cannot answer these questions, call the output a rough educational illustration rather than ROI. Better naming prevents false comparison with a proposal or adviser model that uses a different boundary.
Keep return measures distinct. A cumulative net-return-to-investment percentage is not an annualized return or IRR, and simple payback is not ROI. Identify project versus owner-equity cash flows and do not mix discounted benefits with an undiscounted cost denominator without declaring the method. A zero investment denominator makes a percentage ratio undefined; show an explanation rather than an infinite return.
Compare bills without and with the project under the same declared baseline, including applicable fixed and demand charges. If export credits already reduce the with-project bill, count them once. Degradation and downtime may reduce modeled production; they should not also become invented cash expenses.
Version the method. When a tariff rule, incentive treatment, formula, or default changes, preserve the earlier scenario and identify the new version. A sales representative should not reopen a saved result and unknowingly show a different answer from the one the customer received.
Trust signal 4: an energy model with visible physical assumptions
Financial output depends on energy output, and energy output is modeled from site, weather, geometry, shading, equipment, configuration, and losses. A trustworthy financial experience does not begin with money while treating energy as an unexplained constant.
The PVWatts Calculator from the National Laboratory of the Rockies (NLR, formerly the National Renewable Energy Laboratory/NREL) demonstrates a public production model with user inputs and documented assumptions. It is useful as an educational reference, not as proof that another calculator uses the same method or that its output applies to a particular project. Identify the actual model, data, and version used by the experience.
Show whether geometry comes from user entry, imagery, drawings, a site visit, or a reviewed design. Show whether shading is modeled, approximated, or not included. Identify equipment and loss assumptions at the level needed to understand the scenario. If the visitor changes capacity without checking roof feasibility, label the case as a hypothetical capacity scenario.
Keep annual energy, bill impact, and cash flow separate. Energy does not translate into savings without the site’s usage timing, tariff, export treatment, and other commercial assumptions. A chart can place these layers in sequence so the visitor sees where uncertainty enters.
Results depend on source data, assumptions, equipment models, configuration, and review. Outputs support design and documentation workflows but do not replace approval by the responsible engineer, authority, lender, insurer, or utility.
Trust signal 5: costs and benefits shown on the same scope
A tool can make a project appear attractive by showing a broad set of benefits against a narrow set of costs. The reverse can also happen. Trust requires a scope table that lists included, excluded, and unresolved categories.
Depending on project and ownership, the table may cover quoted system scope, site work, interconnection, engineering, permitting, electrical work, financing charges, taxes, insurance, monitoring, operations, maintenance, replacements, roof work, decommissioning, energy purchases, export credits, incentives, and residual value. The list is not universal. Its job is to prevent silence from being mistaken for zero.
The FTC consumer solar article advises U.S. consumers to examine contracts, payment arrangements, savings claims, and installer information. Use the controlling offer, lender, utility, regulator, tax authority, and professional advice for the actual project. A calculator should link to those sources when it relies on their terms.
Avoid inserting a current incentive merely from location. Eligibility can depend on owner, taxpayer, project, technology, placed-in-service timing, and other conditions. State jurisdiction and observation date. When the tool cannot evaluate eligibility, present an input the visitor can confirm with the responsible source or exclude the benefit from the main case.
Scope comparison matters when the page displays multiple options. Normalize the basis first. An ownership option and a service agreement may allocate costs, maintenance, incentives, risk, and end-of-term rights differently. One ROI figure is unlikely to describe both fairly without careful definition.
Keep financial scenarios connected to design assumptions
Explore how SurgePV supports energy and financial modeling alongside solar design, shading, electrical workflows, bills of materials, and proposal generation.
Explore financial modelingTrust signal 6: sensitivity instead of certainty theater
Many inputs are uncertain, but a thick range around the final number does not automatically explain that uncertainty. Show how the result responds to named assumptions. The visitor should see which changes matter and which barely move the decision.
Choose sensitivities because the evidence is weak or the variable is decision-relevant. Examples may include system price, modeled energy, load profile, tariff treatment, export compensation, finance terms, operating cost, degradation, energy-price change, replacement timing, or analysis period. Do not add every slider available in the code.
Use three traceable cases when useful: a stated base scenario and two clearly defined alternatives. Avoid “best,” “expected,” and “worst” unless the evidence supports those probability labels. “Higher export value assumption” is more honest than “optimistic case.”
Do not assign probability without a validated method and evidence. A scenario shows what follows from inputs; it does not say how likely those inputs are. A reviewer can discuss the source and uncertainty separately.
Make the sensitivity visible in the saved result. If a salesperson shares only the favorable case while the visitor explored several, the experience has failed at handoff. Record the selected case and the differences from the base.
Where the outcome changes sign or recommendation under a plausible input change, elevate that issue. The honest result may be “this decision depends on tariff treatment that remains unverified.” That is useful analysis even though it does not produce a persuasive headline.
Trust signal 7: a review path tied to the result’s status
A CTA should continue the analysis rather than erase its limitations. “Review this scenario with the supporting bill, site information, and current offer” is a clear next step. “Lock in your savings” implies an outcome the model cannot guarantee.
Define what the reviewer will do. They may verify usage records, confirm tariff fields, update site geometry, select equipment, obtain a current price, examine financing, or route technical and regulatory questions. Do not imply that one salesperson supplies engineering, tax, legal, lending, insurance, or utility approval.
The DOE homeowner guide presents solar as a sequence of assessment, bids, financing choices, and contract review. Map the online result into that real sequence. A preliminary result should prepare questions for the next stage rather than encourage the visitor to skip it.
Pass the complete scenario into the review record: model version, supplied sources, defaults, calculations, sensitivity viewed, missing items, and result shown. The customer and reviewer should be looking at the same case. If the representative must rebuild it from a lead note, errors and selective retelling become more likely.
Give the visitor a no-sales option where appropriate. They may save the assumptions, consult an adviser, or gather a document before contact. An educational tool that respects that stage can be more credible than one that makes every path end in urgency.
Trust signal 8: privacy and accessibility built into the experience
ROI tools may collect addresses, bills, account identifiers, income-related finance inputs, business operations, and contact details. Each field needs a purpose and data-flow review. Do not collect a detailed financial profile merely because the form software permits it.
The NIST Privacy Framework is a voluntary risk-management tool, not a privacy certification or proof of legal compliance. It offers a structure for identifying and managing privacy risk. Apply it to the actual implementation with qualified review. Map collection, inference, storage, access, vendors, analytics, retention, deletion, and incidents. Keep sensitive values out of advertising pixels, URLs, session replay, and routine email.
Explain automated processing and human review. Let visitors correct extracted bill values. Provide a path to delete or update information under company policy and applicable law. Separate delivery of a requested result from permission for unrelated promotion.
Accessibility affects financial truth. The W3C forms tutorial covers labeling, grouping, instructions, validation, and feedback. A person using a keyboard or screen reader must be able to discover defaults, errors, changed results, and qualifications. A chart needs a readable text equivalent. Color cannot be the only signal for favorable or unfavorable cases.
Test zoom, narrow screens, high contrast, reduced motion, and interrupted sessions. Confirm that a qualification beside a desktop chart does not move below the CTA on mobile. Allow the user to return to an earlier input without losing the source record.
Privacy and accessibility are not separate trust badges. They determine whether a person can inspect and control the model that is making a financially meaningful claim.
Audit the complete impression with controlled cases
Create test cases with known inputs and calculate expected outputs in code. Include zero values, missing periods, negative or unusual cash flows where supported, unit changes, long text, unsupported locations, and expired source data. Confirm that the interface refuses to create a result when the formula boundary is invalid.
Then run an independent claim extraction over the rendered experience. Find every number, percentage, date, superlative, regulatory statement, performance claim, and generalization. Bind each one to a source, validated calculation, or approved first-party fact. Remove or qualify orphans.
Review charts for axis choices, truncation, cumulative versus annual labels, nominal versus real values, currency, and analysis dates. Review tables for scope equivalence. Review the saved report, email, CRM record, and salesperson view, not just the landing page.
Conduct comprehension testing with target users. Ask them what the result proves, which inputs came from them, which were defaults, what could change the output, and what happens after the CTA. If they call a preliminary scenario a quote or guaranteed savings, fix the design even if the disclaimer is technically present.
Finally, establish expiry. Tariffs, incentives, equipment, pricing, and finance terms can change. Each volatile claim needs a source owner and refresh trigger. When a source expires, stop or qualify the affected output rather than leaving the old value active.
How should teams test an online solar ROI experience before launch?
Teams should test a solar ROI experience with controlled, labelled scenarios whose inputs, units, formulas, and expected software outputs are retained. Cover ordinary, missing, zero, unsupported, expired, correction, accessibility, privacy, and handoff states. Independently extract every displayed claim afterward. Launch only when another reviewer can reconstruct each result and the visitor can distinguish a scenario from a quote or guarantee.
Testing starts with the promise, not the calculator screen. Save the entry ad or page, headline, producer disclosure, result label, CTA, and mobile presentation. The complete impression must describe the same stage. A preliminary model advertised as an “instant guaranteed return” is already defective even if its arithmetic passes.
Use this fail-fast sequence:
- Define the scenario purpose, market, currency, analysis boundary, and model version.
- Create labelled fictional inputs with units and provenance types. Do not publish them as customer facts.
- Compute derived values through the approved calculation code and retain its actual output.
- Test missing, zero, expired, malformed, and unsupported inputs without silently inserting replacements.
- Inspect every chart, table, label, qualification, tooltip, saved report, and mobile layout.
- Independently list the factual claims in the rendered result and resolve each unsupported or out-of-scope claim.
- Test correction, deletion, consent, keyboard operation, screen-reader output, zoom, and interrupted sessions.
- Submit the case into the CRM or review workflow and ask the receiving person to reproduce the scenario.
- Record the release or hold decision, defect owner, retest evidence, and source-expiry triggers.
Illustrative workflow example, not a customer result: A controlled case uses a visitor-supplied usage record, a clearly named preliminary production scenario, an offer revision, and a tariff source that has passed its review date. The tool must stop or visibly restrict the financial result because the tariff input is expired. It must not keep the old value simply because the code can calculate with it. The test record shows the expired source, affected output, owner, and recovery path.
The example tests governance rather than an attractive number. No result is needed to prove the behavior. If a numerical case is used, every derived value needs a validated calculation specification with source-bound inputs, declared units, formula identifier, script output, rounding, and validation state.
| Test layer | Evidence to retain | Blocking defect |
|---|---|---|
| Promise | Entry message, commercial disclosure, output label, and CTA | Page implies approval, profit, quote, or guarantee beyond status |
| Inputs | Values, units, sources, dates, defaults, and review states | A material input lacks provenance or can no longer apply |
| Calculation | Formula specification, code version, test output, and rounding | Displayed derived number cannot be reproduced |
| Presentation | Main result, assumptions, sensitivity, exclusions, and mobile view | Qualification is hidden or chart changes the meaning |
| Data handling | Notice, consent, access, vendor flow, retention, and deletion result | Sensitive data reaches an undeclared or uncontrolled destination |
| Handoff | Scenario identity, visitor choices, missing items, and receiving owner | Staff rebuild a different case or see only a lead score |
Test accessibility as part of financial truth. A screen-reader user needs the changed result and its reason after editing an assumption. A keyboard user needs access to defaults and source detail. A text alternative must describe the meaning of a chart, including case, unit, time boundary, and qualification, rather than repeating its title.
After launch, retain the controlled cases as regression tests. Any change to source data, formula, default, chart, copy, form, CTA, CRM mapping, or consent component can alter the complete claim. A code-only test suite will not catch the marketer who moves the limitation below the booking button.
Give every assumption an operational owner
A model can have excellent disclosure on launch day and decay quickly when nobody owns its inputs. Assign roles for energy modeling, commercial scope, tariff and incentive sources, finance logic, privacy, accessibility, claims, and customer response. One person may hold several roles in a small company, but the decisions still need names and review dates.
Create an assumption register that links each public field to its source, jurisdiction, effective date, expiry, model location, output affected, and responsible reviewer. Add a stop behavior for expiry. A volatile input should not continue silently because the interface still loads.
Change control matters beyond the calculation code. A copy edit can turn “modeled energy” into “energy production.” A designer can move the qualification away from the chart. A salesperson can alter the CTA. Include copy, layout, email, saved report, and CRM mapping in the release record.
Review support tickets and correction requests as model evidence. Repeated confusion about one assumption may show that its label is technically present but practically invisible. Fix the explanation, not the customer. Record the change and test whether the next group can interpret it.
Use the broader commercial solar ROI calculator guide to examine project-level input categories and review roles. The public experience discussed here has a narrower job: it must show enough of that underlying discipline for a visitor to understand the scenario before sharing contact or project information.
At handoff, the reviewer should be able to reproduce the public case, identify every default, and state which evidence would promote it to the next status. If that cannot happen, the organization owns a lead form with financial decoration, not a governed ROI experience.
When should an online solar ROI result be held from release?
An online solar ROI result should be held when its producer, scenario, energy basis, price scope, tariff, finance terms, incentive treatment, calculation, or review status cannot be identified and reproduced. Also hold results with expired sources, hidden defaults, unresolved claim orphans, misleading charts, broken consent, inaccessible qualifications, or a handoff that loses the actual case the visitor first saw online.
A hold applies to the affected output, not necessarily the entire website. The organization can continue offering an educational checklist while a financial source is under review. It can show supplied inputs without publishing the derived result. Narrowing the output is often safer and more useful than taking the whole experience offline or letting a stale number remain.
Use a release-or-hold record tied to the exact scenario:
EXPERIENCE AND VERSION:
PRODUCER AND COMMERCIAL RELATIONSHIP:
SCENARIO ID AND OUTPUT STATUS:
ENERGY-MODEL SOURCE AND REVISION:
USAGE, TARIFF, PRICE, AND FINANCE SOURCES:
INCENTIVE OR TAX TREATMENT:
CALCULATION SPECIFICATION AND VALIDATION:
MATERIAL DEFAULTS AND EXCLUSIONS:
SENSITIVITY CASES SHOWN:
CLAIM-BINDING STATUS:
PRIVACY AND CONSENT REVIEW:
ACCESSIBILITY REVIEW:
SAVED REPORT AND CRM PARITY:
STATUS: RELEASE / RELEASE WITH VISIBLE LIMITATION / HOLD
DEFECT AND AFFECTED OUTPUT:
OWNER, EVIDENCE REQUIRED, AND RETEST DATE:
SOURCE EXPIRY AND STOP BEHAVIOR:
Treat each of these as a hold trigger: the current output cannot be recreated from retained inputs; a price or tariff has no applicable date; an incentive is included without a responsible eligibility basis; a formula changed without versioning; the main chart omits a material scope difference; the mobile CTA appears before the qualification; or the receiving staff sees a different scenario.
The electricity-usage intake framework provides a practical upstream check for source periods, units, meter scope, missing records, and planned load changes. A financial result should not outpace the status of the usage evidence feeding it.
Close the hold at the origin. A stale tariff needs a reviewed source update. A broken calculation needs a new validated specification and regression result. A hidden default needs interface and saved-report changes. A lost CRM scenario needs handoff repair. Editing the disclaimer alone does not fix any of those defects.
Qualified reviewers retain their roles. Software can preserve sources, scenarios, and decisions, but it cannot approve engineering, utility, tax, finance, legal, insurance, or contract questions. The release record should show which review is complete, which remains outside the tool, and what the visitor may responsibly do with the current result.
A compact release standard
An online solar ROI experience is ready for public use only when another person can reconstruct the displayed result from retained inputs and code, the visitor can distinguish evidence from defaults, all material scope choices are visible, and the next reviewer receives the same scenario.
The page should identify its producer and commercial relationship, preserve dates and units, show calculation and energy-model boundaries, expose sensitivities, explain privacy and accessibility choices, and avoid an outcome claim that exceeds the evidence. These are not decorative trust signals. They are the working parts of a reviewable model.
Treat the result as a decision record. If the experience cannot preserve how it arrived at the number, it should not present the number with authority.
Review a connected solar financial workflow
Book a guided SurgePV demo to discuss energy and financial modeling connected with roof, array, shading, electrical, bill-of-materials, and proposal workflows.
Book a guided demoFrequently Asked Questions
What does solar ROI mean in an online calculator?
ROI is a relationship between a defined return and a defined investment over a stated boundary. A solar calculator must identify which cash flows, costs, dates, ownership terms, and end value it includes. Without that definition, two tools can display different ROI figures from the same project inputs while both appear precise.
Should a solar ROI tool show one result or a range?
Show the result format that the evidence supports. A single scenario can be useful when every assumption is visible, while sensitivities or multiple scenarios reveal which uncertain inputs control the decision. Do not create an arbitrary range for reassurance. Let users compare traceable cases and explain that actual outcomes can differ.
Can an online solar ROI result be treated as a quote?
No, unless the company expressly issues it as a current written quote under its actual contracting process. Most public tools provide an educational screen or preliminary scenario. Label that status near the result and identify the design, price, tariff, finance, incentive, site, and approval information still requiring review.
Which assumptions matter most in a solar ROI model?
Material assumptions depend on the project and may include system price and scope, modeled energy, load timing, tariff and export treatment, energy-price changes, degradation, operating costs, finance, taxes, incentives, ownership, replacements, and analysis period. The interface should expose the inputs that can change the decision rather than burying them in a methodology page.
How should an installer review online solar ROI claims?
Test the complete impression from entry page through result, not the formula alone. Verify source dates, units, defaults, calculations, chart scales, qualification placement, mobile layout, and CTA language. Recalculate controlled cases in code, inspect missing-data paths, and confirm that the handoff preserves the exact scenario the visitor saw.
Sources
Primary research and reference material used for this desk-research article.
Where this fits
This article is part of SurgePV's Solar Business & Operations hub, which works through the topic from first principles to the decisions a project team actually has to make.

