The Tampa Memo
Friday, Sept. 11Power hates a paper trail. 

← All scorecards

HOW WE COUNT

Where every figure on a scorecard comes from.

Nothing on a scorecard is our estimate of anyone. Every number is counted from a document the official signed or a record the government published, and each one links back to its source. This page says what we counted and, just as importantly, what each number does not mean.

Net worth and salary

From the official's own Form 6, filed with the Florida Commission on Ethics. Each figure shows its form year, the date the filing was signed and the date the net worth speaks to, because those are three different dates. The newest filings were signed in mid-2026 and report net worth as of Dec. 31, 2025.

Public salary is shown two ways. As reported: the part of the official's own primary income on Form 6 paid by the county or the city, for the calendar year filed; filers write their employer freehand, so we match the several ways they name it. As budgeted: what the government's adopted budget sets for the seat, from the city's FY2026 position supplement. The two differ for members who took office mid-year and because one is a calendar year and the other a fiscal year.

Coverage is uneven. Not every official has filed for the same year, so comparing two people's net worth may mean comparing two different years.

Votes, attendance and participation

Attendance and participation are two different measures and are shown as two. For the council, meeting attendance comes from the opening roll call in the minutes, which names who was present and who was absent for the day. Vote participation comes from each motion, where "absent at vote" is a member who was at the meeting and stepped out for that vote. A member absent for the day is not counted as voting on anything.

For the county, the clerk's roll-call file records four things on each vote: yes, no, abstain, and no vote registered. None of them is attendance, which the clerk does not take. So a dissent is a no vote only, abstentions and unregistered votes are each counted on their own, and a day with no vote registered on any item is reported as exactly that, not as an absence. The clerk publishes the file on a lag, so the record continues from the meeting recaps after its last published day, and profiles show both dates.

Most votes at both bodies are unanimous consent items, so a high participation or agreement rate is normal and says little on its own. Motions moved counts the mover only, the first name in "(Mover-Second)"; a second is counted separately and is not authorship.

Where they stood

Key votes are matched by keyword against the subject of each roll call, the motion in the recap or minutes, and the agenda item it belongs to. The topics and their patterns are a plain configuration file, and a vote is listed under every topic it matches. Contested votes, where at least one member voted no, are listed first. Nothing is summarised into a score: the reader sees each vote, how it went, and a link to the record.

Keyword matching is broad on purpose. A vote that merely mentions a topic in passing will appear, and a vote on the topic that never names it will not. Read the vote text, not just the tally.

Sponsored items and pass rate

Sponsored items are the agenda items an official put up themselves. For the county that is the F section of the agenda, where each item names its sponsoring commissioner. For the council it is the New Business and Information Reports by Council Members section of the minutes, where every motion is a member asking the council to do something and the mover is the sponsor. Each item is labelled by what it is: an ordinance, a directive, a request for a report, a resolution or a plain motion. Pass rate is about those items, not about motions: a motion is usually the procedural step of approving a consent item, while a sponsored item is the thing the official actually asked the board to do. The rate counts items the board decided, passed against failed.

The outcome of a county item is the last motion that actually disposed of it, not the first motion made. A rejected substitute voted on first is not the outcome; a motion to table that passes 7–0 is a tabling, not a passage; and where the recap's label and its tally disagree, the tally decides. Where the sponsor voted against their own item, or a substitute carried instead of their motion, the row says so, and where more than one motion was taken on an item every one is shown.

Items that carry no motion at all, such as received reports and special appearances, are counted separately and left out of the rate. Commendation and recognition requests are set aside for the same reason: they always pass. Ordinance items are counted on their own, because an official with few items who writes ordinances is producing more than one who files many report requests.

Land use

Counted from county zoning roll calls. A vote sides with development when the member votes yes on a motion to approve, or no on a motion to deny; against development is the reverse. Procedural votes are excluded: motions to continue, withdraw, remand, transmit, defer or table, and the housekeeping votes the clerk files under the same category, such as agenda changes and approving minutes.

The share on contested votes is the number that carries meaning. Most zoning votes pass unanimously, which pushes nearly every member's overall share above 90 percent and tells you almost nothing. A contested vote is one where at least one member voted no, and that is where members actually differ.

The council is counted the same way. Its rezonings are filed under REZ numbers and heard as public hearings, so the run of procedural motions each hearing generates, opening and closing the hearing, receiving and filing, reading titles, is excluded and only the vote on the case itself counts.

Comprehensive plan votes are not folded in. Urban service area expansions are counted separately. This rule lands within about three percent of the per-commissioner totals in the newsroom's own prototype.

Money in and out

Contributions and spending come from campaign finance filings with the Hillsborough elections office and the state. An official's political committees are counted alongside the candidate account, because the money is theirs to direct either way; which committees belong to whom is recorded in the roster with its source. Where a committee's line items are not on hand, its own periodic summary reports supply the totals, and the page says which figure it is showing.

Every dollar figure names its election cycle and the date of the last transaction on file, because a total with no through-date cannot be checked. A loan from the candidate to their own campaign is not a contribution, and a refund is not income; both are shown on their own lines. Donor categories are assigned from the employer and occupation written on each contribution, so they summarise what filers wrote rather than judging any donor. Every contribution and every payment is listed in full, searchable, with a link to its filing.

What they own and owe

Every asset and liability line over $1,000 from the newest Form 6 is listed as filed, with the income sources. Business names in those lines are shown as written; where a corporate record has been resolved it is linked, and where it has not, nothing is inferred.

Lobbying

County lobbyist meetings come from the quarterly reports commissioners file. City meetings come from what the city itself calls the Lobbyist/Visitor Meeting Log, which lobbyists must fill in before a meeting happens; it was read through a browser, one council member at a time, and checked against the log's own row counts. Because the log holds visitors as well as registered lobbyists, the city figure is labelled logged lobbyist/visitor meetings, rows with no lobbyist principal are marked as visitors, and canceled meetings are counted separately. Every row is listed, with the count for the current term shown apart from the whole record.

When this was compiled

These pages were built from records collected on Sept. 11, 2026. Corrections are welcome at editor@tampamemo.com.