knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(cmfproperty)

What and Who is cmfproperty for?

The property tax is the single largest source of locally generated revenue for American local governments. Cities, counties, school districts, and special districts raise roughly $500 billion per year in property taxes according to The Urban Institute.

Property taxes are supposed to be a flat tax where everyone pays the same rate regardless of how much their home is worth. In practice, property taxes are regressive in almost every single county in America, according to a recent nationwide analysis by the Center for Municipal Finance which analyzed 40 million property sales. For an individual homeowner, understanding if their home was assessed fairly is relatively difficult. A homeowner only knows what their home is assessed for and only knows how accurately their home was assessed if it sells in a given year.

cmfproperty provides the necessary tools for the public, assessors, and public interest groups to evaluate the effectiveness of assessment systems by removing subject-matter and technical barriers and producing automated contextualized reports. These reports analyze the assessor's own data using industry standards and visualizations designed to illustrate inequities and package the information in an easy to use format.

How do I use cmfproperty?

First, check out the article on preprocessing which outlines data requirements and examples. In order to analyze assessments, data is required to have at least three columns: Sale Year, Sale Price, and Assessed Value.

head(cmfproperty::example_data)

After gathering data in this form, we have to identify the three required columns (sales, assessments, and sale year) for the package using cmfproperty::reformat_data.

ratios <-
  cmfproperty::reformat_data(
    data = cmfproperty::example_data,
    sale_col = "SALE_PRICE",
    assessment_col = "ASSESSED_VALUE",
    sale_year_col = "SALE_YEAR",
  )
head(as.data.frame(ratios))

We denote data processed by cmfproperty::reformat_data as ratios throughout the documentation. ratios includes the additional calculated fields needed to complete the study.

There's one more step to get the automated report:

cmfproperty::make_report(ratios, 
                         jurisdiction_name = "Cook County, Illinois")

The report will be saved in your working directory or a specific directory can be provided.

cmfproperty::make_report(ratios, 
                         jurisdiction_name = "Cook County, Illinois",
                         output_dir = "~/Desktop/")

Check out an example report here.

How does this work?

Check out our methods and information on figures in addition to function-level documentation. The core unit of analysis that we use (and is standard) is the Sales Ratio. A sales ratio is a calculated ratio between the sale price and assessed value at the time of sale for an individual property. Properties should be assessed at their fair market value which is defined as the sale price when sold between two unrelated parties in an arm's length transaction. We then apply the standard method to determine if a sale is arm's length from the International Association of Assessing Officers.

If you would like to use our package to make your own report, simply take ratios and create stats.

stats <- cmfproperty::calc_iaao_stats(ratios)
head(stats)

With stats and ratios, you have the necessary tools for all the forms of analysis we present. For example,

output <- diagnostic_plots(stats, 
                           ratios, 
                           min_reporting_yr = 2015, 
                           max_reporting_yr = 2019)

output[[1]]

Report Diagnostic

We also present a series of diagnostic graphs to evaluate data quality, especially unexpected year-to-year changes. The diagnostic section can optionally be included as an appendix to the report as follows.

cmfproperty::make_report(ratios, 
                         jurisdiction_name = "Cook County, Illinois Diagnostic",
                         output_dir = "~/../Documents/GitHub/cmf-uchicago.github.io/",
                         diagnostic = TRUE)

Check out a report on the example data with a diagnostic section here.



erhla/cmfproperty documentation built on July 21, 2024, 2:24 p.m.