Back to Blog
solar business24 min read

Solar CAC by Channel: A Calculation Guide

Calculate solar CAC by channel with traceable cost rules, mature customer outcomes, attribution versions, and a copy-ready comparison worksheet.

Akash Hirpara

Written by

Akash Hirpara

Co-Founder · SurgePV

Rainer Neumann

Edited by

Rainer Neumann

Editorial contributor · SurgePV

Published ·Updated

Answer

Calculate solar CAC by channel by dividing each channel's eligible acquisition costs for a fixed cohort by that cohort's mature acquired-customer count. Define cost inclusion, attribution, customer event, maturity, credits, cancellations, shared-cost allocation, and cutoff before computing. Compare channels only when those rules and the underlying markets and offers are sufficiently consistent.

A channel report can produce a precise customer acquisition cost while joining the wrong costs to the wrong customers. Paid search gets the media invoice. Referrals get a reward expense. Door-to-door gets commissions. Shared manager time, proposal support, cancellations, software, refunds, and late invoices remain in other accounts. The resulting channel ranking measures recording design as much as acquisition economics.

The calculation is simple only after the company defines what the numerator and denominator mean. The hard work is fixing a cohort, linking source records, selecting an outcome, allowing the cohort to mature, controlling attribution, and preserving cost that does not fit neatly into one channel.

This page owns that calculation contract. The broad solar customer acquisition cost guide covers benchmarks and channel context. The full-cost acquisition ledger explains event lineage and complete cost families. This article stays narrower: how to compute comparable channel views, validate the formulas, and avoid ranking channels from incompatible evidence.

This is an operating measurement method, not accounting, tax, privacy, advertising, employment, financial, or statistical advice. No channel benchmark, price, conversion rate, return, budget move, or growth result is asserted.

What does solar CAC by channel measure?

Solar CAC by channel measures the eligible acquisition cost assigned to one channel for a defined cohort divided by that cohort’s mature customer outcome under the same attribution policy. It does not automatically measure profitability, causation, customer quality, lifetime value, cash collection, project margin, or the result of moving future budget.

Use a full label instead of “CAC” alone:

Cost per [named outcome] for [admission cohort], attributed by [policy and version], observed through [cutoff].

“Cost per signed contract for accepted inquiries created in one market during the selected quarter, last-touch version three, observed through the maturity cutoff” can be audited. “Referral CAC this month” hides the outcome, cohort, attribution, and time allowed for later decisions.

The U.S. Small Business Administration’s financial-management guidance discusses bookkeeping, balance sheets, cost-benefit analysis, and accounting methods. It does not define solar CAC. It supports beginning with complete source records and responsible financial processes rather than a marketing dashboard alone.

Separate these views:

View Numerator Denominator Appropriate question Must not imply
Cost per accepted inquiry Eligible capture and intake cost Accepted source events What did admitted demand cost? Qualification, sale, or customer value
Cost per qualified opportunity Eligible channel and qualification cost Mature qualified opportunities What did usable sales work cost? Proposal, contract, or project outcome
Cost per signed contract Eligible acquisition cost Mature signed-contract events What did the defined sales outcome cost? Completion, cash, revenue, or margin
Cost per accepted handoff Eligible acquisition and pre-handoff cost Mature handoffs accepted by delivery What did usable sold work cost? Permit, installation, payment, or quality
Cost per completed project Eligible acquisition cost under policy Mature operational completions How does acquisition connect to a later project state? Cash collection, profit, or lifetime value
Cost per paid customer Finance-governed eligible cost Named mature payment event What does the selected finance view show? Universal accounting or tax treatment

Keep all useful rungs. A sales manager may need an earlier view before completed projects mature. A founder may need a later view before changing budget. One denominator cannot answer every decision.

Which costs belong in each channel numerator?

Include costs according to a documented acquisition-cost policy, not according to which dashboard can see them. Start with source totals for media, people, commissions, agencies, events, tools, proposal support, referral or partner payments, and other acquisition work. Mark each record direct, allocated, excluded, credited, reversed, pending, or unresolved with an owner.

The Internal Revenue Service’s business-expense guidance discusses expenses in United States federal tax context. A CAC policy does not decide deductibility, capitalization, payroll treatment, recognized revenue, financial-statement presentation, or tax. Preserve the official record and route those conclusions to qualified reviewers.

Build the numerator from source families

Use source documents, periods, and identifiers:

  • advertising platform invoices and credits;
  • agency, creative, media-buying, and campaign agreements;
  • lead, appointment, event, referral, and partner charges;
  • sales and marketing payroll, contractor, commission, and approved time records;
  • manager, sales-development, qualification, and follow-up work;
  • CRM, communication, analytics, scheduling, and sales-tool costs;
  • pre-sale site, design, modeling, proposal, and specialist support under policy;
  • refunds, chargebacks, reversals, credits, and later adjustments;
  • approved shared-cost pools and their allocation schedules.

Do not force every cost into a channel immediately. An unresolved pool is more honest than a precise assignment without a defensible driver. Publish the pool beside the channel results and explain whether the decision changes under plausible treatments.

Distinguish observed, allocated, and unresolved cost

An observed direct cost has a source record and valid channel or cohort link. An allocated cost begins with a source total and applies an approved driver. An unresolved cost has a source but lacks a supportable treatment at the cutoff. An excluded cost needs a reason and policy owner.

Treatment Required evidence Example question Reporting rule
Direct Source amount, service period, channel link, cohort link Did this invoice serve only this channel and cohort? Include without changing source value
Allocated Source pool, driver, units, version, approver Does the driver reflect the work supported? Show source total and channel shares
Unresolved Source record, missing decision, owner, due point Which channel or period can responsibly receive it? Keep separate and narrow conclusions
Excluded Source, policy reason, approver, review trigger Is it outside this decision or merely inconvenient? Disclose exclusion and sensitivity
Credit or reversal Original record, linked adjustment, date, policy Does it revise the original cohort or current period? Retain both records and treatment

Avoid allocation by convenience. Dividing every shared cost by lead count makes high-volume channels absorb more even when another channel consumes more manager, design, or proposal work. Allocating by labor hours can also mislead when time records are incomplete or tasks differ in skill and cost.

Choose the driver that best represents the supported work, document limitations, and test alternatives. If changing the driver reverses the channel decision, the evidence does not support a confident winner.

Which customer outcome belongs in the denominator?

Choose the denominator event that matches the management decision, can be identified in a responsible source system, and has had enough time to mature. Keep inquiry, opportunity, proposal, contract, handoff, completion, and payment states separate. Define duplicates, cancellations, reopened work, multi-site relationships, and late outcomes before counting.

The FTC’s consumer solar guidance discusses company, offer, agreement, and payment questions for shoppers. It does not define a private CAC denominator. It illustrates why a lead, signed agreement, financing event, installation, and customer payment are different states rather than interchangeable “wins.”

Write an event contract

For each denominator, record:

  • source system and object;
  • exact event or accepted state;
  • responsible owner;
  • required identity and project link;
  • eligible market, offer, route, and project type;
  • duplicate, merge, transfer, and re-entry rules;
  • cancellation, withdrawal, expiration, and reversal treatment;
  • admission period, maturity rule, and observation cutoff;
  • late-arriving event and closed-period revision policy.

One household can submit several inquiries. One opportunity can receive several proposals. One contract can cover several sites. One customer can buy a later battery or another project. Decide which object the channel acquired before joining cost and outcome records.

Apply cohort maturity

A young cohort has had less time to reach a later outcome. Comparing its current completed-project count with an older cohort can make it appear expensive even if later outcomes are still unknown. Keep immature records visible and wait for the defined maturity point before a final comparison.

Maturity is event-specific. An inquiry outcome can mature earlier than a completed project. Do not invent one universal number of days. Use company evidence, project types, markets, seasonal conditions, and responsible review. If the cohort is incomplete, label the view preliminary and restrict the decision it can support.

Cancelled and withdrawn work stays in the acquisition history under the approved policy. Removing its cost or record after failure lets CAC improve without changing acquisition performance. If an opportunity reopens, state whether earlier cost follows it, stays with the original cohort, or enters a reconciliation view.

How do you calculate and compare solar CAC by channel?

Calculate only after the cost policy, attribution version, cohort, denominator event, maturity, and cutoff are fixed. Reconcile source totals, apply validated direct links and allocation rules, preserve unresolved cost, count eligible mature outcomes, validate units, and divide. Compare channels only after checking market, offer, case mix, route, and evidence quality.

Use one declared formula

For channel (c) and cohort (k):

Channel CAC(c,k) = Eligible acquisition cost(c,k) / Mature acquired customers(c,k)

Define the components:

Eligible acquisition cost(c,k) = Direct cost + Allocated shared cost - Accepted credits and reversals

Keep unresolved cost outside the displayed result but beside it. If the mature customer count is zero, do not divide or display infinity as a management answer. Report “not calculable for this cohort and outcome,” preserve the cost, and state when the view may mature.

The calculation requires the same currency basis and compatible periods. If the company combines currencies, entities, or tax treatments, document the conversion source, time rule, and qualified finance review. Do not mix cost per lead, cost per contract, currency per customer, and cost per watt in one ranking without explicit conversions and decision reasons.

Follow this nine-step calculation run

  1. Name the decision. State whether the view supports source-data repair, channel testing, staffing, budget discussion, forecast input, or another bounded action.
  2. Freeze the cohort. Record admission event, date range, market, offer, project type, route, and exclusions.
  3. Freeze attribution. Name first-touch, last-touch, multi-touch, referral evidence, manual override, lookback, and policy version as applicable.
  4. Freeze the outcome. Define the denominator event, identity, eligibility, duplicates, reversals, maturity, and cutoff.
  5. Reconcile source cost. Match invoices, people cost, commissions, tools, services, credits, and shared pools to responsible records.
  6. Assign treatment. Mark each cost direct, allocated, unresolved, excluded, credited, or reversed with evidence and owner.
  7. Validate joins. Test cardinality so several touches, contacts, proposals, or invoices do not multiply one acquisition event.
  8. Recompute. Run an approved calculation with declared units and block division by zero, missing cost, or immature outcomes.
  9. Release with limits. Publish definitions, result, unresolved cost, exclusions, evidence quality, sensitivity, owner, and next review.

Copy-ready channel calculation worksheet

Field Channel A Channel B Channel C
Decision supported
Cohort admission event and dates
Market, offer, project type, route
Attribution model and version
Customer outcome event
Maturity rule and cutoff
Direct source cost
Shared source pools
Allocation driver and version
Credits and reversals
Unresolved and excluded cost
Eligible cost with currency units
Mature customer count with units
Calculated CAC
Data-quality limitations
Sensitivity to another allocation or attribution rule
Decision, owner, guardrails, stop condition

Have another reviewer trace sample rows backward from the worksheet to the cost and customer sources. Formula review cannot catch an invoice omitted before the calculation or a duplicated customer created by a many-to-many join.

Release the comparison with an evidence grade

A channel table needs a visible evidence state, even when every formula passes. Use complete, qualified, preliminary, or blocked as workflow labels that the company defines. Do not convert them into a universal scoring system.

A complete view has reconciled cost sources, a frozen attribution version, mature eligible outcomes, validated joins, declared units, and approved allocation treatment for the decision. Qualified means the result may support a narrower action because a known limitation is bounded and does not control that action. Preliminary means maturity or material records remain incomplete. Blocked means the team cannot responsibly compute or compare the view.

Put the reason beside the state. “Preliminary because the cohort has not reached the completed-project maturity point” helps a reader. A yellow dot does not. Name the action that remains allowed, the action prohibited, the evidence owner, and the next refresh trigger.

Use a release record:

Release field Required entry
Report identifier and calculation version
Channel, cohort, outcome, maturity, and cutoff
Cost policy, attribution policy, and allocation versions
Source reconciliation status
Join and duplicate tests
Unresolved cost and missing outcome records
Evidence state and reason
Permitted decision and prohibited inference
Responsible owner and reviewers
Refresh event and superseded report

The solar sales KPI guide provides a wider measurement contract for funnel events and decision ownership. Keep the CAC calculation as one governed view inside that system. A dashboard tile should link to the release record, not replace it. When a source, definition, attribution model, allocation driver, or cutoff changes, issue a new version and show whether historical comparisons remain valid.

Which mistakes make one channel look artificially cheap?

A channel looks artificially cheap when its people, commissions, tools, proposal work, shared services, failed outcomes, late invoices, or reversals sit elsewhere, or when immature contracts inflate its denominator. Attribution leakage, duplicate joins, mixed markets, changed policies, and missing values treated as zero can create the same false advantage.

Review the boundary before discussing the decimal:

Failure Apparent result Mechanism Control
Media-only numerator Paid channel appears inexpensive Labor, agency, tool, commission, or proposal cost is elsewhere Reconcile all policy cost families
Signature called customer CAC appears lower Later cancellations and delivery failures remain immature Keep denominator ladder and maturity
Lost records deleted Cohorts improve over time Consumed cost disappears with the outcome Preserve failures and reversal policy
Shared cost spread by leads High-volume channel absorbs cost Driver may not reflect supported work Test another evidence-based driver
Last click wins Final digital touch receives all credit Earlier referral, offline, or branded demand disappears Retain touches and attribution versions
Many-to-many join Counts and cost become unstable Contacts, proposals, and invoices multiply rows Declare keys and validate cardinality
Missing equals zero Report appears complete Unknown cost or outcome becomes none Preserve missingness and restrict decision
Mixed case types One channel appears worse It receives harder markets or projects Segment or qualify comparison
Policy changed silently Trend appears favorable Definitions, allocation, or maturity moved Version policy and reconcile history
Observed difference called causal Budget shift seems certain Competing explanations remain Run a bounded test with guardrails

The Federal Trade Commission’s advertising guidance for small businesses says advertising must be truthful and non-deceptive and that objective claims need evidence before dissemination. A private CAC report does not establish that a channel message is compliant, substantiated, or responsible. Keep content and claim review in its own lane.

Privacy decisions also need separate authority. NIST describes its Privacy Framework as a voluntary tool for identifying and managing privacy risk. It does not establish permission, lawful processing, retention, deletion, profiling, or legal compliance. A technically joinable lead, household, proposal, and customer record is not automatically appropriate to combine.

Illustrative calculation specification

Illustrative method, not a customer case, benchmark, channel result, or budget recommendation. A solar company wants to compare three channels using cost per accepted operational handoff. It freezes one market and offer, admits inquiries during the same cohort period, and waits until the approved handoff-maturity cutoff.

The worksheet includes each channel’s direct source cost. A shared sales-management pool is allocated using an approved driver based on retained work records. Proposal support is linked to the opportunity and selected proposal revision. Cancelled contracts retain their cost but do not enter the accepted-handoff denominator. An unresolved agency invoice remains outside the computed numerator and appears in a separate sensitivity row.

The calculation engine validates that eligible cost is currency, the denominator is a nonnegative customer count, and division occurs only when the mature count is greater than zero. It recomputes each result from the retained inputs. The reviewer then tests whether changing the shared-cost driver or attribution version reverses the apparent channel order.

If the decision reverses, the output is not “pick the winner.” It is “improve allocation or attribution evidence before moving budget.” If the result remains stable, the company can still run a bounded future test because an observed historical difference is not causal proof.

Connect proposal work to the channel record. Trace one acquisition cohort from source evidence through the accepted design and proposal revision before allocating pre-sale technical cost.

Explore solar proposal workflows

Where SurgePV fits in a CAC calculation

SurgePV supports 3D roof modeling, solar array layout, shading analysis, energy-yield and financial modeling, electrical workflow support, bill-of-materials output, and proposal generation. Those functions can help identify the design and proposal objects associated with a controlled pre-sale workflow.

SurgePV does not establish media cost, channel attribution, consent, customer identity, CRM events, payroll, commissions, accounting treatment, contract status, project completion, cash, revenue, margin, or full CAC. Those records remain with responsible systems and reviewers.

Use the solar proposal workflow to examine whether proposal support can be traced to an opportunity, site, input set, revision, and release state. Do not allocate every design subscription or employee hour to acquisition without an approved source total, driver, period, and use boundary.

Results depend on source data, assumptions, equipment models, configuration, and review. Confirm product access, implementation, pricing, and commercial terms through a written quote. Qualified finance, accounting, tax, privacy, employment, advertising, contract, and statistical review remains necessary where applicable.

Frequently Asked Questions

What is the formula for solar CAC by channel?

For one defined cohort, channel CAC equals eligible acquisition cost attributed to that channel divided by the mature acquired-customer count attributed under the same policy. Publish the numerator, denominator event, maturity rule, cutoff, exclusions, unresolved cost, allocation method, attribution version, and units beside the result.

Should solar CAC use signed contracts or completed installations?

Use the outcome that matches the decision and name it precisely. Cost per signed contract can support a sales-stage review, while a later completed-project or paid-customer view supports a different question. Keep each denominator separate, apply maturity rules, and never relabel an earlier event as a later customer outcome.

How should shared solar sales costs be allocated by channel?

Start with the source total, choose a driver that reflects the supported work, document the owner and version, and show unresolved cost separately. Test whether another plausible driver changes the decision. Allocation is policy, not observation, so qualified finance and accounting reviewers should approve material use.

Can solar CAC channels be compared across different markets?

Only with visible qualification. Geography, offer, project type, channel route, team coverage, season, customer mix, attribution, maturity, and cost treatment can differ. Segment where possible and preserve unresolved differences. A lower observed channel CAC does not by itself prove that moving budget will cause a better result.

Does SurgePV calculate complete customer acquisition cost?

No. SurgePV can support the design and proposal portion of a controlled solar workflow, including modeling, electrical work, bill-of-materials output, and proposals. Complete CAC also requires media, CRM, identity, labor, commission, accounting, finance, outcome, and allocation records owned by the responsible business systems and reviewers.

Trace proposal work before allocating it to CAC

Bring one acquisition cohort and its proposal revisions. See how connected design records can support a more auditable pre-sale workflow.

Book a SurgePV demo

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.

About the Contributors

Author
Akash Hirpara
Akash Hirpara

Co-Founder · SurgePV

Akash Hirpara is identified by SurgePV as a company co-founder. His SurgePV author page lists only role information that can be tied to the public profile below; education, certifications, project totals, financial results, speaking engagements, and media appearances are not asserted without retained evidence.

Editor
Rainer Neumann
Rainer Neumann

Editorial contributor · SurgePV

Rainer Neumann is credited as an editorial contributor on SurgePV content. This profile does not assert engineering credentials, project totals, software-testing experience, education, speaking engagements, or media citations because independent verification evidence is not retained in the publication record.

Get Solar Design Tips in Your Inbox

Join 2,000+ solar professionals. One email per week - no spam.

No spam · Unsubscribe anytime

Book Free Demo

Choose which optional technologies SurgePV may use. Essential storage remains active for security and requested features.