{
	"locality": {},
	"data": {
		"load": {},
		"process": {
			"merge": {},
			"fill": {
				"zero": [
					"bldg_area_finished_sqft",
					"bldg_area_finished_sqm"
				]
			},
			"reconcile": {},
			"enrich": {}
		}
	},
	"modeling": {
		"metadata": {
			"modeler": "Modeler"
		},
		"instructions": {
			"feature_selection": {
				"thresholds": {
					"correlation": 0.1,
					"vif": 10,
					"p_value": 0.05,
					"t_value": 2,
					"enr_coef": 0.01,
					"adj_r2": 0.05
				},
				"weights": {
					"vif": 3,
					"p_value": 3,
					"t_value": 2,
					"enr_coef": 2,
					"corr_score": 2,
					"coef_sign": 2,
					"adj_r2": 1
				}
			}
		},
		"models": {
			"default": {
				"dep_vars": [],
				"interactions": {
					"default": true
				}
			}
		}
	},
	"analysis": {
		"ratio_study": {
			"look_back_years": 1,
			"breakdowns": [
				{"by": "sale_price", "quantiles": 10}
			]
		},
		"sales_scrutiny": {
			"location": "neighborhood",
			"fields_categorical_improved": [],
			"fields_numeric": []
		},
		"horizontal_equity": {
			"location": "neighborhood",
			"fields_categorical": [],
			"fields_numeric": [
				"land_area_sqft",
				"bldg_area_finished_sqft",
				"bldg_area_finished_sqm",
				"bldg_quality_num",
				"bldg_condition_num",
				"bldg_age_years"
			]
		},
		"land_equity": {
			"fields_categorical": [],
			"fields_numeric": [
				"land_area_sqft",
				"land_area_sqm",
				"geom_rectangularity_num"
			]
		},
		"impr_equity": {
			"fields_categorical": [],
			"fields_numeric": [
				"bldg_area_finished_sqft",
				"bldg_area_finished_sqm",
				"bldg_quality_num",
				"bldg_condition_num",
				"bldg_age_years"
			]
		},
		"report": {
			"formats": ["pdf", "html", "md"]
		}
	},
	"+field_classification": {
		"+land": {
			"+numeric": [
				"noise_mean",
				"noise_max",
				"elevation_mean",
				"elevation_stdev",
				"slope_mean",
				"slope_stdev",
				"longitude_norm",
				"latitude_norm",
				"longitude",
				"latitude",
				"land_area_somers_ft",
				"land_area_somers_m",
				"land_area_sqft_log",
				"land_area_sqft",
				"land_area_sqft2",
				"land_area_sqft3",
				"land_area_sqm_log",
				"land_area_sqm",
				"land_area_sqm2",
				"land_area_sqm3",
				"land_area_sqft_assessor",
				"land_area_gis_sqft",
				"land_area_gis_delta_sqft",
				"land_area_sqm_assessor",
				"land_area_gis_sqm",
				"land_area_gis_delta_sqm",
				"land_area_gis_delta_percent",
				"depth_ft",
				"frontage_ft",
				"depth_m",
				"frontage_m",
				"median_income",
				"rectangularity_num",
				"osm_street_speed_limit",
				"osm_street_lanes",
				"assr_land_value",
				"assr_land_value_land_sqft",
				"assr_land_value_land_sqm",
				"true_land_value",
				"true_land_value_land_sqft",
				"true_land_value_land_sqm",
				"predicted_land_value",
				"predicted_land_value_per_land_sqft",
				"predicted_land_value_per_land_sqm",
				"dist_to_cbd",
				"aspect_ratio",
				"geom_vertices",
				"dist_to_colleges",
				"dist_to_universities",
				"dist_to_greenspace",
				"dist_to_airport",
				"dist_to_educational",
				"dist_to_golf_courses",
				"dist_to_parks",
				"dist_to_transportation",
				"dist_to_water_bodies",
				"land_area_median_sqft",
				"land_area_median_sqm",
				"land_area_delta_from_median_sqft",
				"land_area_delta_from_median_sqm",
				"geom_rectangularity_num",
				"land_area_given_sqft",
				"geom_aspect_ratio",
				"spatial_lag_bedroom_density",
				"spatial_lag_bldg_age_years",
				"spatial_lag_bldg_effective_age_years",
				"spatial_lag_bldg_area_finished_sqft",
				"spatial_lag_land_area_finished_sqft",
				"spatial_lag_bldg_area_finished_sqm",
				"spatial_lag_land_area_finished_sqm",
				"spatial_lag_bldg_quality_num",
				"spatial_lag_bldg_condition_num",
				"spatial_lag_floor_area_ratio",
				"spatial_lag_sale_price",
				"spatial_lag_sale_price_vacant",
				"spatial_lag_sale_price_impr_sqft",
				"spatial_lag_sale_price_land_sqft",
				"spatial_lag_sale_price_impr_sqm",
				"spatial_lag_sale_price_land_sqm",
				"spatial_lag_sale_price_time_adj",
				"spatial_lag_sale_price_time_adj_impr_sqft",
				"spatial_lag_sale_price_time_adj_land_sqft",
				"spatial_lag_sale_price_time_adj_impr_sqm",
				"spatial_lag_sale_price_time_adj_land_sqm",
				"polar_angle",
				"polar_radius",
				"osm_frontage_motorway_ft",
				"osm_frontage_primary_ft",
				"osm_frontage_residential_ft",
				"osm_frontage_secondary_ft",
				"osm_frontage_service_ft",
				"osm_frontage_tertiary_ft",
				"osm_frontage_trunk_ft",
				"osm_frontage_unclassified_ft",
				"frontage_ft_1",
				"frontage_ft_2",
				"frontage_ft_3",
				"frontage_ft_4",
				"frontage_m_1",
				"frontage_m_2",
				"frontage_m_3",
				"frontage_m_4",
				"depth_ft_1",
				"depth_ft_2",
				"depth_ft_3",
				"depth_ft_4",
				"dist_to_road_ft_1",
				"dist_to_road_ft_2",
				"dist_to_road_ft_3",
				"dist_to_road_ft_4",
				"depth_m_1",
				"depth_m_2",
				"depth_m_3",
				"depth_m_4",
				"dist_to_road_m_1",
				"dist_to_road_m_2",
				"dist_to_road_m_3",
				"dist_to_road_m_4",
				"osm_road_angle_1",
				"osm_road_angle_2",
				"osm_road_angle_3",
				"osm_road_angle_4",
				"osm_frontage_motorway_m",
				"osm_frontage_primary_m",
				"osm_frontage_residential_m",
				"osm_frontage_secondary_m",
				"osm_frontage_service_m",
				"osm_frontage_tertiary_m",
				"osm_frontage_trunk_m",
				"osm_frontage_unclassified_m",
				"osm_total_frontage_ft",
				"osm_total_frontage_m",
				"spatial_lag_sale_price",
				"spatial_lag_sale_price_vacant",
				"spatial_lag_sale_price_impr_sqft",
				"spatial_lag_sale_price_land_sqft",
				"spatial_lag_bldg_area_finished_sqft",
				"spatial_lag_land_area_sqft",
				"spatial_lag_sale_price_impr_sqm",
				"spatial_lag_sale_price_land_sqm",
				"spatial_lag_bldg_area_finished_sqm",
				"spatial_lag_land_area_sqm",
				"vacant_buildings",
				"vacant_buildings_pct",
				"total_parcels",
				"vacant_parcels",
				"vacant_parcels_pct",
				"dist_to_osm_educational",
				"dist_to_osm_golf_courses",
				"dist_to_osm_parks",
				"dist_to_osm_water_bodies",
				"median_c_rent",
				"median_g_rent"
			],
			"+categorical": [
				"land_class",
				"rectangularity_txt",
				"neighborhood",
				"census_tract",
				"census_block_group",
				"city",
				"school_district",
				"zoning",
				"zoning_class",
				"zoning_desc",
				"zoning_class_desc",
				"zoning_category",
				"osm_street_name",
				"osm_street_type",
				"osm_corner_lot_type",
				"osm_corner_lot_street",
				"osm_waterfront_name",
				"osm_golf_course_name",
				"osm_park_name",
				"osm_playground_name",
				"osm_swimming_pool_name",
				"osm_road_face_1",
				"osm_road_face_2",
				"osm_road_face_3",
				"osm_road_face_4",
				"osm_road_name_1",
				"osm_road_name_2",
				"osm_road_name_3",
				"osm_road_name_4",
				"osm_road_type_1",
				"osm_road_type_2",
				"osm_road_type_3",
				"osm_road_type_4"
			],
			"+boolean": [
				"is_vacant",
				"is_triangular",
				"is_complex_geometry",
				"is_elongated",
				"is_irregular",
				"is_below_buildable_size",
				"is_geom_triangular",
				"is_geom_complex",
				"is_geom_elongated",
				"is_geom_irregular",
				"osm_is_corner_lot",
				"osm_is_cul_de_sac",
				"osm_is_waterfront",
				"osm_on_golf_course",
				"osm_on_park",
				"osm_on_playground",
				"osm_on_swimming_pool",
				"within_educational",
				"within_golf_courses",
				"within_parks",
				"within_transportation",
				"within_water_bodies"
			]
		},
		"+impr": {
			"+boolean": [
				"new_construction",
				"newish_construction",
				"is_renovated"
			],
			"+numeric": [
				"bldg_count",
				"bldg_area_finished_sqft",
				"bldg_area_finished_sqm",
				"bldg_quality_num",
				"bldg_condition_num",
				"bldg_age_years",
				"bldg_effective_age_years",
				"bldg_units",
				"bldg_stories",
				"bldg_year_built",
				"bldg_effective_year_built",
				"bldg_year_remodeled",
				"bldg_rooms_bed",
				"bldg_rooms_bath",
				"bldg_rooms_bath_full",
				"bldg_rooms_bath_half",
				"bldg_rooms_total",
				"bldg_area_footprint_sqft",
				"bldg_area_footprint_sqm",
				"bldg_area_finished_sqft_inferred",
				"bldg_area_finished_sqm_inferred",
				"assr_impr_value",
				"assr_impr_value_impr_sqft",
				"assr_impr_value_impr_sqm",
				"true_impr_value",
				"true_impr_value_impr_sqft",
				"true_impr_value_impr_sqm",
				"renovation_num",
				"days_to_reno"
			],
			"+categorical": [
				"bldg_fixtures",
				"bldg_plumbing",
				"bldg_class",
				"bldg_desc",
				"bldg_type",
				"bldg_style",
				"bldg_exterior",
				"bldg_heating",
				"bldg_ac",
				"bldg_foundation",
				"bldg_quality_txt",
				"bldg_condition_txt",
				"renovation_txt",
				"reno_date"
			]
		},
		"+other": {
			"+numeric": [
				"sale_age_days",
				"sale_price",
				"sale_price_time_adj",
				"sale_price_land_sqft",
				"sale_price_impr_sqft",
				"sale_price_land_sqm",
				"sale_price_impr_sqm",
				"assr_market_value",
				"assr_market_value_land_sqft",
				"assr_market_value_impr_sqft",
				"assr_market_value_land_sqm",
				"assr_market_value_impr_sqm",
				"assr_land_alloc",
				"true_market_value",
				"true_market_value_land_sqft",
				"true_market_value_impr_sqft",
				"true_market_value_land_sqm",
				"true_market_value_impr_sqm",
				"true_land_alloc",
				"min_buildable_size",
				"sale_year",
				"sale_month",
				"sale_day",
				"floor_area_ratio",
				"sale_quarter",
				"days_to_demo"
			],
			"+categorical": [
				"he_id",
				"address",
				"model_group",
				"warning_vacant_discrepancy",
				"warning_vacant_positive_year_built",
				"warning_vacant_positive_impr_numeric",
				"warning_vacant_has_impr_categorical",
				"sale_date",
				"assr_date",
				"demo_date",
				"sale_year_month",
				"sale_year_quarter",
				"key",
				"key2",
				"key_sale",
				"deed_book_and_page",
				"deed_book",
				"deed_page"
			],
			"+boolean": [
				"is_vacant",
				"valid_sale",
				"vacant_sale",
				"is_teardown_sale",
				"valid_for_ratio_study",
				"valid_for_land_ratio_study",
				"valid_for_modeling",
				"potential_vacant_sale"
			]
		}
	},
	"ref": {
		"__": "This section is where we store objects and values we'd like to include by reference elsewhere",
		"dupes_universe": {
			"subset": ["key"],
			"sort_by": ["key", "asc"],
			"drop": true
		},
		"dupes_sales": {
			"subset": ["key_sale"],
			"sort_by": ["key_sale", "asc"],
			"drop": true
		}
	}
}