From 0f4cfa4ab15e8135ec79162cd77f5bcac8c4ad9f Mon Sep 17 00:00:00 2001 From: connorschwartz <46463980+connorschwartz@users.noreply.github.com> Date: Wed, 10 Jun 2026 21:14:16 -0400 Subject: [PATCH 1/2] Update vertical_equity_study.py This df_group_to_quantile assignment was deleted in this commit https://github.com/larsiusprime/openavmkit/commit/fcc45b116301f02eaa216ceb8024613cf2713124 seemingly by mistake. The df_group_to_quantile is now not getting assigned, causing failure when this method gets run by the assessment quality notebook. --- openavmkit/vertical_equity_study.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openavmkit/vertical_equity_study.py b/openavmkit/vertical_equity_study.py index b5e37286..a0609c15 100644 --- a/openavmkit/vertical_equity_study.py +++ b/openavmkit/vertical_equity_study.py @@ -232,6 +232,7 @@ def _calc_quantiles(df: pd.DataFrame, field: str): def _calc_grouped_quantiles(df_in: pd.DataFrame, value_field: str, group_field: str): df = df_in.copy() df["quantile"] = _calc_quantiles(df, value_field) + df_group_to_quantile = df.groupby(group_field)["quantile"].agg(lambda x: pd.Series.mode(x)[0]).reset_index() df2 = df_in.merge(df_group_to_quantile, on=group_field, how="left") return df2["quantile"] @@ -269,4 +270,4 @@ def _assemble_quantile_df(df_in: pd.DataFrame, field_sales: str, field_predictio df = pd.DataFrame(data=data) df = df.sort_values(by="quantile", key=lambda col: col.astype(int)) - return df \ No newline at end of file + return df From 0611811401254ae4487c5eaefd117fd8ac2c70f2 Mon Sep 17 00:00:00 2001 From: connorschwartz <46463980+connorschwartz@users.noreply.github.com> Date: Wed, 10 Jun 2026 21:16:48 -0400 Subject: [PATCH 2/2] Update vertical_equity_study.py --- openavmkit/vertical_equity_study.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openavmkit/vertical_equity_study.py b/openavmkit/vertical_equity_study.py index a0609c15..37191f30 100644 --- a/openavmkit/vertical_equity_study.py +++ b/openavmkit/vertical_equity_study.py @@ -107,7 +107,8 @@ def __init__( sales = df_sales[field_sales].to_numpy() results = calc_ratio_stats_bootstrap(predictions, sales, confidence_interval, iterations=iterations, seed=seed) - + self.prd = results["prd"] + prb_point, prb_low, prb_high = calc_prb(predictions, sales, confidence_interval) self.prb = ConfidenceStat(prb_point, confidence_interval, prb_low, prb_high)