CrewGraphs

Methods

How these figures are made

CrewGraphs is a reference for the identity and nonprofit finances of US rowing organizations, built entirely from public IRS filings. Every figure on the site carries its provenance: click any number to see the exact filing, form line, and parser version it came from. This page documents the rules that connect a filing to a figure — and the places where the honest answer is “the form doesn’t say.”

Data through the Aug 31, 2026 publish.

Sources & licenses

Everything published here originates in five public sources. Filings are fetched as the IRS-published XML, stored immutably with checksums, and parsed by our own extractor — no source’s numbers are republished wholesale, and no figure is displayed without a link back to where it came from.

IRS Form 990 / 990-EZ e-file
Authoritative IRS Form 990 and 990-EZ electronic filing facts.
IRS e-file data; concept mapping acknowledges the Nonprofit Open Data Collective (NODC) concordance as reference material.
IRS Exempt Organizations Business Master File
IRS Exempt Organizations Business Master File identity observations.
Source: Internal Revenue Service Exempt Organizations Business Master File.
IRS Form 990-N (e-Postcard)
IRS Form 990-N e-Postcard filing-presence observations.
Source: Internal Revenue Service Tax Exempt Organization Search bulk data.
GivingTuesday 990 Data Lake
GivingTuesday 990 Data Lake per-filing IRS XML mirror.
GivingTuesday 990 Data Lake data is used under the Open Database License (ODbL); derivative databases remain subject to share-alike.
ProPublica Nonprofit Explorer
ProPublica Nonprofit Explorer identity and filing cross-checks.
Data cross-checked with ProPublica Nonprofit Explorer; ProPublica values are not canonical CrewGraphs facts.
herenow
HereNow Sports regatta timing results ingested from the public Breeze API.
Results are linked back to legacy.herenow.com.
regattatiming
Regatta Timing LLC public results pages.
Results are linked back to results.regattatiming.com.
row2k
row2k results directory; discovery index only.
Results are linked, never copied, per row2k policy; credit row2k.
time_team
TIME TEAM Regatta Systems / USRowing white-label public JSON API results.
Results are linked back to usrowing.regatta.time-team.com.

Per-filing XML is retrieved from the GivingTuesday 990 Data Lake, which is made available under the Open Database License (ODbL) v1.0; databases derived from it, including this one, remain subject to its share-alike terms. ProPublica’s Nonprofit Explorer is used to cross-check our extraction — six anchor values per filing must match exactly — but ProPublica values are never published as CrewGraphs facts. Our concept map was seeded with reference to the Nonprofit Open Data Collective’s master concordance, which we acknowledge with thanks.

From filing to figure

CrewGraphs extracts a fixed catalog of 24 financial concepts from each Form 990 or 990-EZ — nothing more. Each concept maps to specific elements of the IRS e-file XML schema, listed below exactly as the extractor reads them (concept map cm-2026.07.1). The provenance drawer on any figure shows the same element as the value’s source path.

When the map or extractor changes, filings are re-parsed under a new version and the results are published as new value rows — published history is corrected forward, never edited in place.

ConceptForm 990Form 990-EZ
Revenue
Total revenueCYTotalRevenueAmtTotalRevenueAmt
Revenue less expensesCYRevenuesLessExpensesAmtExcessOrDeficitForYearAmt
Contributions & grantsOn the full 990 this line includes membership dues treated as contributions; on the EZ it does not.CYContributionsGrantsAmtContributionsGiftsGrantsEtcAmt
Program service revenueCYProgramServiceRevenueAmtProgramServiceRevenueAmt
Membership duesAn optional line — many clubs report member income as program service revenue instead.MembershipDuesAmtMembershipDuesAmt
Investment incomeCYInvestmentIncomeAmtInvestmentIncomeAmt
Fundraising events (gross)FundraisingGrossIncomeAmtGrossIncomeFundraisingEventsAmtFundraisingGrossIncomeAmt
Fundraising events (net)On the full 990 this is computed: gross event income minus direct event expenses.FundraisingGrossIncomeAmtFundraisingDirectExpensesAmtSpecialEventsNetIncomeLossAmt
Other revenueCYOtherRevenueAmtOtherRevenueTotalAmt
Expenses
Total expensesCYTotalExpensesAmtTotalExpensesAmt
Grants paidCYGrantsAndSimilarPaidAmtGrantsAndSimilarAmountsPaidAmt
Salaries & benefitsCYSalariesCompEmpBnftPaidAmtSalariesOtherCompEmplBnftAmt
Officer compensationOn the EZ this is summed across the officer table rather than read from a single line.CompCurrentOfcrDirectorsGrp/TotalAmtCompCurrentOfcrDirectorsAmtOfficerDirectorTrusteeEmplGrp/CompensationAmt
Professional fundraising feesFeesForServicesProfFundraisingGrp/TotalAmtFeesForServicesProfFundraising
OccupancyOccupancyGrp/TotalAmtOccupancyRentUtltsAndMaintAmt
Program service expenseTotalFunctionalExpensesGrp/ProgramServicesAmtTotalProgramServiceExpensesAmt
Management & general expenseTotalFunctionalExpensesGrp/ManagementAndGeneralAmt
Fundraising expenseTotalFunctionalExpensesGrp/FundraisingAmt
Balance sheet
Total assets (end of year)TotalAssetsEOYAmtTotalAssetsGrp/EOYAmtForm990TotalAssetsGrp/EOYAmt
Total liabilities (end of year)TotalLiabilitiesEOYAmtTotalLiabilitiesGrp/EOYAmtSumOfTotalLiabilitiesGrp/EOYAmt
Net assets (end of year)TotalNetAssetsFundBalanceGrp/EOYAmtNetAssetsOrFundBalancesEOYAmtNetAssetsOrFundBalancesEOYAmtNetAssetsOrFundBalancesGrp/EOYAmt
Cash & savings (end of year)On the full 990 this sums two cash lines. The EZ line also mixes in investments, so EZ values are marked partial.CashNonInterestBearingGrp/EOYAmtSavingsAndTempCashInvstGrp/EOYAmtCashSavingsAndInvestmentsGrp/EOYAmt
Land, buildings & equipment (net)LandBldgEquipBasisNetGrp/EOYAmtLandAndBuildingsGrp/EOYAmt
Organization
Employee countTotalEmployeeCnt

Where two elements are listed, filings across schema years name the same line differently and the extractor accepts either. A dash means the form has no such line — see the missing-vs-zero rule below.

Missing vs. zero

The strictest rule on the site: an absence of data is never shown as a value of zero. The two mean different things, and IRS forms make the distinction constantly.

  • Not on the form.Form 990-EZ has no line for several concepts (management & general expense, fundraising expense, professional fundraising fees, employee count). For EZ filers these render as “unavailable — not on 990-EZ,” never as $0.
  • Not filed that year.Gaps in a trend are left as gaps. Lines are never interpolated across a missing year, and the IRS e-file corpus itself has a documented thin patch in 2021–2022 that no processing on our side can fill.
  • Form 990-N filers. The e-Postcard confirms a small organization is active but reports no financial figures at all. 990-N-only organizations appear with their filing years and an explanation — presence, not financials. Roughly a fifth of known rowing organizations live here permanently, by design of the form.
  • Timing.Every figure is dated to the fiscal year it represents. Public filings lag their fiscal year end by 6–18 months, so the newest complete year on a profile is usually one to two years behind today.

Quality states

Every published value carries one of five quality states, shown as a chip wherever the value appears:

Verified
Read directly from an IRS filing at the source path shown in the provenance drawer.
Derived
Computed by CrewGraphs from verified inputs under a versioned metric definition (the catalog below). The drawer lists the definition and version.
Partial
The form reports the concept incompletely — for example, the 990-EZ cash line mixes cash with investments. Shown with the caveat, and never eligible for rankings.
Unavailable
The form has no line for this concept, or the year is unfiled. Distinct from zero, always labeled.
Under review
Something about the filing doesn’t reconcile — most commonly a return whose own reported totals fail an accounting identity. The value is held out of comparisons and rankings until a person has reviewed it, rather than published as fact.

Comparing organizations

Comparisons align on the IRS tax year (TaxYr) from each return’s header, not the calendar year the fiscal year happens to end in — for a June-fiscal-year club, “FY2023” is the year that began in July 2023. Each organization’s fiscal year end month is surfaced alongside, and the compare page defaults to the newest tax year all selected organizations have filed.

A caution that matters in rowing: the racing name on the water and the legal entity that files with the IRS are different things in roughly two of every five organizations here — booster clubs, school programs, sibling foundations. Profiles state whose money is being shown and link related entities, and comparisons should be read the same way.

Amended returns

When an organization files an amended return, the amendment becomes the authoritative source for that year and its figures carry an “amended” marker. The superseded original is retained — provenance links keep working — but it no longer feeds published figures.

People

Officer and director listings come from each filing’s compensation schedule (Form 990 Part VII; the 990-EZ officer table). Most rowing nonprofit boards are volunteers, so profiles list compensated individuals with their reported role, hours, and compensation, and summarize uncompensated directors as a count — less noise, and no republishing of volunteers’ names. People appear for every filed year, exactly as reported.

Metric definitions

Derived metrics are versioned definitions, published with the same provenance as raw concepts. There is deliberately no composite “club score”: each metric states what it measures, what a value needs to qualify, and what it cannot tell you.

Compensation intensity

compensation_intensity · v1 · percent

Salaries and benefits ÷ total expenses, per fiscal year.

Eligibility: Total expenses must be positive in that fiscal year.

Limitation: Reflects all reported compensation, not coaching payroll specifically.

Contribution dependency

contribution_dependency · v1 · percent

Contributions and grants ÷ total revenue, per fiscal year.

Eligibility: Total revenue must be positive in that fiscal year.

Limitation: Clubs classify member income differently; compare within similar program types.

Membership dues share

membership_dues_share · v1 · percent

Membership dues ÷ total revenue, per fiscal year.

Eligibility: Total revenue must be positive in that fiscal year. Membership dues must be reported on the filing (not absent).

Limitation: The dues line is optional on Form 990; many clubs report member income as program service revenue instead.

Operating margin

operating_margin · v1 · percent

(Total revenue − total expenses) ÷ total revenue, per fiscal year.

Eligibility: Total revenue must be positive in that fiscal year.

Limitation: A single year can swing on one-time gifts or capital projects; not a health grade.

Program service share

program_service_share · v1 · percent

Program service revenue ÷ total revenue, per fiscal year.

Eligibility: Total revenue must be positive in that fiscal year.

Limitation: Membership and entry fees may be reported as program service revenue or dues depending on the club.

Revenue growth (CAGR)

revenue_cagr · v1 · percent

Compound annual growth rate between the earliest and latest comparable total-revenue observations in the selected window.

Eligibility: At least 3 comparable annual observations.

Limitation: Requires at least three comparable annual filings; window boundaries are disclosed with the value.

Corrections

If a figure looks wrong, it is either faithfully extracted from a filing that is itself wrong, or our extraction erred — both are worth hearing about. Every profile has a report a correction entry point; corrections are reviewed by a person and resolved through the same audited process as every other identity decision on the site.