CustomMetric
API reference for CustomMetric
CustomMetric
Custom metric for monitoring business-specific and domain-specific KPIs.
CustomMetric enables creation of user-defined metrics that calculate specific values from model data using SQL-like expressions. Custom metrics extend Fiddler’s built-in monitoring capabilities to support business requirements, domain-specific quality measures, and complex performance indicators.
Inherits all attributes from :class:`~fiddler.entities.CustomExpression`.
Example
# 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()__init__(name, model_id, definition, description=None)
Construct a custom metric instance.
Return type: None
Last updated
Was this helpful?