## Error in local:core <- readRDS("02-data-wrangled/core.rds"): could not find function ":<-"
\[Land \: and \: Buildings \: to \: Assets \: Ratio = \frac{Land \: and \: Buildings}{Total \: Assets} \]
This metric shows the proportion of an organization’s total assets that are made up by land and buildings. It shows how diversified their asset portfolio is and somewhat how specialized their line of work is within housing or building development.
Higher values mean that an organization has more of its asset portfolio in land and buildings, and lower values mean that development or land and building holdings represent a small share of what the organization’s activities and finances are tied up in.
Note: This data is available only for organizations that file full 990s. [Organizations with revenues <$200,000 and total assets <$500,000 have the option to not file a full 990 and file an EZ instead.]
Numerator: Land, buildings, and equipment (net of
depreciation) EOY
On 990: Part X, line 10B
SOI PC EXTRACTS: lndbldgsequipend
On EZ:Not available
Denominator: Total
Assets
On 990: Part X, Line 16B -SOI PC EXTRACTS: totassetsend
On EZ: Part II, line 25B -SOI PC EXTRACTS: totassetsend
# TEMPORARY VARIABLES
<- ( core$lndbldgsequipend)
landvalue <- ( core$totassetsend)
assets
# can't divide by zero
== 0 ] <- NA
assets[ assets
# SAVE RESULTS
$lb_to_assets <- landvalue / assets
core
# summary( core$lb_to_assets )
Check high and low values to see what makes sense.
.05 <- quantile( core$lb_to_assets, 0.05, na.rm=T )
x.95 <- quantile( core$lb_to_assets, 0.95, na.rm=T )
x
ggplot( core, aes(x = lb_to_assets ) ) +
geom_density( alpha = 0.5) +
xlim( x.05, x.95 )
Winsorization: All extreme values have been capped by replacing any values below the 5% distribution and above the 95% distribution with the 5% and 95% values. Consequently the end tails to all density charts may be slightly higher than reality but the visuals will be scaled for better viewing (not skewed by outliers).
<- core
core2
# proportion of values that are negative
mean( core2$lb_to_assets < 0, na.rm=T )
## [1] 0.0001884304
$lb_to_assets[ core2$lb_to_assets < 0 ] <- 0
core2
# proption of values above 200%
mean( core2$lb_to_assets > 50, na.rm=T )
## [1] 0.0001884304
$lb_to_assets[ core2$lb_to_assets > 50 ] <- 50
core2
.05 <- quantile( core$lb_to_assets, 0.05, na.rm=T )
x.95 <- quantile( core$lb_to_assets, 0.95, na.rm=T )
x
<- core
core2
# proportion of values that are negative
# mean( core2$der < 0, na.rm=T )
# proption of values above 1%
# mean( core2$der > 5, na.rm=T )
# WINSORIZATION AT 5th and 95th PERCENTILES
$lb_to_assets[ core2$lb_to_assets < x.05 ] <- x.05
core2$lb_to_assets[ core2$lb_to_assets > x.95 ] <- x.95 core2
Tax data is available for full 990 filers, so this metric does not describe any organizations with Gross receipts < $200,000 and Total assets < $500,000. Some organizations with receipts or assets below those thresholds may have filed a full 990, but these would be exceptions.
The data have been capped to those with values between 5% and 95% of the normal distribution to cut off outliers and non-land-value-holding organizations.
Convert all monetary variables to thousands of dollars.
%>%
core2 mutate( lb_to_assets = lb_to_assets * 100,
totrevenue = totrevenue / 1000,
totfuncexpns = totfuncexpns / 1000,
lndbldgsequipend = lndbldgsequipend / 1000,
totassetsend = totassetsend / 1000,
totliabend = totliabend / 1000,
totnetassetend = totnetassetend / 1000 ) %>%
select( STATE, NTEE1, NTMAJ12,
lb_to_assets,
AGE,
totrevenue, totfuncexpns,
lndbldgsequipend, totassetsend, %>%
totnetassetend, totliabend )
stargazer( type = s.type,
digits=0,
summary.stat = c("min","p25","median",
"mean","p75","max", "sd"),
covariate.labels = c("Land to Assets Ratio*", "Age",
"Revenue ($1k)", "Expenses($1k)",
"Buildings ($1k)", "Total Assets ($1k)",
"Net Assets ($1k)", "Liabiliies ($1k)"))
Statistic | Min | Pctl(25) | Median | Mean | Pctl(75) | Max | St. Dev. |
Land to Assets Ratio* | 0 | 5 | 39 | 42 | 74 | 95 | 34 |
Age | 3 | 22 | 30 | 32 | 41 | 95 | 15 |
Revenue (1k) | -5,377 | 259 | 909 | 4,522 | 3,672 | 408,932 | 14,286 |
Expenses(1k) | 0 | 263 | 840 | 4,192 | 3,328 | 382,667 | 13,466 |
Buildings (1k) | -4 | 79 | 824 | 3,504 | 2,868 | 513,509 | 13,210 |
Total Assets (1k) | -7,552 | 778 | 2,446 | 9,262 | 7,477 | 672,021 | 27,039 |
Net Assets (1k) | -178,870 | 156 | 1,094 | 4,553 | 4,079 | 531,068 | 15,470 |
Liabiliies (1k) | -2,707 | 115 | 816 | 4,709 | 3,133 | 705,623 | 18,722 |
*Note: The Land to Assets Ratio is usually a 0 to 1 ratio but has been scaled by 100 in this descriptive table for better readability.
What proportion of orgs have land and building asset values
equal to zero?
<- mean( core2$lb_to_assets == 0, na.rm=T ) prop.zero
In the sample, 12 percent of the organizations land and building asset values equal to zero. These organizations are dropped from subsequent graphs to keep the visualizations clean. The interpretation of the graphics should be the distributions of land and buildings to assets ratio for organizations that have some land and buildings.
###
### ADD QUANTILES
###
### function create_quantiles() defined in r-functions.R
$exp.q <- create_quantiles( var=core2$totfuncexpns, n.groups=5 )
core2$rev.q <- create_quantiles( var=core2$totrevenue, n.groups=5 )
core2$asset.q <- create_quantiles( var=core2$totnetassetend, n.groups=5 )
core2$age.q <- create_quantiles( var=core2$AGE, n.groups=5 )
core2$land.q <- create_quantiles( var=core2$lndbldgsequipend, n.groups=5 ) core2
<- select( core, ein, tax_pd, lb_to_assets )
core.lb_to_assets saveRDS( core.lb_to_assets, "03-data-ratios/m-07-land-to-assets-ratio.rds" )
write.csv( core.lb_to_assets, "03-data-ratios/m-07-land-to-assets-ratio.csv" )