Picture Source: Chicago Tribue(March 16, 2018 publication)
Assessment to sales ratio (ASR) is the ratio of a property’s market value as estimated by the city to its actual sale prices. Ideally, the appraised market value for tax purposes should equal the price a property would fetch on the open market if it were put up for sale. A ratio equal to 1 indicates that the assessor had exactly estimated the property’s eventual sales price. In practice, that level of accuracy could only reasonably occur by chance. More often than not, property assessments conducted by counties for tax purposes fail to capture the full market values of properties on a open market. For example, NYC’s property tax roll for Fiscal 2019 showed that Chelsea Market (75 9th Avenue) had a market value of about $532 million in March 2018. However, that same year, Google wound up buying the building for almost $2.4 billion - more than 350% times NYC’s assessed market value.
Picture Source: The New York Times)
The NYC Department of Finance estimates market values using sophisticated models that relate prices of sold properties to unsold properties adjusting for differences in property characteristics. As a result, there will invariably be differences between estimates of market value and actual prices. The ASR measures this inaccuracy.
Getting the ASR right or wrong has implications not just for individual taxpayers but also for how DOF goes about its job and how the property tax is administered more broadly. Previous research show that the valuation method used by DOF to assess the market value of a property affects how close the market value assessed by DOF would be to the true market value. This also affects the taxes levied on a property, as well as the fairness and equity of the property tax system.
Goal of the Project
This project seeks to determine if DOF’s property appraisals meet the standards set by the International Association of Assessing Officers (IAAO). Using property sales and assessment data, it estimates the assessment-sale ratio and uses it to measure how close DOF’s market values are to true market value (sale prices). Additionally, the analysis evaluates how uniform the assessment-sales ratio are across the City and within groups by calculating the coefficient of dispersion.
This study focuses only on four property types, namely
1-3 family homes, commercial properties,
small rentals (those with 4-6 units), and
large rentals (those with more than 6 units).
This analysis uses the property sales data and the
real property assessment (RPAD) data from the NYC
Department of Finance. The sales data is a record all
properties sold in the City and includes such information as the
property address, sale price, transaction date, property type, etc.
RPAD, on the other hand, contains information about the City’s property
valuation for tax purposes. it includes such details as market value,
assessed value, property location and physical attributes, amon
others.
The sales data used in this work covers all properties sold from calendar years 2013 to 2018. The property assessment rolls used are from Fiscal 2014 through Fiscal 2019, which correspond to property values as of calendar year 2013 through 2018. The two data sets were joined in order to obtain DOF’s assessed values for the sold properties. The objective is to ensure that DOF’s assessed market value and the sale price of a property are from the same year.
The annualized sales data were downloaded in csv format from DOF’s website, and loaded into R. The RPAD data were downloaded in text format and converted to SPSS, before exporting to R.
Once loaded to R, I cleaned and manipulated the data to get it ready for the analysis. Below are some of the major cleaning steps performed in this analysis.
Removing Unwanted Columns: Six columns were
dropped from the sales data while 94 columns were dropped
from RPAD data.
Excluding Non-Arms Length Transaction: The
sales data records all property transactions, including
arms length and non-arms length transactions. As a result, it includes
transactions with sale prices as low as zero dollars. For the purpose of
this study, I remove all non-arms length transactions. For 1-3 family
home and rentals, I dropped transactions with sale prices under $10,000.
For commercial properties, since they tend to be more expensive, I
excluded those with sale prices under $30,000. While the thresholds used
in this case are not perfect, they ensures that the study is conducted
using transactions that were
Removing Unwanted Property Types: Since the analysis focuses on 1-3 family homes, commercial properties and rentals, I dropped all other property types including coops, condos, vacant land, etc.
Merging the two datasets: After cleaning, the
sales and RPAD data sets were joined to ensure
based on property type.
Calculate ASRs and CODs: Once the final data is cleaned and ready, I calculate the assessment-sales ratio (ASR) and coefficient of dispersion (COD) across boroughs for the four property types under consideration. The ASRs and CODs are assessed across boroughs, property types and property values to determine where inefficiencies exist and how uneven they are.
For details of the data cleaning and manipulation, take a look at the R Script in this GitHub repository
The final data, after cleaning and wrangling, used for this analysis included \42,975 observations and 49 columns. Note that each observation represents a transaction and not a property. Hence, information for one property may be recorded more than once if it sold multiple times over the years under consideration.
Below is a breakdown of the number of transactions by property type, and by borough.
summary_citywide %>%
select(1:2) %>%
ggplot(aes(x = prop_type, y = N)) +
geom_bar(position='dodge', fill = '#ff9149', stat='identity') +
scale_y_continuous(labels = comma) +
geom_text(aes(label = comma(N, size = 20))) +
theme_economist() +
theme(panel.grid.major = element_blank()) +
labs(x = NULL,
y = "No. of Transactions",
title = "Number of Transactions by Property Type")
summary_boro %>%
select(1,3) %>%
group_by(Borough) %>%
summarise(N = sum(N)) %>%
ggplot(aes(x = Borough, y = N)) +
geom_bar(position='dodge', fill = '#ff9149', stat='identity') +
scale_y_continuous(labels = comma) +
geom_text(aes(label = comma(N, size = 20))) +
theme_economist() +
theme(panel.grid.major = element_blank()) +
labs(x = NULL,
y = "No. of Transactions",
title = "Number of Transactions by Borough")
While individual properties may experience very different ASRs, the quality of DOF’s assessment is evaluated in the aggregate using the median value of all ASRs. IAAO standards define a high quality assessment for jurisdictions with a sufficiently large number of property sales—such as New York City— as one where the median ASR lies between 0.90 percent and 1.10 percent.
The tables below show the median assessment-sales ratio for four property types - 1-3 Family, commercial, large rentals and small rental properties.
The first tab shows that, overall, DOF’s assessment of 1-3 Family homes (Class 1) is the only one that meets the IAAO standards for quality assessment. This makes sense since DOF appraises the values of 1-3 Family properties using comparable sales method. The other property classes are appraised using other methods which fail to capture true market values.
summary_citywide %>%
select(prop_type, median_asr) %>%
mutate(median_asr = round(median_asr, 2)) %>%
pivot_wider(names_from = prop_type,
values_from = median_asr) %>%
kbl(align = "lrrrr") %>%
kable_classic_2()
| 1-3 Family | Commercial/Office | Large Rentals | Small Rentals |
|---|---|---|---|
| 0.95 | 0.38 | 0.26 | 0.47 |
summary_boro %>%
select(Borough, prop_type, median_asr)%>%
mutate(median_asr = round(median_asr, 2)) %>%
pivot_wider(names_from = prop_type,
values_from = median_asr) %>%
kbl(align = "lrrrr") %>%
kable_classic_2()
| Borough | 1-3 Family | Commercial/Office | Large Rentals | Small Rentals |
|---|---|---|---|---|
| Brooklyn | 0.98 | 0.34 | 0.24 | 0.41 |
| Manhattan | 1.11 | 0.22 | 0.25 | 0.36 |
| Queens | 0.95 | 0.43 | 0.28 | 0.52 |
| Staten Island | 0.89 | 0.49 | 0.37 | 0.69 |
| The Bronx | 0.99 | 0.58 | 0.28 | 0.76 |
summary_deciles %>%
select(decile, prop_type, median_asr)%>%
mutate(median_asr = round(median_asr, 2)) %>%
mutate(decile = case_when(decile == 1 ~ "Bottom 10%", decile == 2 ~ "10%-20%",
decile == 3 ~ "20%-30%", decile == 4 ~ "30%-40%",
decile == 5 ~ "40%-50%", decile == 6 ~ "50%-60%",
decile == 7 ~ "60%-70%", decile == 8 ~"70%-80%",
decile == 9 ~ "80%-90%", TRUE ~ "Top 10%")) %>%
rename(`Sale Price` = decile) %>%
pivot_wider(names_from = prop_type,
values_from = median_asr) %>%
kbl(align = "lrrrr") %>%
kable_classic_2()
| Sale Price | 1-3 Family | Commercial/Office | Large Rentals | Small Rentals |
|---|---|---|---|---|
| Bottom 10% | 1.65 | 1.21 | 6.31 | 1.92 |
| 10%-20% | 1.06 | 0.64 | 1.51 | 0.82 |
| 20%-30% | 0.93 | 0.63 | 1.87 | 0.74 |
| 30%-40% | 0.89 | 0.55 | 1.27 | 0.64 |
| 40%-50% | 0.89 | 0.46 | 0.69 | 0.57 |
| 50%-60% | 0.91 | 0.44 | 0.64 | 0.52 |
| 60%-70% | 0.90 | 0.38 | 0.47 | 0.45 |
| 70%-80% | 0.84 | 0.34 | 0.35 | 0.39 |
| 80%-90% | 0.83 | 0.28 | 0.28 | 0.33 |
| Top 10% | 0.94 | 0.20 | 0.23 | 0.31 |
Even when you compare property types across boroughs or sale values, DOF’s assessment of 1-3 Family homes is the only one that meets IAAO standards.1
In addition to getting the median ASR (used to measure the quality of assessments) right, we also care about how the rest of the group is dispersed around the median, and what kind of uniformity exists when looking at properties by other groupings (e.g. value).
The level of uniformity in ASRs is measure using the coefficient of dispersion (COD). The COD measures the variation in assessment around the median ASR. Whereas the ASR measures inaccuracy, the COD measures uniformity. Estimates can be inaccurate — that is, further from market value — but if all properties’ assessments are equally inaccurate, then the assessments are perfectly uniform. That is, no one property is benefiting more or less from an inaccuracy than any other property in the same class.
The charts below depict how uniformly the ASRs of properties of the same type are dispersed around the median ASR (red line). The first tab shows the sales ratios among 1-3 Family homes by the sale price. The red line is the median ratio for 1-3 Family home citywide (0.95). Based on IAAO standards, you hope to see a uniform grouping around the median in that 0.9 - 1.1 range.
merge_all %>%
filter(prop_type == "1-3 Family") %>%
ggplot(aes(SALE.PRICE, value.ratio, color = SALE.PRICE, alpha = 0.4)) +
geom_point(shape = 16, size = 1, show.legend = FALSE,
position=position_jitter(width=.01,height=.1)) +
theme_economist() +
scale_color_gradient(low = "#0091ff", high = "#f0650e", limits = c(0, 5000000)) +
scale_x_continuous(name="Sale Price", limits=c(0, 5000000), label = dollar) +
scale_y_continuous(name="Sales Ratio", limits=c(0, 2)) +
geom_hline(yintercept = median(subset(merge_all, prop_type=="1-3 Family")$value.ratio), color = "Red") +
ggtitle("1-3 Family Homes: Sales ratios by sale price")
merge_all %>%
filter(prop_type == "Commercial/Office") %>%
ggplot(aes(SALE.PRICE, value.ratio, color = SALE.PRICE, alpha = 0.4)) +
geom_point(shape = 16, size = 1, show.legend = FALSE,
position=position_jitter(width=.01,height=.1)) +
theme_economist() +
scale_color_gradient(low = "#0091ff", high = "#f0650e", limits = c(0, 10000000)) +
scale_x_continuous(name="Sale Price", limits=c(0, 10000000), label = dollar) +
scale_y_continuous(name="Sales Ratio", limits=c(0, 2)) +
geom_hline(yintercept = median(subset(merge_all, prop_type=="Commercial/Office")$value.ratio),
color = "Red") +
ggtitle("Commercial/Office: Sales ratios by sale price")
merge_all %>%
filter(prop_type == "Large Rentals") %>%
ggplot(aes(SALE.PRICE, value.ratio, color = SALE.PRICE, alpha = 0.4)) +
geom_point(shape = 16, size = 1, show.legend = FALSE,
position=position_jitter(width=.01,height=.1)) +
theme_economist() +
scale_color_gradient(low = "#0091ff", high = "#f0650e", limits = c(0, 25000000)) +
scale_x_continuous(name="Sale Price", limits=c(0, 25000000), label = dollar) +
scale_y_continuous(name="Sales Ratio", limits=c(0, 2)) +
geom_hline(yintercept = median(subset(merge_all, prop_type=="Large Rentals")$value.ratio),
color = "Red") +
ggtitle("Large Rentals: Sales ratios by sale price")
merge_all %>%
filter(prop_type == "Small Rentals") %>%
ggplot(aes(SALE.PRICE, value.ratio, color = SALE.PRICE, alpha = 0.4)) +
geom_point(shape = 16, size = 1, show.legend = FALSE,
position=position_jitter(width=.01,height=.1)) +
theme_economist() +
scale_color_gradient(low = "#0091ff", high = "#f0650e", limits = c(0, 10000000)) +
scale_x_continuous(name="Sale Price", limits=c(0, 10000000), label = dollar) +
scale_y_continuous(name="Sales Ratio", limits=c(0, 2)) +
geom_hline(yintercept = median(subset(merge_all, prop_type=="Small Rentals")$value.ratio),
color = "Red") +
ggtitle("Small Rentals: Sales ratios by sale price")
Per IAAO standards, acceptable CODs fall between 5.0 and 15.0 in areas with relatively homogenous housing.
summary_citywide %>%
select(prop_type, cod) %>%
mutate(cod = round(cod, 1)) %>%
pivot_wider(names_from = prop_type,
values_from = cod) %>%
kbl(align = "lrrrr") %>%
kable_classic_2()
| 1-3 Family | Commercial/Office | Large Rentals | Small Rentals |
|---|---|---|---|
| 25.5 | 6.9 | 32 | 8.2 |
summary_boro %>%
select(Borough, prop_type, cod)%>%
mutate(cod = round(cod, 1)) %>%
pivot_wider(names_from = prop_type,
values_from = cod) %>%
kbl(align = "lrrrr") %>%
kable_classic_2()
| Borough | 1-3 Family | Commercial/Office | Large Rentals | Small Rentals |
|---|---|---|---|---|
| Brooklyn | 6.6 | 5.5 | 19.3 | 9.7 |
| Manhattan | 8.1 | 35.1 | 54.0 | 7.8 |
| Queens | 50.7 | 2.5 | 41.2 | 7.2 |
| Staten Island | 1.5 | 1.9 | 24.8 | 3.2 |
| The Bronx | 20.1 | 2.4 | 9.9 | 5.7 |
summary_deciles %>%
select(decile, prop_type, cod)%>%
mutate(cod = round(cod, 1)) %>%
mutate(decile = case_when(decile == 1 ~ "Bottom 10%", decile == 2 ~ "10%-20%",
decile == 3 ~ "20%-30%", decile == 4 ~ "30%-40%",
decile == 5 ~ "40%-50%", decile == 6 ~ "50%-60%",
decile == 7 ~ "60%-70%", decile == 8 ~"70%-80%",
decile == 9 ~ "80%-90%", TRUE ~ "Top 10%")) %>%
rename(`Sale Price` = decile) %>%
pivot_wider(names_from = prop_type,
values_from = cod) %>%
kbl(align = "lrrrr") %>%
kable_classic_2()
| Sale Price | 1-3 Family | Commercial/Office | Large Rentals | Small Rentals |
|---|---|---|---|---|
| Bottom 10% | 55.8 | 23.1 | 50.7 | 13.8 |
| 10%-20% | 34.4 | 1.0 | 7.0 | 1.3 |
| 20%-30% | 30.5 | 0.9 | 11.6 | 0.9 |
| 30%-40% | 11.3 | 1.7 | 10.5 | 1.0 |
| 40%-50% | 8.0 | 0.8 | 14.1 | 0.8 |
| 50%-60% | 3.1 | 1.3 | 7.7 | 0.4 |
| 60%-70% | 0.3 | 1.3 | 17.4 | 0.9 |
| 70%-80% | 0.7 | 0.7 | 8.2 | 0.9 |
| 80%-90% | 0.2 | 1.9 | 1.7 | 1.3 |
| Top 10% | 0.4 | 0.8 | 1.3 | 0.5 |
Sales ratios differ greatly between property types and assessment methods.
Within the same property types, variation is not terrible, though these results are also mixed.
Regardless of tax class or assessment method, DOF’s assessments tend to overvalue lower-value properties.
Comparing DOF market values between classes should be done with caution.
Converting to sales-based methods could have big effects on the way the property tax works.
The tables gives a breakdown of median assessment ratios and coefficients of dispersion by zip code.21
summary_zip %>%
select(ZIP.CODE, prop_type, median_asr)%>%
mutate(median_asr = round(median_asr, 1)) %>%
pivot_wider(names_from = prop_type,
values_from = median_asr) %>%
kbl(align = "lrrrr") %>%
kable_classic_2() %>%
scroll_box(width = "100%", height = "300px")
| ZIP.CODE | 1-3 Family | Commercial/Office | Large Rentals | Small Rentals |
|---|---|---|---|---|
| 10001 | 3.0 | 0.2 | 0.2 | 0.4 |
| 10002 | 0.7 | 0.2 | 0.2 | 0.3 |
| 10003 | 1.3 | 0.3 | 0.3 | 0.5 |
| 10004 | NA | NA | NA | 1.0 |
| 10005 | NA | NA | 0.4 | 0.1 |
| 10006 | NA | 0.3 | 0.3 | 0.8 |
| 10007 | 1.3 | 0.2 | 0.4 | 0.3 |
| 10009 | 0.8 | 0.3 | 0.3 | 0.4 |
| 10010 | 0.9 | 0.2 | 0.3 | 0.6 |
| 10011 | 1.1 | 0.2 | 0.2 | 0.3 |
| 10012 | 1.1 | 0.2 | 0.2 | 0.3 |
| 10013 | 1.3 | 0.2 | 0.2 | 0.3 |
| 10014 | 1.2 | 0.2 | 0.2 | 0.3 |
| 10016 | 0.9 | 0.3 | 0.3 | 0.5 |
| 10017 | 1.6 | 0.3 | 0.4 | 0.2 |
| 10018 | NA | 0.2 | 0.4 | 0.6 |
| 10019 | NA | 0.1 | 0.3 | 0.4 |
| 10021 | 1.2 | 0.4 | 0.3 | 0.4 |
| 10022 | 0.8 | 0.3 | 0.3 | 0.4 |
| 10023 | 1.3 | 0.3 | 0.2 | 0.4 |
| 10024 | 1.2 | NA | 0.2 | 0.4 |
| 10025 | 1.2 | 0.2 | 0.2 | 0.4 |
| 10026 | 1.3 | 0.2 | 0.2 | 0.3 |
| 10027 | 1.0 | 0.5 | 0.2 | 0.2 |
| 10028 | 1.1 | 0.3 | 0.3 | 0.4 |
| 10029 | 0.8 | NA | 0.3 | 0.4 |
| 10030 | 1.1 | NA | 0.2 | 0.3 |
| 10031 | 0.9 | NA | 0.2 | 0.3 |
| 10032 | 1.1 | NA | 0.2 | 0.3 |
| 10033 | 0.8 | 0.3 | 0.2 | 0.4 |
| 10034 | NA | 0.4 | 0.2 | 0.4 |
| 10035 | 0.8 | 0.2 | 0.3 | 0.3 |
| 10036 | 2.3 | 0.4 | 0.3 | 0.4 |
| 10037 | 3.4 | NA | 0.4 | 0.3 |
| 10038 | NA | 0.3 | 0.2 | 0.3 |
| 10039 | NA | NA | 0.2 | 0.3 |
| 10040 | NA | NA | 0.3 | 0.4 |
| 10065 | 1.1 | 0.3 | 0.2 | 0.5 |
| 10069 | NA | NA | 0.4 | NA |
| 10075 | 1.1 | 38.8 | 0.2 | 0.4 |
| 10128 | 1.3 | 0.7 | 0.2 | 0.4 |
| 10301 | 0.9 | 0.5 | 0.4 | 0.8 |
| 10302 | 0.9 | 0.7 | 0.4 | 1.0 |
| 10303 | 0.9 | 0.6 | 12.7 | 0.8 |
| 10304 | 0.9 | 0.7 | 0.3 | 0.8 |
| 10305 | 0.9 | 0.4 | 0.3 | 0.6 |
| 10306 | 0.9 | 0.5 | 0.6 | 0.6 |
| 10307 | 0.9 | 0.5 | 0.9 | 0.9 |
| 10308 | 0.9 | 0.6 | 0.4 | 0.7 |
| 10309 | 0.9 | 0.5 | NA | NA |
| 10310 | 0.9 | 0.5 | NA | 0.4 |
| 10312 | 0.9 | 0.4 | NA | 0.6 |
| 10314 | 0.9 | 0.5 | NA | 0.5 |
| 10451 | 0.9 | 0.3 | 0.3 | 0.7 |
| 10452 | 0.9 | NA | 0.2 | 0.8 |
| 10453 | 1.0 | 0.1 | 0.3 | 0.8 |
| 10454 | 0.9 | 0.4 | 0.4 | 0.7 |
| 10455 | 0.8 | 0.6 | 0.3 | 0.7 |
| 10456 | 0.9 | 0.4 | 0.3 | 0.7 |
| 10457 | 1.0 | 0.6 | 0.3 | 0.8 |
| 10458 | 0.9 | 0.5 | 0.3 | 0.8 |
| 10459 | 0.9 | NA | 0.3 | 0.7 |
| 10460 | 1.0 | 0.5 | 0.3 | 0.8 |
| 10461 | 1.0 | 0.6 | 0.3 | 0.7 |
| 10462 | 0.9 | 0.6 | 0.3 | 0.7 |
| 10463 | 1.0 | NA | 0.2 | 0.7 |
| 10464 | 1.0 | 1.1 | NA | 0.5 |
| 10465 | 1.0 | 0.7 | 0.3 | 0.7 |
| 10466 | 1.0 | 0.6 | 0.3 | 0.7 |
| 10467 | 1.0 | 0.6 | 0.3 | 0.8 |
| 10468 | 0.9 | NA | 0.3 | 0.7 |
| 10469 | 1.0 | 1.4 | 0.3 | 0.8 |
| 10470 | 1.0 | 0.7 | 0.2 | 0.8 |
| 10471 | 1.2 | NA | 0.2 | 0.7 |
| 10472 | 1.0 | 0.5 | 0.3 | 0.8 |
| 10473 | 1.0 | 0.5 | 0.3 | 0.8 |
| 10474 | 1.1 | 0.5 | 0.2 | 0.9 |
| 10475 | 1.1 | NA | 0.4 | 1.1 |
| 11001 | 1.0 | 0.7 | NA | NA |
| 11004 | 1.0 | NA | NA | NA |
| 11040 | 1.0 | 0.4 | NA | NA |
| 11101 | 0.8 | 0.3 | 0.3 | 0.5 |
| 11102 | 0.8 | 0.3 | 0.3 | 0.5 |
| 11103 | 1.0 | 0.4 | 0.2 | 0.5 |
| 11104 | 0.9 | NA | 0.3 | 0.6 |
| 11105 | 0.9 | 0.7 | 0.3 | 0.4 |
| 11106 | 0.8 | 0.3 | 0.2 | 0.5 |
| 11201 | 1.0 | 0.2 | 0.2 | 0.4 |
| 11203 | 1.0 | 0.6 | 0.3 | 0.5 |
| 11204 | 0.9 | 0.3 | 0.2 | 0.3 |
| 11205 | 1.0 | 0.3 | 0.3 | 0.4 |
| 11206 | 1.0 | 0.2 | 0.2 | 0.3 |
| 11207 | 1.0 | 0.7 | 0.3 | 0.4 |
| 11208 | 1.0 | 0.6 | 0.3 | 0.4 |
| 11209 | 1.0 | 0.3 | 0.2 | 0.6 |
| 11210 | 0.9 | 0.5 | 0.3 | 0.6 |
| 11211 | 1.0 | 0.2 | 0.2 | 0.4 |
| 11212 | 1.0 | 0.6 | 0.3 | 0.4 |
| 11213 | 1.0 | 0.5 | 0.2 | 0.6 |
| 11214 | 1.0 | 0.3 | 0.2 | 0.4 |
| 11215 | 1.0 | 0.2 | 0.3 | 0.5 |
| 11216 | 1.1 | 0.2 | 0.2 | 0.2 |
| 11217 | 0.9 | 0.3 | 0.2 | 0.5 |
| 11218 | 1.0 | 0.3 | 0.2 | 0.5 |
| 11219 | 1.0 | 0.3 | 0.2 | 0.4 |
| 11220 | 1.0 | 0.4 | 0.2 | 0.5 |
| 11221 | 1.0 | 0.4 | 0.2 | 0.3 |
| 11222 | 1.0 | 0.3 | 0.2 | 0.4 |
| 11223 | 1.0 | 0.3 | 0.2 | 0.4 |
| 11224 | 0.9 | 1.2 | 0.3 | 0.7 |
| 11225 | 1.0 | 0.2 | 0.2 | 0.5 |
| 11226 | 0.9 | 0.6 | 0.2 | 0.7 |
| 11227 | NA | NA | NA | 0.4 |
| 11228 | 1.0 | 0.3 | 0.3 | 0.4 |
| 11229 | 1.0 | 0.4 | 0.2 | 0.5 |
| 11230 | 1.0 | 0.5 | 0.2 | 0.5 |
| 11231 | 1.0 | 0.1 | 0.3 | 0.3 |
| 11232 | 1.0 | 0.3 | 0.3 | 0.5 |
| 11233 | 1.0 | 0.3 | 0.3 | 0.4 |
| 11234 | 1.0 | 0.4 | 0.4 | 0.7 |
| 11235 | 1.0 | 0.4 | 0.2 | 0.5 |
| 11236 | 1.0 | 0.5 | 0.4 | 0.7 |
| 11237 | 1.0 | 0.1 | 0.2 | 0.5 |
| 11238 | 1.1 | 0.2 | 0.2 | 0.3 |
| 11239 | 1.5 | NA | 0.1 | NA |
| 11249 | 0.9 | 0.0 | 0.2 | 0.3 |
| 11354 | 0.9 | 0.3 | 0.3 | 0.4 |
| 11355 | 0.9 | 0.3 | 0.3 | 0.3 |
| 11356 | 0.9 | 0.4 | NA | 0.5 |
| 11357 | 0.9 | 0.4 | 0.4 | 0.5 |
| 11358 | 0.9 | 0.3 | 0.3 | 0.5 |
| 11360 | 1.0 | NA | NA | 0.6 |
| 11361 | 0.9 | 0.3 | 1.8 | 0.6 |
| 11362 | 1.0 | 0.3 | NA | 0.5 |
| 11363 | 1.0 | NA | 0.3 | 0.4 |
| 11364 | 1.0 | 0.3 | NA | NA |
| 11365 | 0.9 | 0.3 | 10.2 | 0.4 |
| 11366 | 0.9 | 0.6 | NA | 0.5 |
| 11367 | 0.9 | NA | 0.2 | 0.6 |
| 11368 | 1.0 | 0.4 | 0.4 | 0.6 |
| 11369 | 0.9 | 0.4 | 0.3 | 0.5 |
| 11370 | 1.0 | NA | NA | 1.4 |
| 11372 | 0.9 | 0.4 | 0.3 | 0.8 |
| 11373 | 0.9 | 0.4 | 0.3 | 0.5 |
| 11374 | 1.0 | 0.3 | 0.2 | 0.3 |
| 11375 | 1.0 | 0.3 | 0.3 | 0.6 |
| 11377 | 0.9 | 0.4 | 0.3 | 0.6 |
| 11378 | 0.9 | 0.2 | 0.2 | 0.5 |
| 11379 | 1.0 | 0.4 | NA | 0.5 |
| 11385 | 1.0 | 0.4 | 0.3 | 0.4 |
| 11411 | 1.0 | 0.5 | 0.4 | NA |
| 11412 | 1.0 | 0.8 | 0.3 | 0.9 |
| 11413 | 1.0 | NA | 0.2 | 0.3 |
| 11414 | 1.0 | 1.3 | NA | 0.5 |
| 11415 | 0.9 | NA | 0.3 | 0.8 |
| 11416 | 1.0 | 0.7 | NA | 0.7 |
| 11417 | 0.9 | 0.4 | NA | 0.6 |
| 11418 | 0.9 | 0.6 | 0.3 | 0.7 |
| 11419 | 0.9 | 0.4 | 0.4 | 0.7 |
| 11420 | 1.0 | 0.7 | 0.3 | 0.7 |
| 11421 | 0.9 | 0.5 | 0.3 | 0.7 |
| 11422 | 1.0 | 0.7 | NA | NA |
| 11423 | 0.9 | 0.5 | 0.3 | 1.0 |
| 11426 | 1.0 | 0.6 | NA | 1.3 |
| 11427 | 0.9 | 0.6 | 0.3 | 0.7 |
| 11428 | 0.9 | 0.5 | NA | 1.2 |
| 11429 | 1.0 | 0.6 | 0.5 | 0.9 |
| 11430 | 2.0 | NA | NA | NA |
| 11432 | 0.9 | 0.6 | 0.4 | 0.6 |
| 11433 | 1.0 | 0.5 | 0.2 | 0.4 |
| 11434 | 1.0 | 0.8 | 0.5 | 0.7 |
| 11435 | 0.9 | 0.6 | 0.7 | 0.5 |
| 11436 | 1.0 | NA | NA | 1.1 |
| 11691 | 1.0 | 0.7 | 0.3 | 0.8 |
| 11692 | 0.9 | NA | NA | 0.8 |
| 11693 | 1.0 | 0.5 | 40.6 | 0.6 |
| 11694 | 0.9 | 0.8 | 1.0 | 0.9 |
| 11697 | 523.6 | NA | NA | NA |
summary_zip %>%
select(ZIP.CODE, prop_type, cod)%>%
mutate(cod = round(cod, 1)) %>%
pivot_wider(names_from = prop_type,
values_from = cod) %>%
kbl(align = "lrrrr") %>%
kable_classic_2() %>%
scroll_box(width = "100%", height = "300px")
| ZIP.CODE | 1-3 Family | Commercial/Office | Large Rentals | Small Rentals |
|---|---|---|---|---|
| 10001 | 0.0 | 1.4 | 3.0 | 9.8 |
| 10002 | 0.0 | 0.3 | 2.6 | 0.7 |
| 10003 | 0.2 | 0.0 | 48.3 | 9.0 |
| 10004 | NA | NA | NA | 8.4 |
| 10005 | NA | NA | 0.0 | 0.0 |
| 10006 | NA | 0.0 | 0.0 | 0.0 |
| 10007 | 0.0 | 0.8 | 0.7 | 3.6 |
| 10009 | 0.0 | 1.2 | 26.2 | 10.2 |
| 10010 | 0.0 | 0.3 | 13.5 | 8.6 |
| 10011 | 0.1 | 0.3 | 16.0 | 8.7 |
| 10012 | 0.0 | 10.5 | 18.3 | 0.8 |
| 10013 | 0.1 | 4.0 | 3.3 | 0.7 |
| 10014 | 0.4 | 0.1 | 1174.7 | 7.7 |
| 10016 | 1.9 | 1.7 | 189.2 | 0.8 |
| 10017 | 0.0 | 0.8 | 4.7 | 0.2 |
| 10018 | NA | 0.0 | 10.3 | 0.9 |
| 10019 | NA | 0.0 | 93.2 | 6.0 |
| 10021 | 2.1 | 643.9 | 4.6 | 1.7 |
| 10022 | 1.0 | 0.3 | 1.0 | 0.1 |
| 10023 | 0.3 | 0.0 | 3.3 | 9.2 |
| 10024 | 5.7 | NA | 27.6 | 3.5 |
| 10025 | 1.4 | 0.0 | 6.2 | 12.6 |
| 10026 | 1.3 | 0.0 | 9.2 | 2.4 |
| 10027 | 2.7 | 0.0 | 19.2 | 17.1 |
| 10028 | 0.2 | 0.0 | 0.3 | 1.7 |
| 10029 | 5.2 | NA | 5.0 | 3.5 |
| 10030 | 0.6 | NA | 177.6 | 2.2 |
| 10031 | 2.0 | NA | 10.6 | 11.5 |
| 10032 | 118.1 | NA | 4.2 | 4.2 |
| 10033 | 0.4 | 0.0 | 25.0 | 1.5 |
| 10034 | NA | 0.0 | 1.3 | 0.5 |
| 10035 | 1.2 | 3.8 | 1.0 | 29.8 |
| 10036 | 0.0 | 5.0 | 7.4 | 1.7 |
| 10037 | 0.0 | NA | 39.5 | 55.8 |
| 10038 | NA | 28.6 | 1.9 | 5.9 |
| 10039 | NA | NA | 0.5 | 1.2 |
| 10040 | NA | NA | 4.0 | 0.0 |
| 10065 | 0.6 | 4.0 | 90.6 | 0.3 |
| 10069 | NA | NA | 0.0 | NA |
| 10075 | 23.4 | 0.0 | 30.4 | 1.9 |
| 10128 | 0.5 | 0.0 | 18.2 | 1.0 |
| 10301 | 1.5 | 2.3 | 6.7 | 1.3 |
| 10302 | 1.7 | 0.7 | 2.6 | 1.0 |
| 10303 | 1.2 | 0.6 | 0.0 | 1.0 |
| 10304 | 2.3 | 0.1 | 0.1 | 2.5 |
| 10305 | 0.8 | 0.0 | 2.7 | 14.3 |
| 10306 | 1.7 | 2.3 | 13.6 | 2.2 |
| 10307 | 1.7 | 5.0 | 0.0 | 1.3 |
| 10308 | 1.2 | 0.5 | 0.0 | 0.0 |
| 10309 | 0.7 | 0.2 | NA | NA |
| 10310 | 1.0 | 5.4 | NA | 3.9 |
| 10312 | 1.6 | 0.7 | NA | 0.1 |
| 10314 | 1.9 | 1.6 | NA | 2.2 |
| 10451 | 4.6 | 0.0 | 2.5 | 0.4 |
| 10452 | 1.8 | NA | 23.2 | 11.4 |
| 10453 | 5.0 | 0.0 | 2.7 | 5.6 |
| 10454 | 6.2 | 2.5 | 0.7 | 9.3 |
| 10455 | 1.5 | 0.0 | 4.5 | 1.5 |
| 10456 | 3.8 | 0.0 | 53.8 | 7.4 |
| 10457 | 1.5 | 0.0 | 1.4 | 3.7 |
| 10458 | 1.5 | 5.7 | 1.1 | 0.6 |
| 10459 | 1.6 | NA | 0.7 | 9.3 |
| 10460 | 3.6 | 0.0 | 1.1 | 1.4 |
| 10461 | 1.4 | 11.2 | 0.1 | 1.1 |
| 10462 | 2.3 | 0.2 | 0.0 | 1.5 |
| 10463 | 1.2 | NA | 1.2 | 2.9 |
| 10464 | 0.6 | 0.0 | NA | 0.5 |
| 10465 | 141.6 | 0.4 | 0.0 | 45.7 |
| 10466 | 4.9 | 2.1 | 0.6 | 1.8 |
| 10467 | 2.5 | 0.1 | 50.8 | 4.9 |
| 10468 | 2.4 | NA | 0.9 | 29.3 |
| 10469 | 3.2 | 0.1 | 1.7 | 4.7 |
| 10470 | 2.1 | 2.6 | 0.2 | 7.9 |
| 10471 | 1.7 | NA | 6.2 | 0.5 |
| 10472 | 3.8 | 0.1 | 1.0 | 9.0 |
| 10473 | 1.7 | 0.0 | 0.5 | 5.0 |
| 10474 | 1.7 | 0.2 | 7.2 | 0.1 |
| 10475 | 0.4 | NA | 0.0 | 0.0 |
| 11001 | 0.5 | 0.2 | NA | NA |
| 11004 | 1.6 | NA | NA | NA |
| 11040 | 0.7 | 0.0 | NA | NA |
| 11101 | 3.3 | 4.0 | 9.7 | 1.1 |
| 11102 | 1.7 | 4.0 | 3.2 | 9.4 |
| 11103 | 12.6 | 0.8 | 4.2 | 4.4 |
| 11104 | 0.3 | NA | 3.8 | 10.9 |
| 11105 | 4.7 | 0.0 | 14.0 | 2.3 |
| 11106 | 2.2 | 0.4 | 18.8 | 2.6 |
| 11201 | 1.3 | 3.0 | 0.6 | 4.6 |
| 11203 | 6.1 | 0.1 | 0.4 | 7.2 |
| 11204 | 5.3 | 1.3 | 13.5 | 4.7 |
| 11205 | 2.5 | 2.0 | 10.7 | 14.6 |
| 11206 | 29.2 | 0.1 | 3.5 | 11.3 |
| 11207 | 8.7 | 9.7 | 4.8 | 8.2 |
| 11208 | 3.8 | 1.0 | 0.1 | 8.1 |
| 11209 | 1.3 | 0.9 | 1.6 | 3.8 |
| 11210 | 3.9 | 2.4 | 0.2 | 2.1 |
| 11211 | 2.7 | 12.6 | 6.0 | 10.3 |
| 11212 | 6.2 | 1.0 | 2.1 | 15.4 |
| 11213 | 11.9 | 2.4 | 0.9 | 6.0 |
| 11214 | 1.9 | 0.5 | 0.9 | 4.9 |
| 11215 | 2.9 | 0.6 | 13.1 | 25.5 |
| 11216 | 32.6 | 20.9 | 3.0 | 24.7 |
| 11217 | 0.8 | 1.3 | 25.4 | 12.5 |
| 11218 | 3.1 | 2.1 | 8.5 | 3.2 |
| 11219 | 5.3 | 1.4 | 6.8 | 7.1 |
| 11220 | 2.1 | 7.9 | 4.9 | 7.0 |
| 11221 | 9.2 | 0.9 | 4.5 | 17.7 |
| 11222 | 1.8 | 4.4 | 9.6 | 4.3 |
| 11223 | 5.4 | 2.9 | 1.5 | 0.9 |
| 11224 | 2.4 | 0.0 | 0.4 | 13.1 |
| 11225 | 5.2 | 0.0 | 151.2 | 6.8 |
| 11226 | 6.9 | 9.3 | 3.6 | 1.5 |
| 11227 | NA | NA | NA | 0.0 |
| 11228 | 3.3 | 3.1 | 1.5 | 1.8 |
| 11229 | 1.3 | 0.3 | 12.0 | 0.7 |
| 11230 | 13.2 | 0.5 | 6.7 | 1.2 |
| 11231 | 1.1 | 0.0 | 254.3 | 12.5 |
| 11232 | 12.5 | 0.0 | 3.0 | 19.2 |
| 11233 | 8.5 | 1.6 | 47.7 | 9.3 |
| 11234 | 4.7 | 12.4 | 62.2 | 0.1 |
| 11235 | 2.1 | 1.1 | 12.8 | 2.2 |
| 11236 | 5.6 | 2.1 | 0.4 | 3.5 |
| 11237 | 1.8 | 3.4 | 5.3 | 4.6 |
| 11238 | 63.7 | 2.2 | 4.9 | 29.1 |
| 11239 | 8.7 | NA | 0.0 | NA |
| 11249 | 0.9 | 3.4 | 5.1 | 6.6 |
| 11354 | 1.0 | 0.2 | 1.0 | 7.7 |
| 11355 | 0.9 | 4.6 | 21.3 | 1.2 |
| 11356 | 1.9 | 0.3 | NA | 6.1 |
| 11357 | 1.0 | 2.3 | 0.0 | 6.6 |
| 11358 | 1.2 | 0.4 | 0.0 | 15.3 |
| 11360 | 1.1 | NA | NA | 0.4 |
| 11361 | 1.3 | 1.5 | 6.5 | 15.2 |
| 11362 | 3.6 | 0.1 | NA | 0.2 |
| 11363 | 0.7 | NA | 0.0 | 1.2 |
| 11364 | 1.7 | 0.0 | NA | NA |
| 11365 | 0.6 | 2.0 | 0.0 | 2.5 |
| 11366 | 0.5 | 0.0 | NA | 11.9 |
| 11367 | 1.9 | NA | 0.0 | 0.7 |
| 11368 | 34.7 | 1.9 | 2.1 | 3.2 |
| 11369 | 12.5 | 6.6 | 0.2 | 14.6 |
| 11370 | 5.7 | NA | NA | 9.3 |
| 11372 | 1.5 | 3.5 | 0.1 | 9.6 |
| 11373 | 2.8 | 1.7 | 46.0 | 8.7 |
| 11374 | 5.4 | 0.0 | 0.1 | 15.5 |
| 11375 | 3.1 | 0.3 | 0.5 | 2.0 |
| 11377 | 2.2 | 0.7 | 4.7 | 7.6 |
| 11378 | 0.5 | 0.0 | 0.0 | 6.2 |
| 11379 | 2.3 | 0.8 | NA | 1.4 |
| 11385 | 5.2 | 1.3 | 0.4 | 5.8 |
| 11411 | 5.6 | 0.0 | 0.0 | NA |
| 11412 | 1.9 | 1.2 | 0.0 | 5.1 |
| 11413 | 1.7 | NA | 0.0 | 2.1 |
| 11414 | 6.4 | 0.0 | NA | 0.1 |
| 11415 | 1.9 | NA | 86.7 | 0.0 |
| 11416 | 5.8 | 0.3 | NA | 22.7 |
| 11417 | 10.0 | 0.7 | NA | 16.0 |
| 11418 | 1.4 | 0.0 | 3.8 | 3.1 |
| 11419 | 2.8 | 1.7 | 0.0 | 17.8 |
| 11420 | 2.6 | 4.4 | 0.0 | 9.1 |
| 11421 | 3.1 | 0.0 | 5.8 | 4.0 |
| 11422 | 2.3 | 1.1 | NA | NA |
| 11423 | 1.0 | 0.8 | 3.5 | 4.1 |
| 11426 | 2.4 | 0.0 | NA | 1.2 |
| 11427 | 0.4 | 0.0 | 0.0 | 0.2 |
| 11428 | 5.7 | 3.0 | NA | 2.8 |
| 11429 | 5.2 | 0.1 | 0.0 | 8.5 |
| 11430 | 0.0 | NA | NA | NA |
| 11432 | 2.6 | 1.9 | 113.3 | 1.2 |
| 11433 | 3.1 | 2.7 | 0.0 | 5.9 |
| 11434 | 2.2 | 0.8 | 0.0 | 1.4 |
| 11435 | 3.1 | 1.2 | 21.4 | 4.2 |
| 11436 | 4.1 | NA | NA | 7.6 |
| 11691 | 2.4 | 4.8 | 2.8 | 19.1 |
| 11692 | 2.1 | NA | NA | 1.7 |
| 11693 | 4.9 | 0.8 | 2.6 | 0.9 |
| 11694 | 4.2 | 0.4 | 2.4 | 6.7 |
| 11697 | 0.0 | NA | NA | NA |