R package for creating a nonprofit governance index score from IRS Form 990 efile data. It normalizes the governance and management fields of the 990 into a binary feature matrix, then scores them against a factor model derived empirically from the full filing population for benchmarking.
governance scores; it does not download data. Retrieving and assembling the
990 efile tables is handled by the companion
panel990 package,
which governance calls for you through get_governance_data() and
get_governance_scores().
devtools::install_github( 'nonprofit-open-data-collective/governance' )The workflow is two steps: normalize raw 990 fields into features with
get_features(), then score them with get_scores().
The index uses Form 990 Parts IV, VI, and XII and Schedule M, and applies to
full 990 filers only (not 990EZ). get_governance_data() handles the
retrieval, the full-990 filter, and the merge:
# remotes::install_github("Nonprofit-Open-Data-Collective/panel990")
dat <- get_governance_data(years = 2022) # one row per filing, ready for get_features()
scores <- get_governance_scores(years = 2022) # or the whole pipeline in one callSee the Download Data vignette for the required tables, the field list, and the panel990 workflow.
The package also ships a ready-to-use example (a 5,000-organization sample of raw 2022 fields) so you can try the workflow without downloading anything:
data("dat_example", package = "governance")
set.seed(57)
dat_example <- dat_example[sample(seq_len(nrow(dat_example)), 200), ]features_example <- get_features(dat_example)scores_example <- get_scores(features_example)get_scores() appends six factor scores and a total.score. See the
Governance Workflow vignette
for a fuller walk-through and the
Making Governance Scores vignette
for the methodology.
- Beck, O., & Lecy, J. (2024). Nonprofit governance Package for R. Zenodo. https://doi.org/10.5281/zenodo.10781066