CustomMetric
CustomMetric
CustomMetric
Inherits all attributes from :class:`~fiddler.entities.CustomExpression`.
# Business conversion rate metric
conversion_rate = CustomMetric(
name=”weekly_conversion_rate”,
model_id=model.id,
definition=”SUM(CASE WHEN prediction_score > 0.7 AND converted = 1 THEN 1 ELSE 0 END) / SUM(CASE WHEN prediction_score > 0.7 THEN 1 ELSE 0 END)”,
description=”Conversion rate for high-confidence predictions”
).create()
# Data quality metric
missing_rate = CustomMetric(
name=”feature_missing_rate”,
model_id=model.id,
definition=”SUM(CASE WHEN income IS NULL THEN 1 ELSE 0 END) / COUNT(\*)”,
description=”Percentage of records with missing income values”
).create()
# Fairness metric
fairness_metric = CustomMetric(
name=”demographic_parity”,
model_id=model.id,
definition=”ABS(AVG(CASE WHEN gender = ‘M’ THEN prediction_score ELSE NULL END) - AVG(CASE WHEN gender = ‘F’ THEN prediction_score ELSE NULL END))”,
description=”Demographic parity difference between gender groups”
).create()
# Use in alert rule
alert_rule = AlertRule(
name=”conversion_rate_alert”,
model_id=model.id,
metric_id=conversion_rate.id,
priority=Priority.HIGH,
compare_to=CompareTo.TIME_PERIOD,
condition=AlertCondition.LT,
bin_size=BinSize.DAY,
critical_threshold=0.15, # Alert if conversion drops below 15%
compare_bin_delta=7
).create()Last updated
Was this helpful?