Investment Income Dependency Ratio
Source:R/get-investment-income-ratio.R
get_investment_income_ratio.RdMeasures reliance on investment-related revenue as a share of total revenue.
Formula:
iidr = investment_income / total_revenue
investment_income = invest_income + bond_proceeds + rent_income + asset_sale_incomeDefinitional Range
Bounded [0, 1] in most years, but values above 1.0 are possible in years with large asset sale gains. Values below zero can result from asset sale losses or negative investment returns.
Benchmarks and rules of thumb
Values above 0.30 indicate significant financial asset dependency and warrant monitoring of portfolio performance.
Large year-over-year swings often reflect one-time asset transactions rather than structural revenue changes.
Calculated For: 990 filers only.
Usage
get_investment_income_ratio( df,
invest_income = "F9_08_REV_OTH_INVEST_INCOME_TOT",
bond_proceeds = "F9_08_REV_OTH_INVEST_BOND_TOT",
rent_income = "F9_08_REV_OTH_RENT_GRO_PERS",
asset_sale_income= "F9_08_REV_OTH_SALE_ASSET_OTH",
total_revenue = "F9_08_REV_TOT_TOT",
numerator = NULL, denominator = NULL, winsorize = 0.98 ,
range = "np",
sanitize = TRUE,
summarize = FALSE )Arguments
- df
A
data.framecontaining the fields required for computing the metric.- invest_income
Investment income.
- bond_proceeds
Tax-exempt bond proceeds.
- rent_income
Gross rents from personal property.
- asset_sale_income
Net gain from sales of assets other than inventory.
- total_revenue
Total revenue.
- numerator
Optional. A pre-aggregated column for investment income. Cannot be combined with the individual component arguments.
- denominator
Optional. A pre-aggregated column for total revenue. Cannot be combined with
total_revenue.- winsorize
The winsorization value (between 0 and 1), defaults to 0.98, which winsorizes at the 1st and 99th percentiles.
- range
Character string specifying the theoretical range of the ratio, used to set winsorization bounds. Default
"np". 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). IfTRUE, NA values in the financial input columns are imputed to zero before the ratio is computed, respecting form scope: Part X and VIII/IX fields (990 only) are imputed only for 990 filers; Part I summary fields (990 + 990EZ) are imputed for all filers. The returned dataframe always contains the original unmodified input columns.- summarize
Logical. If
TRUE, prints asummary()of the results and plots density curves for all four output columns (raw, winsorized, z-score, percentile). Defaults toFALSE.
Value
Object of class data.frame: the original dataframe appended with four
new columns:
- `invest_income` - investment income dependency ratio (raw)
- `invest_income_w` - winsorized version
- `invest_income_z` - standardized z-score (based on winsorized values)
- `invest_income_p` - percentile rank (1-100)Details
Primary uses and key insights
The investment income dependency ratio measures the share of total revenue from investment-related sources: interest, dividend income, rental income, bond proceeds, and proceeds from asset sales. It captures financial portfolio dependency - the degree to which the organization's budget relies on endowment returns, rental properties, or investment gains.
A high ratio may be a sign of financial maturity (large endowment generating returns) or financial risk (dependency on volatile investment markets). During periods of market decline or low interest rates, organizations with high investment income ratios face greater revenue volatility.
Formula variations and their sources
(Investment income + bond income + rental income + asset sale income) / total revenue (Part VIII lines 3 + 4 + 6a(ii) + 7d / line 12A). Note that this combines recurring investment income with potentially one-time asset sale proceeds; some analysts separate these. The asset sale proceeds (line 7d) are particularly volatile and may distort the ratio in years with large asset disposals.
Canonical citations
Chang, C.F. & Tuckman, H.P. (1994). Revenue diversification among nonprofits. VOLUNTAS, 5(3), 273-290.
Carroll, D.A. & Stater, K.J. (2009). Revenue diversification in nonprofit organizations. Journal of Public Administration Research and Theory, 19(4), 947-966.
Variables used:
F9_08_REV_OTH_INVEST_INCOME_TOT: Investment income (invest_income)F9_08_REV_OTH_INVEST_BOND_TOT: Income from bond proceeds (bond_proceeds)F9_08_REV_OTH_RENT_GRO_PERS: Gross rental income (rent_income)F9_08_REV_OTH_SALE_ASSET_OTH: Net gain from asset sales (asset_sale_income)F9_08_REV_TOT_TOT: Total revenue (total_revenue)
Examples
library( fiscal )
data( dat10k )
d <- get_investment_income_ratio( df = dat10k )
#> :: Total revenue equal to zero :: 74 case(s) replaced with NaN
head( d[ , c( "invest_income", "invest_income_w", "invest_income_z", "invest_income_p" ) ] )
#> invest_income invest_income_w invest_income_z invest_income_p
#> <num> <num> <num> <int>
#> 1: NA NA NA NA
#> 2: 1.428209e-05 1.428209e-05 -0.8019472 32
#> 3: 8.070080e-03 8.070080e-03 0.3584971 73
#> 4: NA NA NA NA
#> 5: 1.758535e-05 1.758535e-05 -0.8019472 33
#> 6: NA NA NA NA