An R package for calculating nonprofit fiscal health accounting metrics from IRS 990 data.
fiscal turns IRS 990 financial data into a standard set of nonprofit
fiscal-health metrics — liquidity, leverage, margins, efficiency, and reserves —
each computed the same way every time so results are comparable across
organizations and years. Every get_*() metric function appends four columns to
your data (raw, winsorized, z-score, and percentile rank), and compute_all()
runs the entire battery at once.
It pairs with
panel990,
which retrieves and normalizes the underlying 990 e-file panels: assemble and
clean data with panel990, then score it with fiscal.
- ~50 fiscal-health ratios — a curated library of liquidity, leverage, profitability, efficiency, and reserve metrics with documented formulas.
- Four versions per metric — raw, winsorized (
_w), standardized (_z), and percentile rank (_p), so outliers and scale never distort comparisons. - One-call scoring —
compute_all()appends every metric to a data frame. - Sensible 990 defaults, overridable — each function defaults to the correct e-file field names but accepts your own column names.
- Pipe-enabled and form-aware — handles both full 990 and 990-EZ filers;
blank financials are interpreted correctly via
sanitize_financials(). - Panel-ready — retrieve, deduplicate, and smooth multi-year panels through
thin wrappers over
panel990, then score every organization-year.
fiscal depends on panel990; installing from GitHub pulls it in
automatically via the package's Remotes: field.
# install.packages("pak")
pak::pkg_install("nonprofit-open-data-collective/fiscal")The package bundles dat10k, a 10,000-row sample of 990 financials, so this
runs offline with no download:
library(fiscal)
# The entire battery of fiscal-health metrics, appended to your data:
scored <- compute_all(dat10k) # dat10k = bundled 990 sample
head(scored)
# ...or a single metric (adds debt_assets + _w / _z / _p):
df <- get_debt_assets_ratio(dat10k)library( fiscal )
help( get_debt_assets_ratio ) # function documentation Description Calculate the debt to asset ratio and append it to the dataframe.
debt_assets = total_liabilities / total_assets
Usage
get_debt_assets_ratio( df,
debt = c( "F9_10_LIAB_TOT_EOY", "F9_01_NAFB_LIAB_TOT_EOY" ),
assets = c( "F9_10_ASSET_TOT_EOY", "F9_01_NAFB_ASSET_TOT_EOY" ),
winsorize = 0.98,
sanitize = TRUE,
summarize = FALSE )
Arguments
df: A data.frame containing the required fields for computing the metric. The metric will be appended to this dataset.debt: Column name(s) for total liabilities. (On 990: Part X, line 26B;F9_10_LIAB_TOT_EOY. On EZ: Part II, line 26B;F9_01_NAFB_LIAB_TOT_EOY.)assets: Column name(s) for total assets, EOY. (On 990: Part X, line 16B;F9_10_ASSET_TOT_EOY. On EZ: Part II, line 25B;F9_01_NAFB_ASSET_TOT_EOY.)winsorize: The winsorization value (between 0 and 1), defaults to 0.98 which winsorizes at the 1st and 99th percentile values.sanitize: IfTRUE(default), imputes zero for NA values in financial fields before computing the ratio, respecting form scope.summarize: IfTRUE, prints summary statistics and plots density curves for all four output columns.
df <- dat10k # sample of 10,000 rows from efile financials
# compute the debt-to-asset ratio
df <- get_debt_assets_ratio( df )
# fiscal health metrics have been appended to the original dataframe
head( df )
# defaults to efile variable names
# but you can override with your own column names
df <- get_debt_assets_ratio( df, debt = "my_liabilities", assets = "my_assets" )
# the function is pipe-enabled
df <-
df %>%
get_debt_assets_ratio()
# compute all ratio metrics at once
df <- compute_all( df, metrics = c("ratio","w","z","p") )The metrics argument controls which versions are returned:
| Value | Description |
|---|---|
"ratio" |
Raw financial ratio |
"w" |
Winsorized version |
"z" |
Z-score (standardized) version |
"p" |
Percentile rank (1–100) |
The append_to_df argument controls the output shape:
| Value | Returns |
|---|---|
TRUE (default) |
Original data frame with metric columns appended |
FALSE |
Efile identifier columns + metric columns only |
The functions are designed to create multiple versions of the fiscal health metric, print summary statistics, and visualize the density distribution. The four versions are added back to the original dataset.
For example, get_debt_assets_ratio() creates the following columns:
debt_assets— the raw debt-to-asset ratiodebt_assets_w— the winsorized versiondebt_assets_z— standardized as a z-scoredebt_assets_p— expressed as a percentile rank
df <- get_debt_assets_ratio( df = dat10k, summarize = TRUE )
# [1] "Assets equal to zero: 3 cases have been replaced with NA."
#
# debt_assets debt_assets_w debt_assets_z debt_assets_p
# Min. :-0.08372 Min. :0.09009 Min. :-2.36716 Min. : 1.00
# 1st Qu.: 0.39247 1st Qu.:0.39247 1st Qu.:-0.67281 1st Qu.: 25.00
# Median : 0.50623 Median :0.50623 Median :-0.03536 Median : 50.00
# Mean : 0.51315 Mean :0.51254 Mean : 0.00000 Mean : 50.35
# 3rd Qu.: 0.62853 3rd Qu.:0.62853 3rd Qu.: 0.64995 3rd Qu.: 75.00
# Max. : 1.24623 Max. :1.00150 Max. : 2.73988 Max. :100.00
# NA's :3 NA's :3 NA's :3 NA's :3ADD ALL METRICS TO DATASET
library( fiscal )
# retrieve efile data directly from NCCS
df <- retrieve_efile_data( year = 2021 )
# compute all metrics at once
df <- compute_all( df )
# or add individual metrics
df <- get_assets_revenue_ratio( df ) # Asset Revenue Ratio
df <- get_cash_assets_ratio( df ) # Cash and Savings to Assets Ratio
df <- get_cash_burn_ratio( df ) # Burn Rate Ratio
df <- get_cash_liquidity_ratio( df ) # Cash Liquidity Ratio
df <- get_cash_on_hand( df ) # Cash on Hand (dollar amount)
df <- get_current_ratio( df ) # Current Ratio
df <- get_days_cash_investments( df ) # Days of Cash and Investments
df <- get_days_cash_operations( df ) # Days of Cash on Hand
df <- get_debt_assets_ratio( df ) # Debt to Asset Ratio
df <- get_debt_equity_ratio( df ) # Debt to Equity Ratio
df <- get_debt_netassets_ratio( df ) # Debt to Net Assets Ratio
df <- get_debt_secured_ratio( df ) # Secured Debt Ratio
df <- get_debt_shortterm_ratio( df ) # Short Term Debt Ratio
df <- get_debt_unsecured_ratio( df ) # Unsecured Debt Ratio
df <- get_donations_revenue_ratio( df ) # Donation and Grant Dependence Ratio
df <- get_earned_income_ratio( df ) # Earned Income Dependency Ratio
df <- get_equity_ratio( df ) # Equity Ratio
df <- get_expenses_admin_ratio( df ) # Administrative Overhead Ratio
df <- get_expenses_affiliates_ratio( df ) # Payments to Affiliates Ratio
df <- get_expenses_compensation_ratio( df ) # Compensation Expense Ratio
df <- get_expenses_feesforservice_ratio( df ) # Fees for Services Ratio
df <- get_expenses_grants_ratio( df ) # Grants-to-Others Expense Ratio
df <- get_expenses_membbenefits_ratio( df ) # Member Benefits Expense Ratio
df <- get_fundraising_efficiency_ratio( df ) # Fundraising Efficiency Ratio
df <- get_grants_govt_ratio( df ) # Government Grant Ratio
df <- get_investment_income_ratio( df ) # Investment Income Dependency Ratio
df <- get_investments_assets_ratio( df ) # Investment Assets Ratio
df <- get_land_assets_gross_ratio( df ) # Land, Buildings, Equipment Ratio (Gross)
df <- get_land_assets_net_ratio( df ) # Land, Buildings, Equipment Ratio (Net)
df <- get_liquid_assets_months( df ) # Liquid Unrestricted Net Assets (Months)
df <- get_months_cash_operations( df ) # Months of Cash on Hand
df <- get_netassets_composition_ratio( df ) # Net Assets Composition Ratio
df <- get_netassets_growth_ratio( df ) # Net Assets Growth Ratio
df <- get_operating_reserve_ratio( df ) # Operating Reserve Ratio
df <- get_overhead_ratio( df ) # Overhead Ratio (mgmt + fundraising)
df <- get_profit_margin_postdepr( df ) # Post-Depreciation Profit Margin
df <- get_profit_margin_predepr( df ) # Pre-Depreciation Profit Margin
df <- get_program_expenses_ratio( df ) # Program Expense Ratio
df <- get_quick_ratio( df ) # Quick Ratio
df <- get_return_assets_ratio( df ) # Return on Assets
df <- get_return_netassets_ratio( df ) # Return on Net Assets
df <- get_revenue_fedcampaign_ratio( df ) # Federated Campaign Revenue Ratio
df <- get_revenue_fundevents_ratio( df ) # Fundraising Events Revenue Ratio
df <- get_revenue_membdues_ratio( df ) # Membership Dues Revenue Ratio
df <- get_revenue_programs_ratio( df ) # Program Service Revenue Ratio
df <- get_revenue_reltdorgs_ratio( df ) # Related Organizations Revenue Ratio
df <- get_self_sufficiency_ratio( df ) # Self Sufficiency Ratio
df <- get_surplus_margin_ratio( df ) # Surplus MarginThe package includes three functions for building and preparing multi-year panel datasets from the IRS 990 efile data.
Downloads multiple years of IRS 990 efile data and stacks them into a single long-format panel. Each year is retrieved independently via retrieve_efile_data(), stamped with TAX_YEAR, and combined with dplyr::bind_rows() — columns that appear in some years but not others are filled with NA.
# Retrieve a 4-year panel with default tables (P00, P01, P08, P09, P10)
panel <- get_panel( years = 2019:2022 )
dim( panel )
table( panel$TAX_YEAR )
# Retrieve without BMF metadata (faster; attach manually later)
panel <- get_panel( years = 2019:2022, include_bmf = FALSE )IRS 990 efile data can contain multiple filings per organization per year (amended returns, partial-year returns, group returns). deduplicate() reduces the panel to at most one record per EIN2 × TAX_YEAR using three ordered heuristics:
- Drop group returns —
RETURN_GROUP_X == "X" - Drop partial-year returns —
RETURN_PARTIAL_X == "X" - Keep most recent — retain the filing with the latest
RETURN_TIME_STAMP
If applying a drop rule would eliminate all records for an organization-year, those records are rescued and passed to the next step. The function prints a report showing records dropped at each step, by year, and a frequency table of how many filings existed per organization-year before deduplication.
panel_clean <- deduplicate( panel )
# Suppress the report
panel_clean <- deduplicate( panel, verbose = FALSE )Applies a centered rolling window average within each organization's time series to reduce year-to-year noise in financial variables. Returns a data frame with identical dimensions and column names — only the selected numeric columns are replaced with smoothed values.
The vars argument selects which columns to smooth:
| Value | Columns smoothed |
|---|---|
"PZ" |
PZ-scope fields (990 + 990EZ), via get_pz_fields() |
"PC" |
PC-scope fields (990 only), via get_pc_fields() |
"ALL" |
Union of PZ and PC fields |
| character vector | Custom list of column names |
Three weighting schemes are available:
| Scheme | Behavior |
|---|---|
"equal" |
Simple moving average — all window observations weighted equally |
"half" |
Center observation gets 1/2 weight; neighbors share the remaining 1/2 |
"decay" |
Exponential half-life decay from center (distance 1 → weight 1/2, distance 2 → 1/4, ...) |
# Full panel workflow
panel <- get_panel( years = 2019:2022 )
panel_clean <- deduplicate( panel )
# Smooth PZ-scope financial fields with a 3-year window
panel_smooth_pz <- panel_smooth( panel_clean, vars = "PZ", window = 3 )
# Smooth specific columns with decay weighting and a 5-year window
panel_smooth_custom <- panel_smooth(
panel_clean,
vars = c( "F9_01_REV_TOT_CY", "F9_01_EXP_TOT_CY", "F9_10_ASSET_TOT_EOY" ),
window = 5,
weights = "decay"
)
# Compute all fiscal health ratios on the cleaned, smoothed panel
panel_ratios <- compute_all( panel_smooth_pz )The following accounting ratios are included in the package:
Ratio: Asset Revenue Ratio
Definition: Measures revenue generated per dollar of assets.
Formula:
assets_rev = total_assets_eoy / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
total_assets |
F9_10_ASSET_TOT_EOY |
Total assets, end of year (990) |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue from Part VIII (990) |
total_revenue |
F9_01_REV_TOT_CY |
Total revenue from Part I (990EZ fallback) |
Scope: 990 + 990EZ filers
Ratio: Cash and Savings to Assets Ratio
Definition: Cash and savings as a share of total assets; measures the liquid composition of the asset base.
Formula:
cash_assets = ( cash + savings ) / total_assets
| Argument | efile Variable | Description |
|---|---|---|
cash |
F9_10_ASSET_CASH_EOY |
Cash on hand, EOY |
savings |
F9_10_ASSET_SAVING_EOY |
Savings and temporary cash investments |
total_assets |
F9_10_ASSET_TOT_EOY |
Total assets, EOY |
Scope: 990 filers only
Ratio: Burn Rate Ratio
Definition: Rate at which the organization depletes its cash reserves relative to a prior period.
Formula:
cash_burn = cash_eoy / cash_boy
| Argument | efile Variable | Description |
|---|---|---|
cash_eoy |
F9_10_ASSET_CASH_EOY |
Cash, end of year |
cash_boy |
F9_10_ASSET_CASH_BOY |
Cash, beginning of year |
Scope: 990 filers only
Ratio: Cash Liquidity Ratio
Definition: Measures the organization's ability to cover current liabilities using only cash and savings.
Formula:
cash_liq = ( cash + savings ) / ( accounts_payable + grants_payable )
| Argument | efile Variable | Description |
|---|---|---|
cash |
F9_10_ASSET_CASH_EOY |
Cash on hand, EOY |
savings |
F9_10_ASSET_SAVING_EOY |
Savings and temporary cash investments |
accounts_payable |
F9_10_LIAB_ACC_PAYABLE_EOY |
Accounts payable and accrued expenses |
grants_payable |
F9_10_LIAB_GRANT_PAYABLE_EOY |
Grants and similar amounts payable |
Scope: 990 filers only
Ratio: Cash on Hand
Definition: Absolute dollar amount of liquid cash holdings (cash plus savings).
Formula:
cash_on_hand = cash + savings
| Argument | efile Variable | Description |
|---|---|---|
cash |
F9_10_ASSET_CASH_EOY |
Cash on hand, EOY |
savings |
F9_10_ASSET_SAVING_EOY |
Savings and temporary cash investments |
Scope: 990 filers only
Ratio: Current Ratio
Definition: Measures short-term liquidity by comparing current assets to current liabilities.
Formula:
current = current_assets / current_liabilities
current_assets = cash + savings + pledges_receivable + accounts_receivable
+ investment_sales + prepaid_expenses
current_liabilities = accounts_payable + grants_payable
| Argument | efile Variable | Description |
|---|---|---|
cash |
F9_10_ASSET_CASH_EOY |
Cash on hand, EOY |
savings |
F9_10_ASSET_SAVING_EOY |
Savings and temporary cash investments |
pledges_receivable |
F9_10_ASSET_PLEDGE_NET_EOY |
Net pledges receivable |
accounts_receivable |
F9_10_ASSET_ACC_NET_EOY |
Accounts receivable, net |
investment_sales |
F9_10_ASSET_INV_SALE_EOY |
Investments held for sale |
prepaid_expenses |
F9_10_ASSET_EXP_PREPAID_EOY |
Prepaid expenses and deferred charges |
accounts_payable |
F9_10_LIAB_ACC_PAYABLE_EOY |
Accounts payable and accrued expenses |
grants_payable |
F9_10_LIAB_GRANT_PAYABLE_EOY |
Grants and similar amounts payable |
Scope: 990 filers only
Ratio: Days of Cash and Investments
Definition: Days of operating coverage including investment assets net of related debt.
Formula:
days_cash_inv = liquid_and_investment_assets / daily_expenses
liquid_and_investment_assets = unrestricted_net_assets + investments
- ( land_buildings - mortgages_payable )
daily_expenses = ( total_expenses - depreciation ) / 365
| Argument | efile Variable | Description |
|---|---|---|
net_assets |
F9_10_NAFB_UNRESTRICT_EOY |
Unrestricted net assets, EOY |
investments |
F9_10_ASSET_INV_SALE_EOY |
Investments held for sale |
land_buildings |
F9_10_ASSET_LAND_BLDG_NET_EOY |
Net land, buildings, and equipment |
mortgages_payable |
F9_10_LIAB_MTG_NOTE_EOY |
Mortgages and notes payable |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
depreciation |
F9_09_EXP_DEPREC_TOT |
Depreciation and amortization |
Scope: 990 filers only
Ratio: Days of Cash on Hand
Definition: Number of days an organization can operate using available liquid assets.
Formula:
days_cash_ops = liquid_assets / daily_expenses
liquid_assets = cash + savings + pledges_receivable + accounts_receivable
daily_expenses = ( total_expenses - depreciation ) / 365
| Argument | efile Variable | Description |
|---|---|---|
cash |
F9_10_ASSET_CASH_EOY |
Cash on hand |
savings |
F9_10_ASSET_SAVING_EOY |
Savings |
pledges_receivable |
F9_10_ASSET_PLEDGE_NET_EOY |
Net pledges receivable |
accounts_receivable |
F9_10_ASSET_ACC_NET_EOY |
Accounts receivable |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
depreciation |
F9_09_EXP_DEPREC_TOT |
Depreciation and amortization |
Scope: 990 filers only
Ratio: Debt to Asset Ratio
Definition: Proportion of total assets financed through liabilities.
Formula:
debt_assets = total_liabilities / total_assets
| Argument | efile Variable | Description |
|---|---|---|
debt |
F9_10_LIAB_TOT_EOY |
Total liabilities, EOY (990) |
debt |
F9_01_NAFB_LIAB_TOT_EOY |
Total liabilities from Part I (990EZ fallback) |
assets |
F9_10_ASSET_TOT_EOY |
Total assets, EOY (990) |
assets |
F9_01_NAFB_ASSET_TOT_EOY |
Total assets from Part I (990EZ fallback) |
Scope: 990 + 990EZ filers
Ratio: Debt to Equity Ratio
Definition: Compares total liabilities to unrestricted net assets.
Formula:
debt_equity = total_liabilities / unrestricted_net_assets
| Argument | efile Variable | Description |
|---|---|---|
debt |
F9_10_LIAB_TOT_EOY |
Total liabilities, EOY |
equity |
F9_10_NAFB_UNRESTRICT_EOY |
Unrestricted net assets, EOY |
Scope: 990 filers only
Ratio: Debt to Net Assets Ratio
Definition: Compares total liabilities to unrestricted net assets.
Formula:
debt_netassets = total_liabilities / unrestricted_net_assets
| Argument | efile Variable | Description |
|---|---|---|
liabilities |
F9_10_LIAB_TOT_EOY |
Total liabilities, EOY (990) |
liabilities |
F9_01_NAFB_LIAB_TOT_EOY |
Total liabilities from Part I (990EZ fallback) |
net_assets |
F9_10_NAFB_UNRESTRICT_EOY |
Unrestricted net assets, EOY |
Scope: 990 + 990EZ filers
Ratio: Secured Debt Ratio
Definition: Secured mortgages and notes payable as a share of total liabilities.
Formula:
debt_secured = secured_mortgages_notes / total_liabilities
| Argument | efile Variable | Description |
|---|---|---|
secured_mortgages_notes |
F9_10_LIAB_MTG_NOTE_EOY |
Secured mortgages and notes payable, EOY |
total_liabilities |
F9_10_LIAB_TOT_EOY |
Total liabilities, EOY |
Scope: 990 filers only
Ratio: Short Term Debt Ratio
Definition: Share of short-term liabilities relative to total net assets.
Formula:
debt_shortterm = short_term_liabilities / net_assets
short_term_liabilities = accounts_payable + grants_payable
| Argument | efile Variable | Description |
|---|---|---|
accounts_payable |
F9_10_LIAB_ACC_PAYABLE_EOY |
Accounts payable and accrued expenses |
grants_payable |
F9_10_LIAB_GRANT_PAYABLE_EOY |
Grants and similar amounts payable |
net_assets |
F9_10_NAFB_TOT_EOY |
Total net assets, EOY |
Scope: 990 filers only
Ratio: Unsecured Debt Ratio
Definition: Unsecured notes and loans payable as a share of total liabilities.
Formula:
debt_unsecured = unsecured_notes_loans / total_liabilities
| Argument | efile Variable | Description |
|---|---|---|
unsecured_notes_loans |
F9_10_LIAB_NOTE_UNSEC_EOY |
Unsecured notes and loans payable, EOY |
total_liabilities |
F9_10_LIAB_TOT_EOY |
Total liabilities, EOY |
Scope: 990 filers only
Ratio: Donation and Grant Dependence Ratio
Definition: Measures reliance on contributions and fundraising as a share of total revenue.
Formula:
donations_rev = ( contributions + fundraising_revenue ) / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
contributions |
F9_08_REV_CONTR_TOT |
Total contributions |
fundraising_revenue |
F9_08_REV_OTH_FUNDR_NET_TOT |
Net fundraising event revenue |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Earned Income Dependency Ratio
Definition: Share of total revenue from earned program and commercial income sources.
Formula:
earned_income = earned_revenue / total_revenue
earned_revenue = program_service_rev + membership_dues + royalties + other_revenue
| Argument | efile Variable | Description |
|---|---|---|
program_service_rev |
F9_08_REV_PROG_TOT_TOT |
Program service revenue |
membership_dues |
F9_08_REV_CONTR_MEMBSHIP_DUE |
Membership dues |
royalties |
F9_08_REV_OTH_ROY_TOT |
Royalties |
other_revenue |
F9_08_REV_MISC_OTH_TOT |
Other miscellaneous revenue |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Equity Ratio
Definition: Share of total assets financed through net assets (organizational equity).
Formula:
equity = net_assets / total_assets
| Argument | efile Variable | Description |
|---|---|---|
net_assets |
F9_10_NAFB_TOT_EOY |
Total net assets, EOY |
total_assets |
F9_10_ASSET_TOT_EOY |
Total assets, EOY |
Scope: 990 + 990EZ filers
Ratio: Administrative Overhead Ratio
Definition: Share of total expenses devoted to management and general administration.
Formula:
expenses_admin = administrative_expenses / total_expenses
| Argument | efile Variable | Description |
|---|---|---|
mgmt_expenses |
F9_09_EXP_TOT_MGMT |
Management and general expenses |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
Scope: 990 filers only
Ratio: Payments to Affiliates Ratio
Definition: Payments to affiliates as a share of total functional expenses.
Formula:
expenses_affiliates = payments_to_affiliates / total_expenses
| Argument | efile Variable | Description |
|---|---|---|
payments_to_affiliates |
F9_09_EXP_PAY_AFFIL_TOT |
Payments to affiliates, total |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
Scope: 990 filers only
Ratio: Compensation Expense Ratio
Definition: Total compensation and employee-related expenses as a share of total functional expenses.
Formula:
expenses_compensation = ( officer_comp + disqualified_comp + other_salaries
+ pension_contributions + other_employee_benefits
+ payroll_taxes ) / total_expenses
| Argument | efile Variable | Description |
|---|---|---|
officer_comp |
F9_09_EXP_COMP_DTK_TOT |
Officer/director compensation, total |
disqualified_comp |
F9_09_EXP_COMP_DSQ_PERS_TOT |
Disqualified person compensation, total |
other_salaries |
F9_09_EXP_OTH_SAL_WAGE_TOT |
Other salaries and wages, total |
pension_contributions |
F9_09_EXP_PENSION_CONTR_TOT |
Pension plan contributions, total |
other_employee_benefits |
F9_09_EXP_OTH_EMPL_BEN_TOT |
Other employee benefits, total |
payroll_taxes |
F9_09_EXP_PAYROLL_TAX_TOT |
Payroll taxes, total |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
Scope: 990 filers only
Ratio: Fees for Services Ratio
Definition: Total fees paid for outside professional services as a share of total functional expenses.
Formula:
expenses_feesforservice = ( mgmt_fees + legal_fees + accounting_fees + lobbying_fees
+ prof_fundraising_fees + investment_mgmt_fees
+ other_fees ) / total_expenses
| Argument | efile Variable | Description |
|---|---|---|
mgmt_fees |
F9_09_EXP_FEE_SVC_MGMT_TOT |
Management fees, total |
legal_fees |
F9_09_EXP_FEE_SVC_LEGAL_TOT |
Legal fees, total |
accounting_fees |
F9_09_EXP_FEE_SVC_ACC_TOT |
Accounting fees, total |
lobbying_fees |
F9_09_EXP_FEE_SVC_LOB_TOT |
Lobbying fees, total |
prof_fundraising_fees |
F9_09_EXP_FEE_SVC_FUNDR_TOT |
Professional fundraising fees, total |
investment_mgmt_fees |
F9_09_EXP_FEE_SVC_INVEST_TOT |
Investment management fees, total |
other_fees |
F9_09_EXP_FEE_SVC_OTH_TOT |
Other fees for services, total |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
Scope: 990 filers only
Ratio: Grants-to-Others Expense Ratio
Definition: Total grants paid to domestic and foreign entities as a share of total functional expenses.
Formula:
expenses_grants = ( us_org_grants + us_indiv_grants + foreign_grants )
/ total_expenses
| Argument | efile Variable | Description |
|---|---|---|
us_org_grants |
F9_09_EXP_GRANT_US_ORG_TOT |
Grants to domestic organizations, total |
us_indiv_grants |
F9_09_EXP_GRANT_US_INDIV_TOT |
Grants to domestic individuals, total |
foreign_grants |
F9_09_EXP_GRANT_FRGN_TOT |
Grants to foreign entities, total |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
Scope: 990 filers only
Ratio: Member Benefits Expense Ratio
Definition: Benefits paid to or for members as a share of total functional expenses.
Formula:
expenses_membbenefits = member_benefits / total_expenses
| Argument | efile Variable | Description |
|---|---|---|
member_benefits |
F9_09_EXP_BEN_PAID_MEMB_TOT |
Benefits paid to members, total (scope: 990 + 990EZ) |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
Scope: 990 + 990EZ filers
Ratio: Fundraising Efficiency Ratio
Definition: Cost of raising one dollar of contributions; lower values indicate more efficient fundraising.
Formula:
fundr_eff = fundraising_expenses / total_contributions
| Argument | efile Variable | Description |
|---|---|---|
fundraising_expenses |
F9_09_EXP_TOT_FUNDR |
Total fundraising expenses |
total_contributions |
F9_08_REV_CONTR_TOT |
Total contributions received |
Scope: 990 filers only
Ratio: Government Grant Ratio
Definition: Share of total revenue originating from government grants.
Formula:
grants_govt = government_grants / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
government_grants |
F9_08_REV_CONTR_GOVT_GRANT |
Government grants and contributions |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Investment Income Dependency Ratio
Definition: Measures reliance on investment-related revenue as a share of total revenue.
Formula:
invest_income = investment_income / total_revenue
investment_income = invest_income + bond_proceeds + rent_income + asset_sale_income
| Argument | efile Variable | Description |
|---|---|---|
invest_income |
F9_08_REV_OTH_INVEST_INCOME_TOT |
Investment income |
bond_proceeds |
F9_08_REV_OTH_INVEST_BOND_TOT |
Income from bond proceeds |
rent_income |
F9_08_REV_OTH_RENT_GRO_PERS |
Gross rental income |
asset_sale_income |
F9_08_REV_OTH_SALE_ASSET_OTH |
Net gain from asset sales |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Investment Assets Ratio
Definition: Investment securities as a share of total assets.
Formula:
investments_assets = ( pub_traded_securities + other_securities ) / total_assets
| Argument | efile Variable | Description |
|---|---|---|
pub_traded_securities |
F9_10_ASSET_INVEST_SEC_EOY |
Publicly traded securities, EOY (scope: 990 + 990EZ) |
other_securities |
F9_10_ASSET_INVEST_SEC_OTH_EOY |
Other securities, EOY (scope: 990 + 990EZ) |
total_assets |
F9_10_ASSET_TOT_EOY |
Total assets, EOY |
Scope: 990 + 990EZ filers
Ratio: Land, Buildings, and Equipment to Assets Ratio (Gross)
Definition: Gross book value of land, buildings, and equipment as a share of total assets, before netting accumulated depreciation.
Formula:
land_assets_gross = land_bldg_equip_deprec / total_assets
| Argument | efile Variable | Description |
|---|---|---|
land_buildings |
F9_10_ASSET_LAND_BLDG_DEPREC |
Accumulated depreciation on land and buildings |
total_assets |
F9_10_ASSET_TOT_EOY |
Total assets, EOY |
Scope: 990 filers only
Ratio: Land, Buildings, and Equipment to Assets Ratio (Net)
Definition: Net land, buildings, and equipment as a share of total assets, after accumulated depreciation.
Formula:
land_assets_net = land_bldg_equip_net / total_assets
| Argument | efile Variable | Description |
|---|---|---|
land_bldg_equip_net |
F9_10_ASSET_LAND_BLDG_NET_EOY |
Net land, buildings, and equipment, EOY (scope: 990 + 990EZ) |
total_assets |
F9_10_ASSET_TOT_EOY |
Total assets, EOY |
Scope: 990 + 990EZ filers
Ratio: Liquid Unrestricted Net Assets (Months)
Definition: Unrestricted net assets available for operations, net of illiquid fixed assets and related debt, expressed as months of expenses.
Formula:
liquid_assets_months = ( unrestricted_net_assets - net_fixed_assets + mortgages_payable )
/ monthly_expenses
monthly_expenses = total_expenses / 12
| Argument | efile Variable | Description |
|---|---|---|
unrestricted_net_assets |
F9_10_NAFB_UNRESTRICT_EOY |
Unrestricted net assets, EOY |
net_fixed_assets |
F9_10_ASSET_LAND_BLDG_NET_EOY |
Net land, buildings, and equipment |
mortgages_payable |
F9_10_LIAB_MTG_NOTE_EOY |
Mortgages and notes payable |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
Scope: 990 filers only
Ratio: Months of Cash on Hand
Definition: Number of months the organization can operate using available liquid assets.
Formula:
months_cash_ops = liquid_assets / monthly_expenses
liquid_assets = cash + savings + pledges_receivable + accounts_receivable
monthly_expenses = ( total_expenses - depreciation ) / 12
| Argument | efile Variable | Description |
|---|---|---|
cash |
F9_10_ASSET_CASH_EOY |
Cash on hand |
savings |
F9_10_ASSET_SAVING_EOY |
Savings |
pledges_receivable |
F9_10_ASSET_PLEDGE_NET_EOY |
Net pledges receivable |
accounts_receivable |
F9_10_ASSET_ACC_NET_EOY |
Accounts receivable |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
depreciation |
F9_09_EXP_DEPREC_TOT |
Depreciation and amortization |
Scope: 990 filers only
Ratio: Net Assets Composition Ratio
Definition: Share of total net assets that are unrestricted and available for general operations.
Formula:
netassets_comp = unrestricted_net_assets / total_net_assets
| Argument | efile Variable | Description |
|---|---|---|
unrestricted_net_assets |
F9_10_NAFB_UNRESTRICT_EOY |
Unrestricted net assets, EOY |
total_net_assets |
F9_10_NAFB_TOT_EOY |
Total net assets, EOY |
Scope: 990 filers only
Ratio: Net Assets Growth Ratio
Definition: Year-over-year change in net assets as a proportion of beginning-of-year net assets.
Formula:
netassets_growth = ( net_assets_eoy - net_assets_boy ) / net_assets_boy
| Argument | efile Variable | Description |
|---|---|---|
net_assets_eoy |
F9_10_NAFB_TOT_EOY |
Total net assets, EOY (990) |
net_assets_eoy |
F9_01_NAFB_TOT_EOY |
Net assets from Part I, EOY (990EZ fallback) |
net_assets_boy |
F9_10_NAFB_TOT_BOY |
Total net assets, BOY (990) |
net_assets_boy |
F9_01_NAFB_TOT_BOY |
Net assets from Part I, BOY (990EZ fallback) |
Scope: 990 + 990EZ filers
Ratio: Operating Reserve Ratio
Definition: Months of operating expenses covered by liquid unrestricted net assets.
Formula:
op_reserve = ( unrestricted_net_assets - net_fixed_assets ) / monthly_expenses
monthly_expenses = total_expenses / 12
| Argument | efile Variable | Description |
|---|---|---|
unrestricted_net_assets |
F9_10_NAFB_UNRESTRICT_EOY |
Unrestricted net assets, EOY |
net_fixed_assets |
F9_10_ASSET_LAND_BLDG_NET_EOY |
Net land, buildings, and equipment |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
Scope: 990 filers only
Ratio: Overhead Ratio
Definition: Combined management and fundraising expenses as a share of total functional expenses.
Formula:
overhead = ( mgmt_expenses + fundraising_expenses ) / total_expenses
| Argument | efile Variable | Description |
|---|---|---|
mgmt_expenses |
F9_09_EXP_TOT_MGMT |
Management and general expenses |
fundraising_expenses |
F9_09_EXP_TOT_FUNDR |
Fundraising expenses |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
Scope: 990 filers only
Ratio: Post-Depreciation Profit Margin
Definition: Operating surplus or deficit as a share of total revenue, after depreciation.
Formula:
profit_postdepr = ( total_revenue - total_expenses ) / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Pre-Depreciation Profit Margin
Definition: Operating surplus or deficit as a share of total revenue, before depreciation.
Formula:
profit_predepr = ( total_revenue - ( total_expenses - depreciation ) ) / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
revenue |
F9_08_REV_TOT_TOT |
Total revenue |
expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses |
depreciation |
F9_09_EXP_DEPREC_TOT |
Depreciation and amortization |
Scope: 990 filers only
Ratio: Program Expense Ratio
Definition: Share of total expenses devoted to program services.
Formula:
prog_exp = program_expenses / total_expenses
| Argument | efile Variable | Description |
|---|---|---|
program_expenses |
F9_09_EXP_TOT_PROG |
Program service expenses (990) |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses (990) |
total_expenses |
F9_01_EXP_TOT_CY |
Total expenses from Part I (990EZ fallback) |
Scope: 990 + 990EZ filers
Ratio: Quick Ratio
Definition: Measures liquidity using only the most liquid assets, excluding inventory and prepaid expenses.
Formula:
quick = quick_assets / current_liabilities
quick_assets = cash + savings + pledges_receivable + accounts_receivable
current_liabilities = accounts_payable + grants_payable
| Argument | efile Variable | Description |
|---|---|---|
cash |
F9_10_ASSET_CASH_EOY |
Cash on hand |
savings |
F9_10_ASSET_SAVING_EOY |
Savings |
pledges_receivable |
F9_10_ASSET_PLEDGE_NET_EOY |
Net pledges receivable |
accounts_receivable |
F9_10_ASSET_ACC_NET_EOY |
Accounts receivable |
accounts_payable |
F9_10_LIAB_ACC_PAYABLE_EOY |
Accounts payable and accrued expenses |
grants_payable |
F9_10_LIAB_GRANT_PAYABLE_EOY |
Grants and similar amounts payable |
Scope: 990 filers only
Ratio: Return on Assets
Definition: Net surplus or deficit as a share of total assets.
Formula:
return_assets = revenues_less_expenses / total_assets
| Argument | efile Variable | Description |
|---|---|---|
revenues_less_expenses |
F9_01_EXP_REV_LESS_EXP_CY |
Revenues less expenses, current year |
total_assets |
F9_10_ASSET_TOT_EOY |
Total assets, EOY (990) |
total_assets |
F9_01_NAFB_ASSET_TOT_EOY |
Total assets from Part I (990EZ fallback) |
Scope: 990 + 990EZ filers
Ratio: Return on Net Assets
Definition: Net surplus or deficit as a share of beginning-of-year net assets.
Formula:
return_netassets = revenues_less_expenses / net_assets_boy
| Argument | efile Variable | Description |
|---|---|---|
revenues_less_expenses |
F9_01_EXP_REV_LESS_EXP_CY |
Revenues less expenses, current year |
net_assets_boy |
F9_10_NAFB_TOT_BOY |
Total net assets, BOY (990) |
net_assets_boy |
F9_01_NAFB_TOT_BOY |
Net assets from Part I, BOY (990EZ fallback) |
Scope: 990 + 990EZ filers
Ratio: Federated Campaign Revenue Ratio
Definition: Federated campaign contributions as a share of total revenue.
Formula:
revenue_fedcampaign = federated_campaigns / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
federated_campaigns |
F9_08_REV_CONTR_FED_CAMP |
Federated campaign contributions |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Fundraising Events Revenue Ratio
Definition: Fundraising event contributions as a share of total revenue.
Formula:
revenue_fundevents = fundraising_event_revenue / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
fundraising_event_revenue |
F9_08_REV_CONTR_FUNDR_EVNT |
Gross revenue from fundraising events |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Membership Dues Revenue Ratio
Definition: Membership dues as a share of total revenue.
Formula:
revenue_membdues = membership_dues / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
membership_dues |
F9_08_REV_CONTR_MEMBSHIP_DUE |
Membership dues received |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Program Service Revenue Ratio
Definition: Program service revenue as a share of total revenue.
Formula:
revenue_programs = program_service_revenue / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
program_service_revenue |
F9_08_REV_PROG_TOT_TOT |
Total program service revenue |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Related Organizations Revenue Ratio
Definition: Revenue from related organizations as a share of total revenue.
Formula:
revenue_reltdorgs = related_org_revenue / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
related_org_revenue |
F9_08_REV_CONTR_RLTD_ORG |
Contributions from related organizations |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue |
Scope: 990 filers only
Ratio: Self Sufficiency Ratio
Definition: Measures whether program revenue covers total expenses without relying on donations.
Formula:
self_suff = program_service_revenue / total_expenses
| Argument | efile Variable | Description |
|---|---|---|
program_service_rev |
F9_08_REV_PROG_TOT_TOT |
Program service revenue (990) |
program_service_rev |
F9_01_REV_PROG_TOT_CY |
Program revenue from Part I (990EZ fallback) |
total_expenses |
F9_09_EXP_TOT_TOT |
Total functional expenses (990) |
total_expenses |
F9_01_EXP_TOT_CY |
Total expenses from Part I (990EZ fallback) |
Scope: 990 + 990EZ filers
Ratio: Surplus Margin
Definition: Net surplus or deficit as a share of total revenue.
Formula:
surplus_margin = revenues_less_expenses / total_revenue
| Argument | efile Variable | Description |
|---|---|---|
revenues_less_expenses |
F9_01_EXP_REV_LESS_EXP_CY |
Revenues less expenses, current year |
total_revenue |
F9_08_REV_TOT_TOT |
Total revenue from Part VIII (990) |
total_revenue |
F9_01_REV_TOT_CY |
Total revenue from Part I (990EZ fallback) |
Scope: 990 + 990EZ filers
