From 86cb294949e54231e1fa8a25ce40c2bc72c6f475 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Wed, 12 Aug 2026 20:35:52 +0500 Subject: [PATCH] =?UTF-8?q?test(tradein/backtest):=20=D1=8D=D1=82=D0=B0?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=20=D0=B3=D0=B5=D0=B9=D1=82=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=81=D0=BB=D0=B5=20=D1=81=D0=BD=D1=8F=D1=82=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BA=D0=B2=D0=B0=D1=80=D1=82=D0=B0=D0=BB=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D1=81=D0=B5=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Гейт `test_backtest_regression_gate` реплеит замороженную фикстуру (277 сделок) прямо через `_price_from_inputs` с `target_house_cadnum=None`, минуя `estimate_quality`. То есть на фикстуре меряется ровно снятие поправки по кварталу СОСЕДА (координатный резолв в реплей не попадает — его делает вызывающий код). Затронуто 30 сделок из 277 (10.8% — сходится с прод-оценкой поверхности ~10%); множитель цены стало/было: min 0.704, медиана 1.019, max 1.661 (17 вверх / 13 вниз). Сдвиг метрик (эталон → стало): expected_sold.overall.mape_pct 13.18 → 12.63 (−0.55) calibration.low.mape_pct 13.2 → 12.67 (−0.53) студии mape 19.38 → 16.96 (−2.42) 3к mape 9.34 → 7.79 (−1.55) 2к mape 18.26 → 17.39 (−0.87) комфорт mape 11.80 → 10.14 (−1.66) бизнес mape 14.65 → 13.65 (−1.00) УХУДШИЛОСЬ: эконом mape 13.71 → 14.20 (+0.49), bias 2.54 → 3.33 4+ mape 16.30 → 16.38 (+0.08), bias 3.34 → −1.32 хвосты: студии p75 34.32 → 38.82, бизнес p25 −22.93 → −27.15 Покрытие (82.09/82.16), sharpness (0.743), n по всем бакетам и headline не менялись. Атрибуция: на origin/main регенерация тем же путём даёт эталон байт-в-байт, расхождение появляется ровно от правки резолва квартала. --- .../tests/fixtures/backtest_baseline.json | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/tradein-mvp/backend/tests/fixtures/backtest_baseline.json b/tradein-mvp/backend/tests/fixtures/backtest_baseline.json index a040e084..b11e827e 100644 --- a/tradein-mvp/backend/tests/fixtures/backtest_baseline.json +++ b/tradein-mvp/backend/tests/fixtures/backtest_baseline.json @@ -8,7 +8,7 @@ }, "low": { "coverage_pct": 82.09, - "mape_pct": 13.2, + "mape_pct": 12.67, "n": 276, "n_covered": 220 }, @@ -26,22 +26,22 @@ ], "expected_sold": { "overall": { - "mape_pct": 13.18, - "median_bias_pct": -3.71, + "mape_pct": 12.63, + "median_bias_pct": -3.74, "n": 269, "n_no_analogs": 0, - "p25_pct": -16.11, - "p75_pct": 8.92 + "p25_pct": -15.17, + "p75_pct": 8.67 }, "per_rooms": { "0": { "label": "студия", - "mape_pct": 19.38, - "median_bias_pct": 18.1, + "mape_pct": 16.96, + "median_bias_pct": 16.96, "n": 35, "n_no_analogs": 0, "p25_pct": 1.5, - "p75_pct": 34.32 + "p75_pct": 38.82 }, "1": { "label": "1к", @@ -50,50 +50,50 @@ "n": 93, "n_no_analogs": 0, "p25_pct": -14.43, - "p75_pct": 6.98 + "p75_pct": 8.15 }, "2": { "label": "2к", - "mape_pct": 18.26, - "median_bias_pct": -12.2, + "mape_pct": 17.39, + "median_bias_pct": -11.71, "n": 74, "n_no_analogs": 0, - "p25_pct": -24.35, + "p25_pct": -23.07, "p75_pct": -0.36 }, "3": { "label": "3к", - "mape_pct": 9.34, - "median_bias_pct": -3.08, + "mape_pct": 7.79, + "median_bias_pct": -4.05, "n": 43, "n_no_analogs": 0, "p25_pct": -10.26, - "p75_pct": 4.68 + "p75_pct": 3.82 }, "4": { "label": "4+", - "mape_pct": 16.3, - "median_bias_pct": 3.34, + "mape_pct": 16.38, + "median_bias_pct": -1.32, "n": 24, "n_no_analogs": 0, "p25_pct": -14.91, - "p75_pct": 15.11 + "p75_pct": 15.41 } }, "per_segment": { "бизнес": { - "mape_pct": 14.65, + "mape_pct": 13.65, "median_bias_pct": -10.54, "n": 46, - "p25_pct": -22.93, + "p25_pct": -27.15, "p75_pct": -1.31 }, "комфорт": { - "mape_pct": 11.8, - "median_bias_pct": -4.61, + "mape_pct": 10.14, + "median_bias_pct": -5.01, "n": 101, - "p25_pct": -17.07, - "p75_pct": 6.04 + "p25_pct": -15.49, + "p75_pct": 4.37 }, "премиум": { "mape_pct": 68.92, @@ -103,11 +103,11 @@ "p75_pct": -68.92 }, "эконом": { - "mape_pct": 13.71, - "median_bias_pct": 2.54, + "mape_pct": 14.2, + "median_bias_pct": 3.33, "n": 115, - "p25_pct": -9.8, - "p75_pct": 25.5 + "p25_pct": -8.69, + "p75_pct": 27.3 }, "элит": { "mape_pct": 33.2,