Back to scorecards

Grading Methodology

CivicPulse accountability grades are computed algorithmically from public records. We are nonpartisan — our goal is transparency, not advocacy. Here's exactly how every score is calculated.

Attendance Rate (20%)

Percentage of scheduled council votes the official was present for. Sourced from official meeting minutes and voting records.

  • •Absences for medical or official travel may not be flagged in raw data
  • •Data sourced from Legistar / Granicus agendas
Constituent Alignment (30%)

How often an official's vote matched the outcome of district ballot measures voted on by residents. A "yes" vote on a passed measure = aligned.

  • •Only applies when there is an overlapping ballot measure and council vote
  • •Higher weight because it reflects direct voter will
Promise Kept Score (25%)

Proportion of campaign promises fulfilled vs broken, with pending promises counting as half credit.

  • •Promise status is manually curated by CivicPulse editors
  • •Promises marked ✓ = kept, ✗ = broken, unlabeled = pending
Donor Alignment (15%, inverted)

How often an official voted in favor of measures also supported by their top 5 campaign donors. High alignment reduces the score — it suggests potential conflicts of interest.

  • •This metric is a red flag indicator, not a definitive finding of corruption
  • •Uses campaign finance data from FPPC / Cal-Access / SF Ethics
Party-Line Voting (10%)

How often an official voted with their party caucus. Extreme party-line voting (>95%) lowers the score slightly, rewarding independent judgment.

  • •Score: >95% party-line = 40pts, 86-95% = 65pts, 71-85% = 85pts, ≤70% = 95pts
  • •This is a minor factor and intentionally weighted low
Grade Scale
A
ExcellentScore: 90–100
B
GoodScore: 80–89
C
FairScore: 70–79
D
PoorScore: 60–69
F
FailingScore: 0–59
?
Insufficient dataScore: N/A

Limitations: These scores are automated estimates based on available public data. They may not reflect the full context of an official's decisions, personal circumstances, or district-specific priorities. Constituent alignment and donor alignment metrics require sufficient overlapping data to be meaningful. Officials with low data availability receive a "?" grade. CivicPulse is nonpartisan and does not endorse or oppose any candidate or official.