What this is — and what it isn’t
The Eagle’s Eye scores residential solar installers, finance companies, and dealer networks on five factual subject categories drawn from public records, then rolls them up into a single letter grade and prescriptive tier label. The goal is to surface enforcement, financial, and complaint signals a homeowner can use before they need a warranty repair, a contract review, or a payoff.
Grades are deterministic outputs of public-record inputs. They are not editorial opinions, and they are not findings of legal liability.
A grade reflects what enforcement, bankruptcy, and statutory data we can identify in publicly available records as of the date listed on each report card. It is not a court ruling, an indictment, or a determination of guilt. Companies named in this database have, in many cases, settled cases on a no-admission-of-liability basis or are still defending themselves in active proceedings. The grade is a research tool, not a verdict.
If a fact in your company’s report card is wrong, challenge the report card and we will review the underlying source promptly.
Inputs (data sources)
- State research file. Primary-source verified state Attorney General actions, named defendants, settlements, statutes, dates, and multi-state operator footprints. 29 states have named AG enforcement; 50 states + DC are represented. Maintained by hand from primary sources (AG press releases, court dockets, settlement filings).
- Manual overrides. Facts not in the state research file: bankruptcy filings, finance-company federal actions, parent-company patterns. Each entry is supported by a public record (court filing, press release, settlement) that will be linked inline on the report card.
- Alias map. Normalizes defendant string variants to canonical company names (“Vivint Solar Inc. (Sunrun subsidiary)” → “Vivint Solar”).
- Deny list. Defendant strings that are not corporate entities (individual people’s names, descriptors like “Pink Energy founders”, “four solar lenders”) are filtered out before scoring.
The Five Subject Categories
Each company is scored 0–100 on five categories. Each category has its own deterministic formula. Weights are listed alongside.
1. State AG Compliance Record · weight: 22%
score = 100 score -= 25 × (number of named AG actions) score -= min(25, 5 × total settlement dollars in millions) score -= 10 × (number of distinct AG public consumer warnings) floor at 0
- Each AG lawsuit, investigation, or criminal indictment costs 25 points.
- Settlement-dollar deduction is capped at 25 points total (one offense, not two).
- Public consumer alerts (AG warnings, not lawsuits) cost 10 points each.
2. Federal Compliance — CFPB / FTC · weight: 17%
score = 100 score -= 25 × (CFPB enforcement actions) score -= 25 × (FTC enforcement actions) score -= 15 × (federal class action lawsuits) floor at 0
- Federal regulator action weighted equal to state AG action at 25 points.
- Class actions weighted lighter (15) because they are plaintiff-driven, not regulator-driven.
3. Financial Stability · weight: 22%
A lookup table, not a formula:
| Status | Score |
|---|---|
| Chapter 7 bankruptcy (liquidation) | 0 |
| Exited the residential solar market | 10 |
| Chapter 11 bankruptcy (reorganization) | 25 |
| Solvency suit filed against company | 50 |
| Public regulatory financial warning | 70 |
| No flags | 100 |
4. Sales Practice Record · weight: 17%
score = 100
score -= 20 × (count of statutes citing “deceptive”,
“consumer fraud”,
“FTC act”,
“unfair and deceptive”)
score -= 10 (if any AG action cited a telemarketing/DNC statute)
score -= 10 (if any AG action cited a home-solicitation statute)
floor at 0
The keyword list deliberately excludes the generic phrase “consumer protection.” Almost every state AG action is filed under a Consumer Protection Act, so matching on that phrase double-counted the same offense already penalized in Category 1. The keywords kept here describe specific misconduct categories beyond the statute family name. (This was a v1.1 fix; see Change Log.)
5. Recency of Concerns · weight: 22%
Penalizes recent enforcement more than old enforcement.
| Most recent action year | Score |
|---|---|
| No actions on record | 100 |
| 5+ years ago | 90 |
| 3–4 years ago | 70 |
| 1–2 years ago | 50 |
| Within last 12 months | 25 |
Current year is hardcoded to 2026.
Overall Score & Letter Grade
Weighted average
overall_score = sum(subject_score × weight)
Weights sum to 1.00 across the five active categories.
Bankruptcy hard caps
The premise: a company you cannot reach for a warranty claim is structurally Take-Action-Today, regardless of how clean the rest of its record is. The hard caps override the weighted average:
| Financial Stability score | Overall capped at | Effective max grade |
|---|---|---|
| ≤ 10 (Ch. 7 / exited market) | 35 | F |
| ≤ 25 (Ch. 11) | 48 | D |
| ≤ 50 (solvency suit) | 65 | C+ |
Letter grade boundaries
| Score | Grade |
|---|---|
| 90+ | A |
| 85–89 | A− |
| 80–84 | B+ |
| 75–79 | B |
| 70–74 | B− |
| 65–69 | C+ |
| 60–64 | C |
| 55–59 | C− |
| 50–54 | D+ |
| 45–49 | D |
| 40–44 | D− |
| below 40 | F |
| no data | INC |
Tier Labels & Urgent CTA
Every grade maps to a prescriptive tier label that drives the on-page Sal Says copy and CTA urgency:
| Grade | Tier Label | Urgent CTA? |
|---|---|---|
| A, A− | You’re In Good Shape | no |
| B+, B | Stay Aware | no |
| B− | Seek Guidance | yes |
| C+ | Seek Guidance | yes |
| C, C− | You Are At Risk | yes |
| D+, D, D− | Get Help Now | yes |
| F | Take Action Today | yes |
| INC | Verify Your Standing | yes |
Current Grade Distribution (v1.1)
49 companies graded as of May 5, 2026:
| Grade | Count | Tier |
|---|---|---|
| A | 8 | You’re In Good Shape |
| B+ | 14 | Stay Aware |
| B | 15 | Stay Aware |
| B− | 2 | Seek Guidance |
| C+ | 1 | Seek Guidance |
| D | 5 | Get Help Now |
| F | 4 | Take Action Today |
The 9 companies in the bankruptcy zone (D + F) all have a documented Chapter 7 filing, Chapter 11 filing, or exit from the residential solar market. The hard cap on Financial Stability binds for every one of them.
Challenge a Report Card
If a fact in your report card is wrong, tell us.
Email [email protected] with:
- The company name and report card URL.
- The specific fact in dispute.
- The public record that proves your version (court docket number, settlement filing, official press release).
We review within 5 business days. If the underlying record supports the correction, the grade is regenerated and the report card is republished with the corrected data and a visible last-updated stamp. If we cannot reconcile, we publish your written response alongside the grade.
A structured intake form will replace the email path in v1.2.
Known Limitations & Tradeoffs
These are honest gaps that are documented rather than hidden. Each limitation either has a planned fix on a known timeline, or is an accepted v1 tradeoff that this page exposes to readers.
- Customer Complaints category disabled in v1.1. The previous version included a sixth category for customer complaint volume but used pro-rata weight redistribution that silently inflated overall grades when complaint data was missing — effectively rewarding companies for opacity. The category is removed from the rubric until BBB integration scrapes systematic complaint data. Once that ships, the category re-enters with verified per-company complaint volume and the weights renormalize. Two companies (Sunrun, Sunnova Energy) had verified specific complaint volume in v1.0; those signals are captured in narrative form on each company’s report card pending the structured re-integration.
- Manual override layer is opaque on the live page. Bankruptcy and finance-company entries live in a developer file whose underlying public records are not yet surfaced inline on each report card. Each entry has a real public record behind it (court docket, press release, settlement order). v1.2 will surface the citation link inline.
- Recency thresholds are calendar-rigid. A company whose most recent action was 36 months ago scores 70 (B−); a company whose most recent action was 35 months ago scores 50 (D+). This creates artificial cliffs at the 1-year and 3-year marks. v1.2 will replace the step function with a continuous decay curve.
- Settlement-dollar penalty is asymmetric. A $13.8M settlement and a $50M settlement get the same penalty (capped at 25 points). Defensible (avoids double-counting with the action-count penalty) but means very large settlements do not differentiate among themselves.
- Defendant-string parsing is heuristic. Multi-defendant cases divide the settlement dollar amount equally across defendants. If three companies share a $30M settlement, each is charged with $10M for scoring purposes. This may understate the worst actor’s true share. Refinement requires hand-coding settlement allocations from court filings — planned for v1.3.
- Federal Compliance scoring assumes companies without listed federal actions have none. The MANUAL dict only adds federal actions for finance companies — installer federal actions (CFPB, FTC) are not systematically researched. A score of 100 in this category should be read as “no federal actions in our research”, not “verified clean.”
- No per-state grading. A company that is a clean A in 35 states and an F-defendant in 1 state currently gets one overall grade. The footprint data exists in the evidence pack but is not surfaced as state-by-state grades. Planned for v1.2.
- Time decay is one-sided. The Recency category penalizes recent action but does not yet reward sustained clean operation post-action. A company that settled in 2024 and has run clean since cannot score better than 50 on Recency until 2027. v1.2 will add a “clean since” boost for documented post-resolution clean operation.
What’s NOT in the grade
- Subjective product quality (panel efficiency, install aesthetics, customer service vibes).
- Pricing competitiveness.
- Online review sentiment (Google, Yelp, Trustpilot).
- Marketing claims (a company can advertise truthfully or not without affecting its grade).
- Anything happening internally that has not surfaced in a public record.
Change Log
v1.1 — May 5, 2026
Triggered by independent stress-test review. Three structural changes shipped before the tool’s public content launch:
- Customer Complaints category removed. Pro-rata redistribution inflated grades; category disabled until BBB integration ships. Weights renormalized across the five remaining categories (state_ag 22%, federal 17%, financial 22%, sales_practice 17%, recency 22%).
- “Consumer protection” removed from Sales Practice keyword list. Match on that phrase double-counted the same offense already penalized in State AG. Specific misconduct keywords retained.
- Legal framing tightened. “Grades are not opinions” replaced with “Grades are deterministic outputs of public-record inputs. They are not editorial opinions, and they are not findings of legal liability.” Disclaimer added to every report card.
- Appeals path added. [email protected] mailto live on every report card and on this methodology page.
11 companies moved tier under v1.1. Sunrun moved C+ → B−. Eight companies moved B− → B. Two moved B → B+. All bankruptcy hard caps held: the 9 companies in the D/F zone all have a documented Chapter 7, Chapter 11, or market-exit filing.
v1.0 — April 30, 2026
Initial public release. Six subject categories. 49 companies graded.