Compensation Expense Ratio
Source:R/get-expenses-compensation-ratio.R
get_expenses_compensation_ratio.RdTotal 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_expensesDefinitional Range
Bounded [0, 1]. Most service-delivery nonprofits fall in the [0.50, 0.85] range. Grant-making organizations may show ratios below 0.20.
Benchmarks and rules of thumb
No universal benchmark – labor intensity varies fundamentally by mission type.
Human services, health, and education nonprofits typically show ratios above 0.60; grant-making organizations may show ratios below 0.30.
A sharp year-over-year increase may indicate revenue contraction rather than compensation growth.
Calculated For: 990 filers only.
Usage
get_expenses_compensation_ratio( df,
officer_comp = "F9_09_EXP_COMP_DTK_TOT",
disqualified_comp = "F9_09_EXP_COMP_DSQ_PERS_TOT",
other_salaries = "F9_09_EXP_OTH_SAL_WAGE_TOT",
pension_contributions = "F9_09_EXP_PENSION_CONTR_TOT",
other_employee_benefits = "F9_09_EXP_OTH_EMPL_BEN_TOT",
payroll_taxes = "F9_09_EXP_PAYROLL_TAX_TOT",
total_expenses = "F9_09_EXP_TOT_TOT",
winsorize = 0.98 ,
range = "zo",
sanitize = TRUE,
summarize = FALSE )Arguments
- df
A
data.framecontaining the fields required for computing the metric.- officer_comp
Compensation of current officers, directors, and key employees (total).
- disqualified_comp
Compensation of disqualified persons (total).
- other_salaries
Other salaries and wages (total).
- pension_contributions
Pension plan accruals and contributions (total).
- other_employee_benefits
Other employee benefits (total).
- payroll_taxes
Payroll taxes (total).
- total_expenses
Total functional expenses.
- winsorize
Winsorization proportion between 0 and 1 (default
0.98).- range
Character string specifying the theoretical range of the ratio, used to set winsorization bounds. Default
"zo". Options:"np"(negative to positive),"zp"(zero to positive),"zo"(zero to one),"nz"(negative to zero), or a custom"lo;hi"pair (e.g."0;10").- sanitize
Logical (default
TRUE).- summarize
Logical (default
FALSE).
Value
The original data.frame with four new columns:
expenses_compensation(raw ratio)expenses_compensation_w(winsorized)expenses_compensation_z(z-score)expenses_compensation_p(percentile rank, 1-100)
Details
Primary uses and key insights
The compensation expense ratio measures the share of total functional expenses devoted to all forms of employee compensation: salaries, benefits, payroll taxes, and pension contributions. For most service-delivering nonprofits this is the largest single expense category (60-80\ indicator of labor intensity and human capital investment.
Formula variations and their sources
Sum of six Part IX compensation fields (lines 5-10, Column A) / total expenses (line 25A): officer compensation, disqualified person compensation, other salaries, pension contributions, other employee benefits, and payroll taxes.
Canonical citations
Frumkin, P. & Keating, E.K. (2001). The price of doing good. Policy and Society, 20(4), 94-112.
Leete, L. (2001). Whither the nonprofit wage differential? Journal of Labor Economics, 19(1), 136-170.
Variables used:
F9_09_EXP_COMP_DTK_TOT: Officer/director compensation (officer_comp)F9_09_EXP_COMP_DSQ_PERS_TOT: Disqualified person compensation (disqualified_comp)F9_09_EXP_OTH_SAL_WAGE_TOT: Other salaries and wages (other_salaries)F9_09_EXP_PENSION_CONTR_TOT: Pension contributions (pension_contributions)F9_09_EXP_OTH_EMPL_BEN_TOT: Other employee benefits (other_employee_benefits)F9_09_EXP_PAYROLL_TAX_TOT: Payroll taxes (payroll_taxes)F9_09_EXP_TOT_TOT: Total functional expenses (total_expenses)
Variables used:
F9_09_EXP_COMP_DTK_TOT: Officer/director compensation (officer_comp)F9_09_EXP_COMP_DSQ_PERS_TOT: Disqualified person compensation (disqualified_comp)F9_09_EXP_OTH_SAL_WAGE_TOT: Other salaries and wages (other_salaries)F9_09_EXP_PENSION_CONTR_TOT: Pension contributions (pension_contributions)F9_09_EXP_OTH_EMPL_BEN_TOT: Other employee benefits (other_employee_benefits)F9_09_EXP_PAYROLL_TAX_TOT: Payroll taxes (payroll_taxes)F9_09_EXP_TOT_TOT: Total functional expenses (total_expenses)
Examples
library( fiscal )
data( dat10k )
d <- get_expenses_compensation_ratio( df = dat10k )
#> Error in resolve_col(dt, officer_comp): None of the specified columns were found in the data: F9_09_EXP_COMP_DTK_TOT
head( d[ , c( "expenses_compensation", "expenses_compensation_w", "expenses_compensation_z", "expenses_compensation_p" ) ] )
#> Error: object 'd' not found