WP21 — Light extraction protocol for ML / AVM predictive studies (AI synthesis, Section 9)
Input: dumps or PDFs of records coded ELIGIBLE_ML_PREDICTIVE_ONLY (and ELIGIBLE_HEDONIC with ai_ml_flag = 1).
Output: one row per study in data/extracted/ai/<record_id>.json:
json
{"record_id": "", "short_ref": "Author (year)", "country": "", "city": "", "property_type": "", "price_type": "", "n_obs": 0,
"sample_period": "", "data_source": "", "methods_compared": ["OLS hedonic", "random forest", "XGBoost", "CNN", ...],
"best_method": "", "metric": "R2|RMSE|MAPE|MAE|RMSLE|other", "best_value": 0.0, "hedonic_value": null,
"test_set": "holdout|k-fold|spatial CV|none|unknown", "features_ai": "text sentiment|street-view CNN|satellite|listing text embeddings|none",
"incremental_ai_gain": null, "incremental_ai_metric": "", "marginal_effects": "none|SHAP|PDP|coefficients", "notes": "", "confidence": "high|medium|low"}Rules: record the metric exactly as printed on the SAME test set for the best ML model and for the hedonic/OLS benchmark if one is
reported (hedonic_value); incremental_ai_gain = improvement of the metric when AI-derived features (text, images) are added to a
conventional feature set, only if the paper reports that comparison; never compare across papers; marginal_effects records whether
interpretable effects are reported (SHAP, partial dependence, coefficients). Leave fields null when not printed.