Share of total assets invested in land, buildings, and equipment.
Formula:
lar = land_buildings_equipment / total_assetsDefinitional Range
Bounded [0, 1] in normal conditions. The distribution is highly right-skewed: most nonprofits with no owned real estate show values near zero, while capital-intensive organizations (healthcare, housing, higher education) may show values above 0.50.
Benchmarks and rules of thumb
Most informative for within-subsector comparisons.
High values indicate illiquidity risk: if the majority of assets are fixed property, the organization has limited ability to quickly convert assets to cash.
Calculated For: 990 filers only.
Usage
get_land_assets_gross_ratio( df,
land_buildings = "F9_10_ASSET_LAND_BLDG_DEPREC",
total_assets = "F9_10_ASSET_TOT_EOY",
winsorize = 0.98 ,
range = "zo",
sanitize = TRUE,
summarize = FALSE )Arguments
- df
A
data.framecontaining the fields required for computing the metric.- land_buildings
Net land, buildings, and equipment (after depreciation), EOY.
- total_assets
Total assets, EOY.
- 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
"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). 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:
- `land_assets_gross` - land asset ratio (raw)
- `land_assets_gross_w` - winsorized version
- `land_assets_gross_z` - standardized z-score (based on winsorized values)
- `land_assets_gross_p` - percentile rank (1-100)Details
Primary uses and key insights
The land, buildings, and equipment to assets ratio (gross version) measures what share of total assets is represented by the gross book value of fixed physical assets before accumulated depreciation is netted out. A high ratio indicates a capital-intensive organization with a large physical footprint; a low ratio indicates a lean service organization whose assets are primarily financial.
The gross version uses the accumulated depreciation field (Part X line 10b) as a
proxy for the gross value of the fixed asset base. This is distinct from the net
version (get_land_assets_net_ratio()), which uses the net book value
after depreciation (Part X line 10cB). The gross version gives a better picture
of the original investment in fixed assets; the net version better reflects
current book value.
Formula variations and their sources
F9_10_ASSET_LAND_BLDG_DEPREC (accumulated depreciation, line 10b) / total assets.
Note: this field contains the accumulated depreciation amount, not the gross cost.
Using it as a proxy for the scale of fixed asset investment is an approximation.
For a cleaner measure of fixed asset intensity, get_land_assets_net_ratio()
uses the net value directly.
Examples
library( fiscal )
data( dat10k )
d <- get_land_assets_gross_ratio( df = dat10k )
#> :: Total assets equal to zero :: 268 case(s) replaced with NaN
head( d[ , c( "land_assets_gross", "land_assets_gross_w", "land_assets_gross_z", "land_assets_gross_p" ) ] )
#> land_assets_gross land_assets_gross_w land_assets_gross_z
#> <num> <num> <num>
#> 1: NA NA NA
#> 2: 0.04993167 0.04993167 -0.5601316
#> 3: 0.03381469 0.03381469 -0.6470599
#> 4: NA NA NA
#> 5: 1.44265806 1.44265806 1.8466238
#> 6: NA NA NA
#> land_assets_gross_p
#> <int>
#> 1: NA
#> 2: 54
#> 3: 50
#> 4: NA
#> 5: 96
#> 6: NA