Methodology · v2.4 · April 2026

How BcalScore works.

A site-qualification score is only useful if BD leaders trust it. We publish the rubric, the weights, the data sources, and the calibration set. If you find a flaw, we want to hear about it — that's how the calibration loop gets better.

1. The rubric

The score is a weighted sum of six factors. Weights are calibrated against ~2,400 historical behind-the-meter fuel cell deployments (CA, NY, MA, NJ, CT, IL, TX, HI) and ~18,000 declined / dead leads from OEM and EPC partners.

FactorWeightDrivers
Utility tariff & rate25%Blended $/kWh, demand charge, TOU shape, escalation outlook
Load profile fit25%Annual kWh, peak kW, baseload share, 24/7 fit, load factor
Eligibility stack20%SGIP step + bucket residual, IRA 48E, Energy Community, LMI, DAC
Infrastructure readiness15%Gas-line distance, pressure class, AHJ history, CEQA exemption
Decision-maker access10%DM seniority, contact confidence, public sustainability mandate
Grid / PSPS risk5%HFTD tier, 5-yr outage minutes, demand-charge volatility

2. Data sources

Fourteen reconciled sources, refreshed on different cadences. Every dossier records source and timestamp per field — full provenance.

LayerSourceRefresh
Utility identityEIA-861 + state PUC filingsQuarterly
Tariff schedulesOpenEI URDB + utility website crawlsWeekly
Annual load benchmarkEIA CBECS + EnergyStar Portfolio Mgr.Annual
Building footprintMicrosoft Building Footprints + parcelQuarterly
SGIP step / bucketCPUC SGIP weekly triggerWeekly
IRA bonus zonesIRS-26 §48E + DOE Energy Community mapQuarterly
CalEnviroScreenCalEPA OEHHAAnnual
Gas distributionHIFLD + state pipeline mapsQuarterly
Permit historyState + city permit DBsMonthly
HFTD / PSPSCPUC HFTD + utility annual filingsAnnual
Outage minutesEIA Form-417 + utility reliability reportsQuarterly
Owner of recordParcel + corporate registryQuarterly
Decision-makerVerified contact graph (LinkedIn + business email)Weekly
ESG mandate10-K + sustainability report scrapeQuarterly

3. Calibration loop

We track three signals continuously and feed them back into the rubric:

  • OEM win rate by tier. Pilot OEMs share win/loss outcomes. We calibrate weights to maximize Tier A → win conversion.
  • BD-killed Tier A leads. Every Tier A that BD kills with a documented reason becomes a training signal. We re-weight to suppress the failure mode.
  • Customer-flagged misses. The refund-on-miss policy is a forcing function: every miss costs us money, so we are direct-incentivized to learn from it.

Weights are re-fitted quarterly. v2.4 (April 2026) re-fitted from ~2,400 deployments. The fit error on Tier A precision is currently 0.13 — meaning ~87% of Tier A scores convert through to a closed deployment in the partner's pipeline.

4. False-positive guarantee

If a Tier A score fails diligence, we refund the score. Full stop. We log the miss, document the cause, and feed it back into v(n+1).

This is not customer-service theater. It's a calibration mechanism — every refund is a free training signal. We've refunded 4.2% of Tier A scores in v2.4. That number is trending down quarter over quarter.

5. What BcalScore is not

  • Not a full feasibility study. An A score means "worth a salesperson's time" not "shovel-ready." Engineering still has to engineer.
  • Not a substitute for a meter pull. Load is benchmarked, not metered. Real interval data improves the score by ~6 points on average.
  • Not a permitting checker. AHJ history is signal, not guarantee. Local politics still matter.
  • Not a contact opt-in proxy. A verified DM email is not consent to outreach. Use it appropriately.

6. Where the rubric will evolve

Active research areas for v2.5+:

  • Hourly tariff arbitrage scoring (CAISO + ERCOT-specific)
  • H₂-ready FC scoring (incremental factor)
  • EPC-specific risk score (sub-rubric)
  • Distributed-generation interconnection queue depth
  • Behind-the-meter battery co-deployment lift

Want the calibration set? We'll share the anonymized 2,400-deployment fit dataset with serious BD partners under NDA. Email score@bcalenergy.com.