various edits
This commit is contained in:
@@ -26,6 +26,7 @@ import duckdb
|
||||
PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
PUBLIC_DATA_ROOT = (PROJECT_ROOT / "dashboard/public/data").resolve()
|
||||
SCHEMA_VERSION = "dashboard_data_v1"
|
||||
PUBLICATION_POLICY_VERSION = "dashboard_publication_policy_v1"
|
||||
ALLOWED_PARTITIONS = ("train", "tune", "calibrate")
|
||||
PARTITION_ORDER = {name: index for index, name in enumerate(ALLOWED_PARTITIONS)}
|
||||
LOCKED_PARTITION_ALIASES = ("test", "locked_test", "locked-test")
|
||||
@@ -641,7 +642,183 @@ def _age_risk_rows(connection: duckdb.DuckDBPyConnection) -> List[Dict[str, obje
|
||||
def _scorecard_rows(connection: duckdb.DuckDBPyConnection) -> List[Dict[str, object]]:
|
||||
raw = connection.execute(
|
||||
"""
|
||||
SELECT last_observed_make, last_observed_model,
|
||||
WITH legacy_cells(prior_make, prior_model) AS (
|
||||
VALUES
|
||||
('FORD', 'F150'),
|
||||
('HONDA', 'ACCORD'),
|
||||
('HONDA', 'CIVIC'),
|
||||
('TOYOTA', 'CAMRY')
|
||||
),
|
||||
make_aliases(raw_make, canonical_make) AS (
|
||||
VALUES
|
||||
('CHEVR', 'CHEVROLET'),
|
||||
('HYUND', 'HYUNDAI'),
|
||||
('NISSA', 'NISSAN'),
|
||||
('SUBAR', 'SUBARU'),
|
||||
('TOYOT', 'TOYOTA')
|
||||
),
|
||||
normalized AS (
|
||||
SELECT
|
||||
safe_mart.last_observed_make AS raw_make,
|
||||
safe_mart.last_observed_model AS raw_model,
|
||||
coalesce(
|
||||
make_aliases.canonical_make,
|
||||
upper(trim(safe_mart.last_observed_make))
|
||||
) AS normalized_make,
|
||||
upper(trim(safe_mart.last_observed_model)) AS normalized_model,
|
||||
exact_legacy.prior_make IS NOT NULL AS is_exact_legacy,
|
||||
display_legacy.prior_make IS NOT NULL AS collides_with_legacy,
|
||||
safe_mart.vehicle_token,
|
||||
safe_mart.target_nonpass
|
||||
FROM safe_mart
|
||||
LEFT JOIN make_aliases
|
||||
ON upper(trim(safe_mart.last_observed_make)) = make_aliases.raw_make
|
||||
LEFT JOIN legacy_cells AS exact_legacy
|
||||
ON safe_mart.last_observed_make = exact_legacy.prior_make
|
||||
AND safe_mart.last_observed_model = exact_legacy.prior_model
|
||||
LEFT JOIN legacy_cells AS display_legacy
|
||||
ON trim(safe_mart.last_observed_make) = display_legacy.prior_make
|
||||
AND trim(safe_mart.last_observed_model) = display_legacy.prior_model
|
||||
WHERE safe_mart.eligible_returning_target
|
||||
AND safe_mart.target_nonpass IN (0, 1)
|
||||
AND safe_mart.last_observed_make IS NOT NULL
|
||||
AND safe_mart.last_observed_model IS NOT NULL
|
||||
),
|
||||
classified AS (
|
||||
SELECT
|
||||
CASE
|
||||
-- Only the eight families introduced in this release use
|
||||
-- alias folding. The four legacy cells never enter this
|
||||
-- branch, so their published counts retain raw-key meaning.
|
||||
WHEN normalized_make = 'TOYOTA'
|
||||
AND (
|
||||
normalized_model = 'COROLLA'
|
||||
OR normalized_model LIKE 'COROLLA %'
|
||||
)
|
||||
AND normalized_model != 'COROLLA IM'
|
||||
AND normalized_model NOT LIKE 'COROLLA IM %'
|
||||
THEN 'toyota_corolla'
|
||||
WHEN normalized_make = 'TOYOTA'
|
||||
AND (
|
||||
normalized_model = '4RUNNER'
|
||||
OR normalized_model LIKE '4RUNNER %'
|
||||
)
|
||||
THEN 'toyota_4runner'
|
||||
WHEN normalized_make = 'TOYOTA'
|
||||
AND (
|
||||
normalized_model = 'TACOMA'
|
||||
OR normalized_model LIKE 'TACOMA %'
|
||||
)
|
||||
THEN 'toyota_tacoma'
|
||||
WHEN normalized_make = 'DODGE'
|
||||
AND (
|
||||
normalized_model = 'RAM 1500'
|
||||
OR normalized_model LIKE 'RAM 1500 %'
|
||||
OR normalized_model = 'RAM PICKUP 1500'
|
||||
OR normalized_model LIKE 'RAM PICKUP 1500 %'
|
||||
OR normalized_model = 'RAM1500'
|
||||
OR normalized_model LIKE 'RAM1500 %'
|
||||
)
|
||||
AND normalized_model NOT LIKE '% VAN'
|
||||
AND normalized_model NOT LIKE '% VAN %'
|
||||
THEN 'dodge_ram_1500'
|
||||
WHEN normalized_make = 'CHEVROLET'
|
||||
AND (
|
||||
normalized_model = 'SILVERADO 1500'
|
||||
OR normalized_model LIKE 'SILVERADO 1500 %'
|
||||
OR normalized_model = 'SILVERADO 1500HD'
|
||||
OR normalized_model LIKE 'SILVERADO 1500HD %'
|
||||
OR normalized_model = 'SILVERADO C1500'
|
||||
OR normalized_model LIKE 'SILVERADO C1500 %'
|
||||
OR normalized_model = 'SILVERADO K1500'
|
||||
OR normalized_model LIKE 'SILVERADO K1500 %'
|
||||
OR normalized_model = 'C1500 SILVERADO'
|
||||
OR normalized_model LIKE 'C1500 SILVERADO %'
|
||||
OR normalized_model = 'K15 SILVERADO'
|
||||
OR normalized_model LIKE 'K15 SILVERADO %'
|
||||
OR normalized_model = 'K1500 SILVERADO'
|
||||
OR normalized_model LIKE 'K1500 SILVERADO %'
|
||||
)
|
||||
THEN 'chevrolet_silverado_1500'
|
||||
WHEN normalized_make = 'NISSAN'
|
||||
AND (
|
||||
normalized_model = 'ALTIMA'
|
||||
OR normalized_model LIKE 'ALTIMA %'
|
||||
)
|
||||
THEN 'nissan_altima'
|
||||
WHEN normalized_make = 'HYUNDAI'
|
||||
AND (
|
||||
normalized_model = 'ELANTRA'
|
||||
OR normalized_model LIKE 'ELANTRA %'
|
||||
)
|
||||
THEN 'hyundai_elantra'
|
||||
WHEN normalized_make = 'SUBARU'
|
||||
AND (
|
||||
normalized_model = 'OUTBACK'
|
||||
OR normalized_model LIKE 'OUTBACK %'
|
||||
OR normalized_model = 'LEGACY OUTBACK'
|
||||
OR normalized_model LIKE 'LEGACY OUTBACK %'
|
||||
)
|
||||
THEN 'subaru_outback'
|
||||
ELSE NULL
|
||||
END AS new_family,
|
||||
*
|
||||
FROM normalized
|
||||
),
|
||||
publication_input AS (
|
||||
-- Exact legacy keys are deliberately copied from the raw columns.
|
||||
SELECT raw_make AS prior_make,
|
||||
raw_model AS prior_model,
|
||||
vehicle_token,
|
||||
target_nonpass
|
||||
FROM classified
|
||||
WHERE is_exact_legacy
|
||||
|
||||
UNION ALL
|
||||
|
||||
-- Preserve the original raw-key behavior for unrelated cohorts.
|
||||
-- A whitespace variant that would render as a legacy key is
|
||||
-- withheld rather than creating a duplicate public identity.
|
||||
SELECT raw_make AS prior_make,
|
||||
raw_model AS prior_model,
|
||||
vehicle_token,
|
||||
target_nonpass
|
||||
FROM classified
|
||||
WHERE NOT is_exact_legacy
|
||||
AND NOT collides_with_legacy
|
||||
AND new_family IS NULL
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
CASE new_family
|
||||
WHEN 'chevrolet_silverado_1500' THEN 'CHEVROLET'
|
||||
WHEN 'dodge_ram_1500' THEN 'DODGE'
|
||||
WHEN 'hyundai_elantra' THEN 'HYUNDAI'
|
||||
WHEN 'nissan_altima' THEN 'NISSAN'
|
||||
WHEN 'subaru_outback' THEN 'SUBARU'
|
||||
WHEN 'toyota_4runner' THEN 'TOYOTA'
|
||||
WHEN 'toyota_corolla' THEN 'TOYOTA'
|
||||
WHEN 'toyota_tacoma' THEN 'TOYOTA'
|
||||
ELSE NULL
|
||||
END AS prior_make,
|
||||
CASE new_family
|
||||
WHEN 'chevrolet_silverado_1500' THEN 'SILVERADO 1500'
|
||||
WHEN 'dodge_ram_1500' THEN 'RAM 1500'
|
||||
WHEN 'hyundai_elantra' THEN 'ELANTRA'
|
||||
WHEN 'nissan_altima' THEN 'ALTIMA'
|
||||
WHEN 'subaru_outback' THEN 'OUTBACK'
|
||||
WHEN 'toyota_4runner' THEN '4RUNNER'
|
||||
WHEN 'toyota_corolla' THEN 'COROLLA'
|
||||
WHEN 'toyota_tacoma' THEN 'TACOMA'
|
||||
ELSE NULL
|
||||
END AS prior_model,
|
||||
vehicle_token,
|
||||
target_nonpass
|
||||
FROM classified
|
||||
WHERE new_family IS NOT NULL
|
||||
)
|
||||
SELECT prior_make, prior_model,
|
||||
count(*)::BIGINT AS n,
|
||||
sum(target_nonpass)::BIGINT AS nonpass,
|
||||
count(DISTINCT vehicle_token)::BIGINT AS vehicles,
|
||||
@@ -651,11 +828,7 @@ def _scorecard_rows(connection: duckdb.DuckDBPyConnection) -> List[Dict[str, obj
|
||||
count(DISTINCT vehicle_token) FILTER (
|
||||
WHERE target_nonpass = 1
|
||||
)::BIGINT AS nonpass_vehicles
|
||||
FROM safe_mart
|
||||
WHERE eligible_returning_target
|
||||
AND target_nonpass IN (0, 1)
|
||||
AND last_observed_make IS NOT NULL
|
||||
AND last_observed_model IS NOT NULL
|
||||
FROM publication_input
|
||||
GROUP BY 1, 2
|
||||
HAVING count(*) >= 100
|
||||
AND sum(target_nonpass) >= 10
|
||||
@@ -667,7 +840,7 @@ def _scorecard_rows(connection: duckdb.DuckDBPyConnection) -> List[Dict[str, obj
|
||||
AND count(DISTINCT vehicle_token) FILTER (
|
||||
WHERE target_nonpass = 1
|
||||
) >= 10
|
||||
ORDER BY n DESC, last_observed_make, last_observed_model
|
||||
ORDER BY n DESC, prior_make, prior_model
|
||||
LIMIT 200
|
||||
"""
|
||||
).fetchall()
|
||||
@@ -784,6 +957,7 @@ def _release_id(
|
||||
) -> str:
|
||||
material = {
|
||||
"schema_version": SCHEMA_VERSION,
|
||||
"publication_policy_version": PUBLICATION_POLICY_VERSION,
|
||||
"mart_sha256": mart_digest,
|
||||
"models": [
|
||||
{"model_version": version, "metrics_sha256": metrics_digest}
|
||||
|
||||
Reference in New Issue
Block a user