Methodology
Data Sources
Metro Council Watch aggregates public data from multiple official sources to provide a comprehensive view of campaign finance activity:
- Davidson County Election Commission (DCEC) - Campaign finance filings via EasyVote. We poll new documents, stage itemized contribution rows, and attach the official PDF.
- Nashville Metro Clerk / Legistar - Council member information and legislative records
- U.S. Census Bureau Geocoding API - Address verification and geographic classification
- Metro Nashville GIS - Council district boundary data for point-in-polygon location lookups
Data Extraction Process
Campaign finance data is not a live dump of the DCEC contribution API. The public site shows filings an editor has approved:
- A daily poller lists new DCEC documents, matches them to council members, and stages itemized contribution rows from the DCEC API.
- An admin attaches the official disclosure PDF (EasyVote does not give us a download URL).
- We extract the PDF for employer, occupation, and address, then an admin reviews before anything is public.
- Approval writes contributors and donations. A later filing for the same member and period replaces the live donations; the prior filing stays on file.
Duplicate contributions are detected using a combination of member ID, contributor name, amount, and date to prevent double-counting across data sources.
Finance Grade Calculation
Each council member receives a letter grade (A through F) based on where their campaign contributions originate. The grade reflects the degree to which a member is funded by local constituents versus outside interests.
Location Weighting:
- In-district: 100% weight - Direct support from constituents the member represents. For at-large members, the Mayor, and the Vice Mayor this is all of Davidson County.
- Nashville (outside district): 75% weight - Local support from elsewhere in Davidson County.
- Tennessee (outside Nashville): 50% weight - Statewide interest.
- Out of state: -75% weight - External influence, treated as a penalty.
Grade Thresholds:
- A (≥80%): Strong local support
- B (≥65%): Good local support
- C (≥50%): Mixed local and outside funding
- D (≥30%): Mostly outside support
- F (<30%): Minimal local support
Note: Members who have raised less than $10,000, including $0 with a processed filing, show "N/A" / Grade Pending instead of a letter grade. Unitemized and unknown bulk amounts are excluded from the score.
Note: In-kind contributions (non-monetary donations of goods, services, or other items of value) are included in all totals and grade calculations at their reported monetary value. Tennessee campaign finance law requires candidates to report in-kind contributions at fair market value, so they are treated identically to cash contributions for the purposes of location weighting and grade calculation.
Donation Type Categories
Contributions are automatically classified into categories based on pattern matching of contributor names and organization indicators:
- Individual: Personal donations from people (the most common type)
- PAC: Political Action Committees and advocacy organizations
- Union: Labor organizations (SEIU, IBEW, Teamsters, etc.)
- Campaign Committee: Other politicians' campaign funds ("Friends of...", etc.)
- Party: Political party organizations (Democratic Party, Republican Party)
- Corporate: Businesses and companies (LLC, Inc., Corp., etc.)
- Self: Candidate self-funding (when the contributor name matches the council member)
Location Classification
Each contribution is classified by its geographic origin:
- District: The contributor's address is within the council member's specific district (for at-large members, the Mayor, and the Vice Mayor, this includes all of Davidson County)
- Nashville: Davidson County, but outside the member's district
- Tennessee: Within Tennessee but outside Davidson County
- Out of State: Outside Tennessee
- Unknown: Bulk filings or unitemized contributions where location cannot be determined
Note: Political organizations (PACs, unions, campaign committees) are never classified as "District" because they represent organizational interests rather than constituent support, even when headquartered locally.
Data Limitations
We believe in transparency about what our data can and cannot show:
- Bulk filings: Some disclosure forms list contributions as "See Attached" without providing the attached itemization. These contributions are included in totals but excluded from grade calculations since we cannot determine their source.
- Unitemized contributions: Small donations reported as lump sums without individual donor details are classified as "Unknown" location.
- API rows vs PDFs: DCEC API rows give name, amount, and date. Employer, occupation, and a complete address usually come from the attached PDF. A filing can be staged from the API before the PDF extract is approved.
- Address accuracy: Location classification depends on the accuracy of addresses provided in filings. We use Census Bureau geocoding when possible, with ZIP code fallback for ambiguous addresses.
- Donor names: Names are shown as filed. Tennessee campaign finance filings are public record. We currently match people on exact name plus address, so the same person can appear twice when filings disagree.
Update Frequency
Data is updated periodically as new campaign finance disclosures become available from DCEC. The 2023 election cycle data is considered complete. The 2027 cycle data is updated as new filings are processed.
For the most authoritative and up-to-date information, we encourage users to consult the official records at the Davidson County Election Commission.
Changelog
A record of significant data updates and methodology changes:
- September 2, 2026
Joined accounts who opt in get a Friday email. It names the next council meeting, and when Metro Council met that week it runs down the featured bills (file numbers, results, floor and public-hearing time, YouTube Watch) plus the bills that took the most floor or hearing time. People you follow are sectioned by district, Mayor and Vice Mayor, and at-large. Weeks without a meeting still send. Unsubscribe lives in the footer and on /account. This is not a voting or activity grade.
- September 2, 2026
The homepage finds your district member from a Nashville street or a district number. That card shows their finance grade, attendance, bills, and vote count. An email there opens how they vote and who pays them. The lookup does not store your address.
- September 2, 2026
Joining with an email no longer requires a terms checkbox. Fine print under the field is implied consent to the terms and privacy policy.
- September 2, 2026
Homepage join sits under the last meeting, not above it. Drop an email there to open the record. The hero sends you to find your member, then the latest meeting. Directory names wrap instead of cutting off.
- September 1, 2026
Join asks you to agree to the terms before sending a code, and shows an error if you skip that box. The Pamphleteer newsletter opt-in is the last step, not the first. Your district member card shows a finance grade, attendance, bills, votes, and bio.
- September 1, 2026
Tracker is in the site header for everyone. If you are not joined, /tracker shows a four-row demo (a vote, a disclosure, an introduced bill, and a co-sponsor) and asks you to join. Joined accounts still get their own follow list. Finish join first if you only verified email.
- September 1, 2026
The vote-agreement matrix lives on the Blocs tab of /council. It is not in the site header. Mayor and Vice Mayor stay off that tab. /council/voting-matrix redirects there.
- September 1, 2026
Tracker dates a co-sponsor on the Nashville day they signed onto the bill (Legistar's sponsor last-modified stamp), not the day the bill was introduced. Introduced bills still sit on the intro date. A processed filing with $0 raised is N/A, same as any total under the grade floor; it is not an A+.
- September 1, 2026
The homepage photo is identity (Metro, in English). Directly under it: three columns (who bankrolls your rep, what they do, watch the meeting), then Join to follow sitting members, stay on new bills, and unlock donor tables and the full docket. The rest of the page is the next meeting, last-meeting navigator, graded filings, and Pamphleteer.
- August 31, 2026
The council directory sorts money by out-of-state share, out-of-district share, self/loan share, and small-dollar share ($100 and under), after finance grade and amount raised. Activity is a second tab on /council: sitting district and at-large members, 2023-present, with the same Overview counts. Click Attendance, Bills (introduced, co-sponsored), or Votes (roll call through absent on a roll call) to sort. That tab has no Mayor or Vice Mayor. It is not an activity grade. On a member finance tab you can download the itemized table as CSV, see dollars by day stacked by location (the chart follows the Disclosure dropdown), and group individual donors by employer. Three or more distinct donors to that member from the same employer is flagged as worth a second look, not an accusation.
- August 31, 2026
The homepage is a public pitch for the site, not a last-vote feed or the sitting roster. Photo hero (Metro, in English), the next council meeting when it has featured bills, the last meeting as a video navigator (click a featured row to jump the Metro Nashville Network YouTube VOD to that item), recent graded campaign filings, and Pamphleteer newsletters. Join is a nudge. The roster stays on /council as your electeds. For Mayor, Vice Mayor, and at-large seats, Davidson County donations count as in-district when we grade, even if the stored location tag says Nashville. Join asks you to agree to the terms; the Pamphleteer daily newsletter is a separate opt-in.
- August 30, 2026
Joined accounts get Tracker at /tracker: recent votes (grouped by bill), bills they introduced, bills they signed onto as co-sponsors, and campaign disclosures with amount raised and a finance grade. Show and Person menus filter the list. Earlier activity appends older windows. The homepage stays citywide for everyone. Finish join first if you only verified email. You can follow nobody.
- August 30, 2026
You can join Council Watch at /join. Gated tabs (donors, votes, activity, blocs, full docket) send you there. A verified email unlocks that depth. Address, follows, and a weekly email are optional; you can skip them and you do not have to follow anyone. Join can autocomplete a Nashville address (Mapbox), map it to your Metro district, show that district member, then a follow list (district member, five at-large, Mayor, Vice Mayor). The address is stored if you give it. Account at /account edits that slate and signs you out. Admin login stays separate.
- August 30, 2026
Featured bills get a short card title and 1-3 sentences on what the legislation does, written from the Legistar bill text after sync, not on page load. Copy does not describe votes or passage. The original clerk title sits in an As filed card on the bill page. The meetings index previews the two most recent past meetings instead of listing the next docket. View full agenda opens the Council Watch meeting page. An editor can change or rewrite one featured bill at a time in admin. The rest of the docket stays behind the email gate.
- August 29, 2026
Meeting pages now lead with featured bills: contested roll calls first, then longest hearing or floor time, and an editor pin never drops. A bill the clerk only called (no measurable discussion) stays off the auto list even if it passed on third reading. Past meetings show the YouTube VOD length, the residents' public-comment period (until the next timed agenda item), and public hearings on bills (hearing section until consent). A bill can show Floor and Public hearing as separate clocks; those pills are the Watch links. General public comment is not mapped onto bills. The rest of the docket is behind the same email gate as donor and vote tables. Watch is the Metro Nashville Network YouTube video at the clerk's call (Granicus call time minus Call to Order). Floor time is the gap between those starts, not agenda order. Hearing-closed times are stamped at ingest from Granicus captions, never on page load.
- August 29, 2026
The homepage is now a public activity front: the last contested council roll call as yes/no faces, a few other bills and new filings, then the sitting roster. Search, sort, map, and the 2023/2027 cycle toggle live on /council. The letter on member cards is still a campaign-finance grade (local vs outside money), not a voting or activity score.
- August 29, 2026
Mayor and Vice Mayor profiles are first-class when marked active. Both are finance-only (campaign finance grade and donors, plus bio and socials). They are not on the voting-agreement matrix and do not have vote, attendance, or sent-to-mayor bill lists. In-district for those citywide offices (and at-large seats) is all of Davidson County.
- August 29, 2026
Individual donor names are shown as filed, replacing the previous first-name-and-last-initial display. Tennessee campaign finance is public record. Grade weights and letter-grade thresholds on this page now come from the scoring code so they cannot drift. The grade-pending floor remains $10,000.
- March 16, 2025
Added meeting attendance tracking synced from Legistar roll call data, with attendance stats and missed meetings shown on each member's Activity tab. Added legislation detail pages with procedural timelines, vote history, sponsors, and attachments. Member profile pages now feature an overview tab with summary cards, a sidebar with bios and social links, and voting bloc analysis showing top allies weighted by vote contestedness. Vote tallies are now computed from actual roll call records. Legislation titles are summarized for readability. Vote filters and tab state persist in the URL.
- March 12, 2025
Raised the minimum fundraising threshold for finance grades from $5,000 to $10,000. Members who have raised less than $10,000 in a cycle will now show "Grade Pending" instead of receiving a letter grade. This prevents volatile grades for members with very low fundraising totals where a single donation can swing the score dramatically.
- March 10, 2025
At-large member pages now show Nashville-specific funding labels ("Nashville" and "Outside Nashville") instead of the district-oriented labels used for district members. Individual donor names are now displayed as "First L." format across all contribution tables, replacing the previous "Small Donor" label. Fixed a bug where some individual donors were incorrectly labeled as "Self" contributions; this did not affect any member's grade.
- March 5, 2025
Improved PAC location classification. Statewide PACs (those with "Tennessee" or "TN" in their name) are now categorized as "Tennessee" regardless of their mailing address. Also fixed several Nashville-based PACs that were incorrectly categorized as "Tennessee". As a result of these corrections, Brandon Taylor's 2023 finance grade changed from B to C.
- February 18, 2025
Added "Filing" filter to contributions table on profile pages, allowing users to view contributions from a specific disclosure. Added "Recently Processed Disclosures" table to homepage showing the 10 most recent filings with contribution counts and totals.
- February 7, 2025
Added transition badge display for 2027 cycle candidates seeking different offices. Badges now show the transition (e.g., "D-24 → D-6") when a member is running for a different position than they currently hold.
- February 4, 2025
Updated election cycle assignment to use the election date declared in each filing (Field 3) rather than contribution dates. This ensures contributions are correctly attributed to the election cycle they were raised for. Backfilled all existing filings with corrected election cycles.
- January 2025
Initial launch with 2023 election cycle data for all 40 council members. Added 2027 election cycle tracking for members who have begun fundraising.
Questions or Corrections?
If you believe any data is inaccurate or have questions about our methodology, please contact us at [email protected].
