Calculate Coefficient of Dispersion (COD)#
- assesspy.cod(estimate: list[int] | list[float] | Series, sale_price: list[int] | list[float] | Series) float #
COD is the average absolute percent deviation from the median ratio. It is a measure of horizontal equity in assessment. Horizontal equity means properties with a similar fair market value should be similarly assessed.
Lower COD indicates higher uniformity/horizontal equity in assessment. The IAAO sets uniformity standards that define generally accepted ranges for COD depending on property class. See IAAO Standard on Ratio Studies Section 9.1, Table 1.3 for a full list of standard COD ranges.
Note
The IAAO recommends trimming outlier ratios before calculating COD, as it is extremely sensitive to large outliers. The typical method used is dropping values beyond 3 * IQR (inner-quartile range). See IAAO Standard on Ratio Studies Appendix B.1.
- Parameters:
estimate (Array-like numeric values) – A list or
pd.Series
of estimated values. Must be the same length assale_price
.sale_price (Array-like numeric values) – A list or
pd.Series
of sale prices. Must be the same length asestimate
.
- Returns:
A single float value containing the COD of the inputs.
- Return type:
float
- Example:
# Calculate COD: import assesspy as ap ap.cod(ap.ccao_sample().estimate, ap.ccao_sample().sale_price)
- assesspy.cod_ci(estimate: list[int] | list[float] | Series, sale_price: list[int] | list[float] | Series, nboot: int = 1000, alpha: float = 0.05) tuple[float, float] #
Calculate the non-parametric bootstrap confidence interval for COD.
- See also:
- assesspy.cod_met(x: float) bool #
Check whether COD meets IAAO standards (between 5 and 15, inclusive).
- Parameters:
x (float) – A single float value containing the COD.
- Returns:
A boolean value indicating whether the COD meets IAAO standards.
- Return type:
bool