Skip to main content

Welcome to OpenAVM Kit

OpenAVM Kit is a comprehensive Python library designed for real estate mass appraisal. It provides a complete toolkit for assessors, data scientists, and researchers to build, evaluate, and deploy automated valuation models (AVMs) with professional-grade accuracy.

Quick start

Get up and running with OpenAVM Kit in minutes

Installation

Install from PyPI or clone from GitHub

API Reference

Explore the complete API documentation

Jupyter Notebooks

Browse notebooks and code examples

Key features

OpenAVM Kit is built to handle the entire mass appraisal workflow:

Data processing and enrichment

  • Data cleaning - Filter invalid sales, handle missing values, and standardize formats
  • Geographic enrichment - Integrate with Census, OpenStreetMap, and Overture data sources
  • Spatial analysis - Calculate distances, identify clusters, and perform spatial inference
  • Time adjustment - Account for market trends and seasonal variations

Modeling capabilities

  • Multiple regression analysis (MRA) - Traditional linear models with spatial extensions
  • Machine learning - XGBoost, LightGBM, and CatBoost implementations
  • Geographically weighted regression (GWR) - Spatially-aware modeling
  • Spatial lag models - Incorporate neighborhood effects
  • Land valuation - Separate land and building value components

Statistical evaluation

  • Ratio studies - IAAO-standard assessment quality metrics
  • Horizontal equity studies - Ensure fair treatment across property types
  • Vertical equity studies - Analyze progressivity and regressivity
  • Sales scrutiny - Identify and handle outliers systematically

Production tools

  • Cloud synchronization - Azure, HuggingFace, and SFTP support
  • Jupyter notebooks - Interactive workflows for common tasks
  • Report generation - Automated PDF reports and visualizations
  • Checkpoint system - Cache intermediate results for faster iteration

Architecture

OpenAVM Kit follows a modular design:
import openavmkit
from openavmkit.pipeline import init_notebook, load_settings
from openavmkit.data import load_dataframe, process_data
from openavmkit.modeling import fit_model
from openavmkit.ratio_study import RatioStudy
The pipeline module provides high-level functions for notebook workflows, while specialized modules like data, modeling, and ratio_study offer fine-grained control.
OpenAVM Kit is tested on Python 3.11 and 3.12. Python 3.11.9 is recommended for maximum compatibility.

Who uses OpenAVM Kit?

OpenAVM Kit is designed for:
  • Assessment jurisdictions building transparent, defensible valuation models
  • Researchers studying property taxation and housing economics
  • Data scientists developing custom AVM solutions
  • Consultants performing assessment quality audits

License and philosophy

OpenAVM Kit is dual-licensed under AGPLv3 and a commercial license. The AGPL license allows free use for open-source projects, while the commercial license enables proprietary applications. See the License Philosophy for details on choosing the right license for your use case.

Getting help

GitHub Issues

Report bugs and request features

Discussions

Ask questions and share ideas

Next steps

1

Install OpenAVM Kit

Follow the installation guide to set up your environment
2

Complete the quick start

Work through the quick start tutorial to build your first model
3

Explore the examples

Browse the example notebooks for common workflows
4

Dive into the API

Reference the API documentation for detailed usage

Build docs developers (and LLMs) love