{
  "id": "solar",
  "order": 4,
  "title": "Where is residential solar demand now?",
  "kicker": "Residential Solar \u00b7 Clean Energy",
  "roles": [
    "Solar Sales Rep",
    "Sales Ops",
    "Territory Manager"
  ],
  "question": "Where should a residential solar rep in LA County focus in 2026, and how has the shift to the Net Billing Tariff changed what sells?",
  "source": {
    "name": "California DGStats Interconnected Applications, SCE 5-year export",
    "url": "https://www.californiadgstats.ca.gov/downloads/",
    "license": "No open license; the publisher's Terms of Use apply",
    "publisher": "California DGStats (PG&E, SCE, SDG&E / CPUC)",
    "as_of": "Aug 31, 2026",
    "rows_raw": 416755,
    "rows_used": 102529,
    "rows_label": "applications in the publisher's file, published here as summary tables",
    "summary_rows": 1125,
    "caveat": "Covers only Southern California Edison territory; the City of Los Angeles (LADWP) and other municipal utilities (Burbank, Glendale, Pasadena) are not included, so this is LA County within SCE's service area, not the whole county. The source file is the publisher's 5-year SCE-only export (approved dates from September 2021 onward), not the full multi-utility statewide history. The file leaves out applications still pending, so received counts for the latest months are low. Only summary tables are published: the publisher's Terms of Use restrict extracting or distributing its content, so row-level data is not republished and every figure was computed from the publisher's file. In the city and installer breakdowns, any cell with fewer than 10 applications is combined into an 'All other' row; the tariff and period table has no place or installer, so its small cells are kept."
  },
  "cleaning": [
    "Filtered to Service County = Los Angeles (matched without regard to capitalisation; one in-window row is spelled LOS ANGELES), Customer Sector = Residential, within SCE's service territory.",
    "Kept only genuine install/expansion application statuses (Interconnected and Expansion-*), dropping administrative-only records like corrections, duplicates, and withdrawals.",
    "Cast date, system size, storage, and cost fields to proper types; parsed 'Storage Capacity (kWh)' into a has_storage flag.",
    "Cleared Cost/Watt values outside a plausible $0.10-$50/W range (a small number of data-entry outliers) rather than trying to guess a corrected value.",
    "Checked whether Cost/Watt bundles storage cost: storage-attached systems show notably higher Total System Cost for only modestly larger system_size_kw, so storage cost is bundled in. Median cost/watt is therefore reported separately for PV-only and storage-attached systems rather than as one mixed pre/post NBT number.",
    "Grouped installers outside the top 10 by 12-month volume into an 'Other installers' category for the market-share chart.",
    "Published only summary tables (counts, sums and a few precomputed medians), not applications. The 12 largest cities are named; every other city, and any city or installer cell with fewer than 10 applications, is combined into an 'All other' row so totals still add up. Row-level data is not republished because of the publisher's Terms of Use; the figures were computed from the publisher's file."
  ],
  "kpis": [
    {
      "label": "LA County (SCE) installs, last 12 mo",
      "value": "17,422",
      "note": "residential, approved applications"
    },
    {
      "label": "Battery share, net billing systems",
      "value": "75.8%",
      "note": "vs 16.1% on the old NEM 2.0 tariff, by each system's tariff (by approval date: 52.4% vs 12.8%)"
    },
    {
      "label": "Median cost per watt, PV-only",
      "value": "$4.34",
      "note": "post-NBT, no storage, vs $4.53 pre-NBT (storage-attached systems cost more per watt and are excluded here for a fair comparison)"
    },
    {
      "label": "Top installer market share",
      "value": "25.6%",
      "note": "Sunrun, last 12 months, of approvals that name an installer"
    }
  ],
  "filters": [
    {
      "id": "date_type",
      "label": "Date type",
      "options": [
        "Applications received",
        "Applications approved"
      ]
    }
  ],
  "charts": [
    {
      "id": "monthly_interconnections",
      "kind": "line",
      "title": "The April 2023 rate change triggered a rush, then a sustained pullback",
      "subtitle": "Applications spiked in March 2023 ahead of the switch from NEM 2.0 to the Net Billing Tariff (Apr 15, 2023), then fell. Once the approval backlog cleared, approvals averaged about 1,413 a month from Dec 2023 on, vs about 1,919 a month in 2022. Received counts for the latest months are low because applications still pending are not in the file.",
      "x": "month",
      "y": "count",
      "color": "date_type",
      "x_label": "Month",
      "y_label": "Applications",
      "format_y": ",",
      "filter_fields": [
        "date_type"
      ],
      "data": [
        {
          "month": "2022-01-01",
          "date_type": "Applications received",
          "count": 1493
        },
        {
          "month": "2022-02-01",
          "date_type": "Applications received",
          "count": 1561
        },
        {
          "month": "2022-03-01",
          "date_type": "Applications received",
          "count": 1734
        },
        {
          "month": "2022-04-01",
          "date_type": "Applications received",
          "count": 1633
        },
        {
          "month": "2022-05-01",
          "date_type": "Applications received",
          "count": 1782
        },
        {
          "month": "2022-06-01",
          "date_type": "Applications received",
          "count": 1841
        },
        {
          "month": "2022-07-01",
          "date_type": "Applications received",
          "count": 1856
        },
        {
          "month": "2022-08-01",
          "date_type": "Applications received",
          "count": 2297
        },
        {
          "month": "2022-09-01",
          "date_type": "Applications received",
          "count": 2425
        },
        {
          "month": "2022-10-01",
          "date_type": "Applications received",
          "count": 2532
        },
        {
          "month": "2022-11-01",
          "date_type": "Applications received",
          "count": 2395
        },
        {
          "month": "2022-12-01",
          "date_type": "Applications received",
          "count": 2721
        },
        {
          "month": "2023-01-01",
          "date_type": "Applications received",
          "count": 4006
        },
        {
          "month": "2023-02-01",
          "date_type": "Applications received",
          "count": 5852
        },
        {
          "month": "2023-03-01",
          "date_type": "Applications received",
          "count": 11410
        },
        {
          "month": "2023-04-01",
          "date_type": "Applications received",
          "count": 8045
        },
        {
          "month": "2023-05-01",
          "date_type": "Applications received",
          "count": 199
        },
        {
          "month": "2023-06-01",
          "date_type": "Applications received",
          "count": 270
        },
        {
          "month": "2023-07-01",
          "date_type": "Applications received",
          "count": 357
        },
        {
          "month": "2023-08-01",
          "date_type": "Applications received",
          "count": 532
        },
        {
          "month": "2023-09-01",
          "date_type": "Applications received",
          "count": 532
        },
        {
          "month": "2023-10-01",
          "date_type": "Applications received",
          "count": 659
        },
        {
          "month": "2023-11-01",
          "date_type": "Applications received",
          "count": 759
        },
        {
          "month": "2023-12-01",
          "date_type": "Applications received",
          "count": 764
        },
        {
          "month": "2024-01-01",
          "date_type": "Applications received",
          "count": 1071
        },
        {
          "month": "2024-02-01",
          "date_type": "Applications received",
          "count": 999
        },
        {
          "month": "2024-03-01",
          "date_type": "Applications received",
          "count": 1127
        },
        {
          "month": "2024-04-01",
          "date_type": "Applications received",
          "count": 1148
        },
        {
          "month": "2024-05-01",
          "date_type": "Applications received",
          "count": 1155
        },
        {
          "month": "2024-06-01",
          "date_type": "Applications received",
          "count": 963
        },
        {
          "month": "2024-07-01",
          "date_type": "Applications received",
          "count": 973
        },
        {
          "month": "2024-08-01",
          "date_type": "Applications received",
          "count": 1090
        },
        {
          "month": "2024-09-01",
          "date_type": "Applications received",
          "count": 1102
        },
        {
          "month": "2024-10-01",
          "date_type": "Applications received",
          "count": 1177
        },
        {
          "month": "2024-11-01",
          "date_type": "Applications received",
          "count": 1138
        },
        {
          "month": "2024-12-01",
          "date_type": "Applications received",
          "count": 1134
        },
        {
          "month": "2025-01-01",
          "date_type": "Applications received",
          "count": 1311
        },
        {
          "month": "2025-02-01",
          "date_type": "Applications received",
          "count": 1192
        },
        {
          "month": "2025-03-01",
          "date_type": "Applications received",
          "count": 1387
        },
        {
          "month": "2025-04-01",
          "date_type": "Applications received",
          "count": 1397
        },
        {
          "month": "2025-05-01",
          "date_type": "Applications received",
          "count": 1125
        },
        {
          "month": "2025-06-01",
          "date_type": "Applications received",
          "count": 1087
        },
        {
          "month": "2025-07-01",
          "date_type": "Applications received",
          "count": 1153
        },
        {
          "month": "2025-08-01",
          "date_type": "Applications received",
          "count": 1086
        },
        {
          "month": "2025-09-01",
          "date_type": "Applications received",
          "count": 1983
        },
        {
          "month": "2025-10-01",
          "date_type": "Applications received",
          "count": 1539
        },
        {
          "month": "2025-11-01",
          "date_type": "Applications received",
          "count": 1384
        },
        {
          "month": "2025-12-01",
          "date_type": "Applications received",
          "count": 1621
        },
        {
          "month": "2026-01-01",
          "date_type": "Applications received",
          "count": 1055
        },
        {
          "month": "2026-02-01",
          "date_type": "Applications received",
          "count": 977
        },
        {
          "month": "2026-03-01",
          "date_type": "Applications received",
          "count": 1194
        },
        {
          "month": "2026-04-01",
          "date_type": "Applications received",
          "count": 1298
        },
        {
          "month": "2026-05-01",
          "date_type": "Applications received",
          "count": 953
        },
        {
          "month": "2026-06-01",
          "date_type": "Applications received",
          "count": 1201
        },
        {
          "month": "2026-07-01",
          "date_type": "Applications received",
          "count": 857
        },
        {
          "month": "2026-08-01",
          "date_type": "Applications received",
          "count": 575
        },
        {
          "month": "2022-01-01",
          "date_type": "Applications approved",
          "count": 1335
        },
        {
          "month": "2022-02-01",
          "date_type": "Applications approved",
          "count": 1468
        },
        {
          "month": "2022-03-01",
          "date_type": "Applications approved",
          "count": 1798
        },
        {
          "month": "2022-04-01",
          "date_type": "Applications approved",
          "count": 1602
        },
        {
          "month": "2022-05-01",
          "date_type": "Applications approved",
          "count": 1690
        },
        {
          "month": "2022-06-01",
          "date_type": "Applications approved",
          "count": 1676
        },
        {
          "month": "2022-07-01",
          "date_type": "Applications approved",
          "count": 1708
        },
        {
          "month": "2022-08-01",
          "date_type": "Applications approved",
          "count": 2149
        },
        {
          "month": "2022-09-01",
          "date_type": "Applications approved",
          "count": 2214
        },
        {
          "month": "2022-10-01",
          "date_type": "Applications approved",
          "count": 2553
        },
        {
          "month": "2022-11-01",
          "date_type": "Applications approved",
          "count": 2296
        },
        {
          "month": "2022-12-01",
          "date_type": "Applications approved",
          "count": 2541
        },
        {
          "month": "2023-01-01",
          "date_type": "Applications approved",
          "count": 1923
        },
        {
          "month": "2023-02-01",
          "date_type": "Applications approved",
          "count": 1464
        },
        {
          "month": "2023-03-01",
          "date_type": "Applications approved",
          "count": 1882
        },
        {
          "month": "2023-04-01",
          "date_type": "Applications approved",
          "count": 1385
        },
        {
          "month": "2023-05-01",
          "date_type": "Applications approved",
          "count": 1275
        },
        {
          "month": "2023-06-01",
          "date_type": "Applications approved",
          "count": 3671
        },
        {
          "month": "2023-07-01",
          "date_type": "Applications approved",
          "count": 3730
        },
        {
          "month": "2023-08-01",
          "date_type": "Applications approved",
          "count": 4085
        },
        {
          "month": "2023-09-01",
          "date_type": "Applications approved",
          "count": 2691
        },
        {
          "month": "2023-10-01",
          "date_type": "Applications approved",
          "count": 3149
        },
        {
          "month": "2023-11-01",
          "date_type": "Applications approved",
          "count": 1936
        },
        {
          "month": "2023-12-01",
          "date_type": "Applications approved",
          "count": 1492
        },
        {
          "month": "2024-01-01",
          "date_type": "Applications approved",
          "count": 2226
        },
        {
          "month": "2024-02-01",
          "date_type": "Applications approved",
          "count": 1649
        },
        {
          "month": "2024-03-01",
          "date_type": "Applications approved",
          "count": 1530
        },
        {
          "month": "2024-04-01",
          "date_type": "Applications approved",
          "count": 1485
        },
        {
          "month": "2024-05-01",
          "date_type": "Applications approved",
          "count": 1206
        },
        {
          "month": "2024-06-01",
          "date_type": "Applications approved",
          "count": 1364
        },
        {
          "month": "2024-07-01",
          "date_type": "Applications approved",
          "count": 1205
        },
        {
          "month": "2024-08-01",
          "date_type": "Applications approved",
          "count": 1580
        },
        {
          "month": "2024-09-01",
          "date_type": "Applications approved",
          "count": 1387
        },
        {
          "month": "2024-10-01",
          "date_type": "Applications approved",
          "count": 1309
        },
        {
          "month": "2024-11-01",
          "date_type": "Applications approved",
          "count": 1126
        },
        {
          "month": "2024-12-01",
          "date_type": "Applications approved",
          "count": 1152
        },
        {
          "month": "2025-01-01",
          "date_type": "Applications approved",
          "count": 1114
        },
        {
          "month": "2025-02-01",
          "date_type": "Applications approved",
          "count": 1063
        },
        {
          "month": "2025-03-01",
          "date_type": "Applications approved",
          "count": 1331
        },
        {
          "month": "2025-04-01",
          "date_type": "Applications approved",
          "count": 1374
        },
        {
          "month": "2025-05-01",
          "date_type": "Applications approved",
          "count": 1541
        },
        {
          "month": "2025-06-01",
          "date_type": "Applications approved",
          "count": 1411
        },
        {
          "month": "2025-07-01",
          "date_type": "Applications approved",
          "count": 1352
        },
        {
          "month": "2025-08-01",
          "date_type": "Applications approved",
          "count": 1301
        },
        {
          "month": "2025-09-01",
          "date_type": "Applications approved",
          "count": 1259
        },
        {
          "month": "2025-10-01",
          "date_type": "Applications approved",
          "count": 1436
        },
        {
          "month": "2025-11-01",
          "date_type": "Applications approved",
          "count": 930
        },
        {
          "month": "2025-12-01",
          "date_type": "Applications approved",
          "count": 2160
        },
        {
          "month": "2026-01-01",
          "date_type": "Applications approved",
          "count": 1672
        },
        {
          "month": "2026-02-01",
          "date_type": "Applications approved",
          "count": 1507
        },
        {
          "month": "2026-03-01",
          "date_type": "Applications approved",
          "count": 1469
        },
        {
          "month": "2026-04-01",
          "date_type": "Applications approved",
          "count": 1696
        },
        {
          "month": "2026-05-01",
          "date_type": "Applications approved",
          "count": 1175
        },
        {
          "month": "2026-06-01",
          "date_type": "Applications approved",
          "count": 1442
        },
        {
          "month": "2026-07-01",
          "date_type": "Applications approved",
          "count": 1495
        },
        {
          "month": "2026-08-01",
          "date_type": "Applications approved",
          "count": 1181
        }
      ]
    },
    {
      "id": "storage_attach_rate",
      "kind": "line",
      "title": "Battery storage share rose sharply under the Net Billing Tariff",
      "subtitle": "By month approved: 12.8% of systems had storage before April 15, 2023 and 52.4% after. Many systems approved after that date were filed earlier on the old tariff; by tariff, 75.8% of net billing systems have a battery.",
      "x": "month",
      "y": "attach_pct",
      "color": null,
      "x_label": "Month approved",
      "y_label": "Share of installs with storage",
      "format_y": "%",
      "filter_fields": [],
      "data": [
        {
          "month": "2021-09-01",
          "attach_pct": 18.4
        },
        {
          "month": "2021-10-01",
          "attach_pct": 17.3
        },
        {
          "month": "2021-11-01",
          "attach_pct": 16.0
        },
        {
          "month": "2021-12-01",
          "attach_pct": 13.6
        },
        {
          "month": "2022-01-01",
          "attach_pct": 11.6
        },
        {
          "month": "2022-02-01",
          "attach_pct": 14.0
        },
        {
          "month": "2022-03-01",
          "attach_pct": 15.4
        },
        {
          "month": "2022-04-01",
          "attach_pct": 12.7
        },
        {
          "month": "2022-05-01",
          "attach_pct": 12.5
        },
        {
          "month": "2022-06-01",
          "attach_pct": 12.0
        },
        {
          "month": "2022-07-01",
          "attach_pct": 13.5
        },
        {
          "month": "2022-08-01",
          "attach_pct": 11.4
        },
        {
          "month": "2022-09-01",
          "attach_pct": 12.5
        },
        {
          "month": "2022-10-01",
          "attach_pct": 13.4
        },
        {
          "month": "2022-11-01",
          "attach_pct": 11.2
        },
        {
          "month": "2022-12-01",
          "attach_pct": 10.6
        },
        {
          "month": "2023-01-01",
          "attach_pct": 13.5
        },
        {
          "month": "2023-02-01",
          "attach_pct": 11.8
        },
        {
          "month": "2023-03-01",
          "attach_pct": 9.5
        },
        {
          "month": "2023-04-01",
          "attach_pct": 9.6
        },
        {
          "month": "2023-05-01",
          "attach_pct": 11.9
        },
        {
          "month": "2023-06-01",
          "attach_pct": 5.2
        },
        {
          "month": "2023-07-01",
          "attach_pct": 11.5
        },
        {
          "month": "2023-08-01",
          "attach_pct": 17.8
        },
        {
          "month": "2023-09-01",
          "attach_pct": 13.5
        },
        {
          "month": "2023-10-01",
          "attach_pct": 23.1
        },
        {
          "month": "2023-11-01",
          "attach_pct": 27.3
        },
        {
          "month": "2023-12-01",
          "attach_pct": 30.7
        },
        {
          "month": "2024-01-01",
          "attach_pct": 35.8
        },
        {
          "month": "2024-02-01",
          "attach_pct": 44.1
        },
        {
          "month": "2024-03-01",
          "attach_pct": 48.9
        },
        {
          "month": "2024-04-01",
          "attach_pct": 54.5
        },
        {
          "month": "2024-05-01",
          "attach_pct": 54.5
        },
        {
          "month": "2024-06-01",
          "attach_pct": 57.8
        },
        {
          "month": "2024-07-01",
          "attach_pct": 61.7
        },
        {
          "month": "2024-08-01",
          "attach_pct": 59.3
        },
        {
          "month": "2024-09-01",
          "attach_pct": 67.0
        },
        {
          "month": "2024-10-01",
          "attach_pct": 70.4
        },
        {
          "month": "2024-11-01",
          "attach_pct": 66.7
        },
        {
          "month": "2024-12-01",
          "attach_pct": 64.9
        },
        {
          "month": "2025-01-01",
          "attach_pct": 70.4
        },
        {
          "month": "2025-02-01",
          "attach_pct": 74.4
        },
        {
          "month": "2025-03-01",
          "attach_pct": 73.0
        },
        {
          "month": "2025-04-01",
          "attach_pct": 77.9
        },
        {
          "month": "2025-05-01",
          "attach_pct": 81.0
        },
        {
          "month": "2025-06-01",
          "attach_pct": 77.3
        },
        {
          "month": "2025-07-01",
          "attach_pct": 82.7
        },
        {
          "month": "2025-08-01",
          "attach_pct": 81.1
        },
        {
          "month": "2025-09-01",
          "attach_pct": 81.1
        },
        {
          "month": "2025-10-01",
          "attach_pct": 77.8
        },
        {
          "month": "2025-11-01",
          "attach_pct": 78.2
        },
        {
          "month": "2025-12-01",
          "attach_pct": 83.1
        },
        {
          "month": "2026-01-01",
          "attach_pct": 83.9
        },
        {
          "month": "2026-02-01",
          "attach_pct": 83.6
        },
        {
          "month": "2026-03-01",
          "attach_pct": 78.9
        },
        {
          "month": "2026-04-01",
          "attach_pct": 81.5
        },
        {
          "month": "2026-05-01",
          "attach_pct": 84.2
        },
        {
          "month": "2026-06-01",
          "attach_pct": 81.3
        },
        {
          "month": "2026-07-01",
          "attach_pct": 82.0
        },
        {
          "month": "2026-08-01",
          "attach_pct": 81.2
        }
      ]
    },
    {
      "id": "installer_share",
      "kind": "bar",
      "title": "Sunrun leads, but the market is fragmented",
      "subtitle": "Sunrun holds 25.6% of the last 12 months of approvals that name an installer; the next installer, Tesla Energy Operations Inc, holds 5.6%, and 694 installers appear in the period.",
      "x": "installer",
      "y": "share_pct",
      "color": null,
      "x_label": "Installer",
      "y_label": "Share of installs (12 mo)",
      "format_y": "%",
      "filter_fields": [],
      "data": [
        {
          "installer": "Sunrun",
          "share_pct": 25.6
        },
        {
          "installer": "Tesla Energy Operations Inc",
          "share_pct": 5.6
        },
        {
          "installer": "Bright Ops",
          "share_pct": 4.3
        },
        {
          "installer": "G A F Energy Llc",
          "share_pct": 3.4
        },
        {
          "installer": "Freedom Forever",
          "share_pct": 3.3
        },
        {
          "installer": "South West Builders",
          "share_pct": 2.4
        },
        {
          "installer": "Solara Home Energy Llc",
          "share_pct": 1.8
        },
        {
          "installer": "Orange County Contracting Services",
          "share_pct": 1.6
        },
        {
          "installer": "V3 Electric Inc",
          "share_pct": 1.6
        },
        {
          "installer": "Solar Tech Energy Systems Inc",
          "share_pct": 1.5
        },
        {
          "installer": "Other installers",
          "share_pct": 49.0
        }
      ]
    },
    {
      "id": "top_cities",
      "kind": "bar",
      "title": "Antelope Valley leads LA County solar demand",
      "subtitle": "Lancaster and Palmdale, both SCE territory, drove more installs than any other city in the last 12 months. Raw counts, not per-household rates, so this partly reflects population size and a housing stock weighted toward single-family homes.",
      "x": "city",
      "y": "count",
      "color": null,
      "x_label": "City",
      "y_label": "Installs (12 mo)",
      "format_y": ",",
      "filter_fields": [],
      "data": [
        {
          "city": "Lancaster",
          "count": 1755
        },
        {
          "city": "Palmdale",
          "count": 1047
        },
        {
          "city": "Santa Clarita",
          "count": 890
        },
        {
          "city": "Long Beach",
          "count": 889
        },
        {
          "city": "Whittier",
          "count": 515
        },
        {
          "city": "Arcadia",
          "count": 455
        },
        {
          "city": "Pomona",
          "count": 407
        },
        {
          "city": "Valencia",
          "count": 406
        },
        {
          "city": "Los Angeles",
          "count": 352
        },
        {
          "city": "Torrance",
          "count": 321
        },
        {
          "city": "Covina",
          "count": 292
        },
        {
          "city": "Carson",
          "count": 281
        }
      ]
    }
  ],
  "finding": "Three in four systems on the Net Billing Tariff include a battery (75.8%), against 16.1% on the old NEM 2.0 tariff. Split by approval date instead, the share rose from 12.8% before April 15, 2023 to 52.4% after, a smaller jump because many systems approved later were filed under the old tariff. For PV-only systems (no storage), median cost per watt barely moved ($4.53 to $4.34). The application rush before the deadline (11,410 received in March 2023 alone, against 2,721 in December 2022) shows how strongly rate design moves buyer timing.",
  "recommendation": "Lead every 2026 pitch with storage, since it is now close to the norm rather than the exception under the Net Billing Tariff. Prioritize Lancaster, Palmdale, and the rest of the Antelope Valley, where volume is highest, and expect to compete against a fragmented field (Sunrun holds 25.6% of recent installs that name an installer, and no other installer holds more than 5.6%).",
  "in_role": "At Green Solar (2019 to 2020) I sold residential systems to homeowners and consistently reached 150% of monthly quota, tracking 100+ opportunities in Velocify. I would focus outreach on the Antelope Valley cities first and lead every conversation with storage, not treat it as an upsell. Three in four net billing systems in this data already include a battery.",
  "method_sql": "SELECT nem_tariff, SUM(n) AS n, round(100.0*SUM(CASE WHEN has_storage THEN n ELSE 0 END)/SUM(n),1) AS storage_attach_pct FROM la_solar_by_tariff WHERE nem_tariff IN ('2.0', 'NBT') GROUP BY 1 ORDER BY 1",
  "tables": [
    {
      "name": "la_solar_by_city",
      "file": "solar.parquet",
      "rows": 777,
      "desc": "Applications approved, by month approved and city. The 12 largest cities (by approvals in the last 12 months) are named; every other city, and any city in a month with fewer than 10 applications, is under 'All other cities'.",
      "columns": [
        {
          "name": "month_approved",
          "type": "DATE",
          "desc": "First day of the month Permission to Operate was granted"
        },
        {
          "name": "city_group",
          "type": "VARCHAR",
          "desc": "Service city for the 12 largest cities, otherwise 'All other cities' (also holds any city in a month with fewer than 10 applications)"
        },
        {
          "name": "n",
          "type": "BIGINT",
          "desc": "Applications approved in that month and city group"
        },
        {
          "name": "n_with_storage",
          "type": "BIGINT",
          "desc": "Of n, applications that include battery storage (storage share = n_with_storage / n)"
        },
        {
          "name": "n_third_party_known",
          "type": "BIGINT",
          "desc": "Of n, applications that report whether a third party owns the system"
        },
        {
          "name": "n_third_party_yes",
          "type": "BIGINT",
          "desc": "Of n, applications reporting a third-party-owned system (lease or PPA)"
        },
        {
          "name": "n_with_size",
          "type": "BIGINT",
          "desc": "Of n, applications that report a system size"
        },
        {
          "name": "sum_size_kw",
          "type": "DOUBLE",
          "desc": "Sum of the reported DC system sizes, kW (divide by n_with_size for the average)"
        }
      ]
    },
    {
      "name": "la_solar_by_tariff",
      "file": "solar_by_tariff.parquet",
      "rows": 12,
      "desc": "Applications by the tariff each system is on, storage, and whether it was approved and filed before the April 15, 2023 cutover. No place or installer, so small cells are kept.",
      "columns": [
        {
          "name": "nem_tariff",
          "type": "VARCHAR",
          "desc": "'2.0' (NEM 2.0), 'NBT' (Net Billing Tariff) or 'other' (the 42 NEM 1.0 applications)"
        },
        {
          "name": "has_storage",
          "type": "BOOLEAN",
          "desc": "True if the application includes battery storage"
        },
        {
          "name": "approved_before_nbt",
          "type": "BOOLEAN",
          "desc": "True if approved before April 15, 2023"
        },
        {
          "name": "filed_before_nbt",
          "type": "BOOLEAN",
          "desc": "True if the application was received before April 15, 2023"
        },
        {
          "name": "n",
          "type": "BIGINT",
          "desc": "Applications in the group"
        }
      ]
    },
    {
      "name": "la_solar_received_by_month",
      "file": "solar_received_by_month.parquet",
      "rows": 57,
      "desc": "Applications by month received (only applications that were later approved are in the file).",
      "columns": [
        {
          "name": "month_received",
          "type": "DATE",
          "desc": "First day of the month the application was received; null for applications received before January 2022"
        },
        {
          "name": "n",
          "type": "BIGINT",
          "desc": "Applications received in that month"
        }
      ]
    },
    {
      "name": "la_solar_last_12_months",
      "file": "solar_last_12_months.parquet",
      "rows": 269,
      "desc": "Approvals in the 12 months up to the latest approval date (from August 31, 2025), by city and by installer. Each breakdown adds up to the same total. Cities and installers with fewer than 10 applications are combined into one remainder row.",
      "columns": [
        {
          "name": "breakdown",
          "type": "VARCHAR",
          "desc": "'city' or 'installer'; each breakdown sums to the full last-12-month total, so filter on it"
        },
        {
          "name": "name",
          "type": "VARCHAR",
          "desc": "City or installer of record; remainder rows are 'All other cities', 'Other Installers (Fewer Than 10 Applications Each)' and 'Not Reported'"
        },
        {
          "name": "is_remainder",
          "type": "BOOLEAN",
          "desc": "True for the combined and not-reported rows"
        },
        {
          "name": "n",
          "type": "BIGINT",
          "desc": "Applications approved in the last 12 months"
        },
        {
          "name": "n_with_storage",
          "type": "BIGINT",
          "desc": "Of n, applications with battery storage"
        }
      ]
    },
    {
      "name": "la_solar_medians",
      "file": "solar_medians.parquet",
      "rows": 10,
      "desc": "Medians computed from the applications and published as values, because a median cannot be rebuilt from counts.",
      "columns": [
        {
          "name": "slice",
          "type": "VARCHAR",
          "desc": "'by_period_and_storage' (cost per watt) or 'by_year' (system size)"
        },
        {
          "name": "year_approved",
          "type": "INTEGER",
          "desc": "Year approved (by_year rows only)"
        },
        {
          "name": "approved_before_nbt",
          "type": "BOOLEAN",
          "desc": "True if approved before April 15, 2023 (by_period_and_storage rows only)"
        },
        {
          "name": "has_storage",
          "type": "BOOLEAN",
          "desc": "True if the application includes battery storage (by_period_and_storage rows only). Cost per watt includes the battery when there is one, so compare within a storage group"
        },
        {
          "name": "n_systems",
          "type": "BIGINT",
          "desc": "Applications in the group"
        },
        {
          "name": "n_with_cost",
          "type": "BIGINT",
          "desc": "Of those, applications with a plausible reported cost per watt ($0.10 to $50)"
        },
        {
          "name": "median_cost_per_watt",
          "type": "DOUBLE",
          "desc": "Median reported total system cost per watt, $/W"
        },
        {
          "name": "median_system_size_kw",
          "type": "DOUBLE",
          "desc": "Median DC system size, kW"
        }
      ]
    }
  ],
  "sample_queries": [
    {
      "label": "Median system size (kW) by year",
      "sql": "SELECT CAST(year_approved AS VARCHAR) AS yr, round(median_system_size_kw, 1) AS median_kw, n_systems AS n FROM la_solar_medians WHERE slice = 'by_year' ORDER BY 1"
    },
    {
      "label": "Third-party-owned share by year",
      "sql": "SELECT CAST(extract(year FROM month_approved) AS VARCHAR) AS yr, round(100.0*SUM(n_third_party_yes)/SUM(n_third_party_known),1) AS tpo_pct FROM la_solar_by_city GROUP BY 1 ORDER BY 1"
    },
    {
      "label": "Top 10 cities, last 12 months",
      "sql": "SELECT name AS city, n FROM la_solar_last_12_months WHERE breakdown = 'city' AND NOT is_remainder ORDER BY n DESC LIMIT 10"
    }
  ],
  "table": {
    "name": "la_solar_by_city",
    "file": "solar.parquet",
    "rows": 1125,
    "desc": "Applications approved, by month approved and city. The 12 largest cities (by approvals in the last 12 months) are named; every other city, and any city in a month with fewer than 10 applications, is under 'All other cities'.",
    "columns": [
      {
        "name": "month_approved",
        "type": "DATE",
        "desc": "First day of the month Permission to Operate was granted"
      },
      {
        "name": "city_group",
        "type": "VARCHAR",
        "desc": "Service city for the 12 largest cities, otherwise 'All other cities' (also holds any city in a month with fewer than 10 applications)"
      },
      {
        "name": "n",
        "type": "BIGINT",
        "desc": "Applications approved in that month and city group"
      },
      {
        "name": "n_with_storage",
        "type": "BIGINT",
        "desc": "Of n, applications that include battery storage (storage share = n_with_storage / n)"
      },
      {
        "name": "n_third_party_known",
        "type": "BIGINT",
        "desc": "Of n, applications that report whether a third party owns the system"
      },
      {
        "name": "n_third_party_yes",
        "type": "BIGINT",
        "desc": "Of n, applications reporting a third-party-owned system (lease or PPA)"
      },
      {
        "name": "n_with_size",
        "type": "BIGINT",
        "desc": "Of n, applications that report a system size"
      },
      {
        "name": "sum_size_kw",
        "type": "DOUBLE",
        "desc": "Sum of the reported DC system sizes, kW (divide by n_with_size for the average)"
      }
    ]
  }
}