Skip to main content
Baseline for drift detection and model performance monitoring. A Baseline defines a reference point for comparing production data against expected patterns. It serves as the foundation for detecting data drift, model performance degradation, and distributional changes in ML systems.

Example

# Create a static baseline from training data
baseline = Baseline(
    name="production_baseline_v1",
    model_id=model.id,
    environment=EnvType.PRE_PRODUCTION,
    dataset_id=training_dataset.id,
    type_="STATIC"
).create()

# Create a rolling 30-day baseline
rolling_baseline = Baseline(
    name="rolling_30day",
    model_id=model.id,
    environment=EnvType.PRODUCTION,
    type_="ROLLING_WINDOW",
    window_bin_size=WindowBinSize.DAY,
    offset_delta=30
).create()

# Monitor drift detection
print(f"Baseline '{baseline.name}' has {baseline.row_count} records")
print(f"Created: {baseline.created_at}")
Baselines are immutable once created. To modify baseline parameters, create a new baseline and update your monitoring configurations.
Initialize a Baseline instance. Creates a baseline configuration for drift detection and monitoring. The baseline serves as a reference point for comparing production data against expected patterns.

Parameters

name
str
required
Human-readable name for the baseline. Should be descriptive and unique within the model context.
model_id
UUID | str
required
UUID of the model this baseline belongs to. Must be a valid model that exists in the Fiddler platform.
environment
EnvType
required
Environment type (PRE_PRODUCTION or PRODUCTION). Determines the data environment this baseline monitors.
type_
str
required
Baseline type. Supported values:
  • “STATIC”: Fixed dataset reference (requires dataset_id)
  • “ROLLING_WINDOW”: Sliding time window (requires offset_delta)
  • “PREVIOUS_PERIOD”: Previous time period comparison
dataset_id
UUID | str | None
default:"None"
UUID of the reference dataset. Required for STATIC baselines, optional for time-based baselines.
start_time
int | None
default:"None"
Start timestamp for time-based baselines (Unix timestamp). Defines the beginning of the reference period.
offset_delta
int | None
default:"None"
Time offset in days for rolling/previous period baselines. For ROLLING_WINDOW: size of the sliding window. For PREVIOUS_PERIOD: how far back to compare.
window_bin_size
WindowBinSize | str | None
default:"None"
Aggregation window for time-series analysis. Controls how data is grouped for comparison.

Example

# Static baseline from training data
baseline = Baseline(
    name="training_baseline_v2",
    model_id=model.id,
    environment=EnvType.PRE_PRODUCTION,
    dataset_id=training_dataset.id,
    type_="STATIC"
)

# Rolling 7-day window baseline
rolling_baseline = Baseline(
    name="weekly_rolling",
    model_id=model.id,
    environment=EnvType.PRODUCTION,
    type_="ROLLING_WINDOW",
    offset_delta=7,
    window_bin_size=WindowBinSize.DAY
)

# Previous month comparison baseline
monthly_baseline = Baseline(
    name="month_over_month",
    model_id=model.id,
    environment=EnvType.PRODUCTION,
    type_="PREVIOUS_PERIOD",
    offset_delta=30,
    window_bin_size=WindowBinSize.DAY
)
After initialization, call create() to persist the baseline to the Fiddler platform. The baseline configuration cannot be modified after creation.

classmethod get()

Retrieve a baseline by its unique identifier. Fetches a baseline from the Fiddler platform using its UUID. This method returns the complete baseline configuration including metadata and statistics.

Parameters

id_
UUID | str
required
The unique identifier (UUID) of the baseline to retrieve. Can be provided as a UUID object or string representation.

Returns

The baseline instance with all configuration and metadata populated from the server.

Raises

  • NotFound – If no baseline exists with the specified ID.
  • ApiError – If there’s an error communicating with the Fiddler API.

Example

# Retrieve baseline by ID
baseline = Baseline.get(id_="550e8400-e29b-41d4-a716-446655440000")
print(f"Baseline: {baseline.name}")
print(f"Type: {baseline.type}")
print(f"Environment: {baseline.environment}")
print(f"Records: {baseline.row_count}")

# Check baseline configuration
if baseline.type == "STATIC":

    print(f"Reference dataset: {baseline.dataset_id}")

elif baseline.type == "ROLLING_WINDOW":
    print(f"Window size: {baseline.offset_delta} days")
    print(f"Bin size: {baseline.window_bin_size}")
This method makes an API call to fetch the latest baseline information from the server, including any updated statistics or metadata.

classmethod from_name()

Get the baseline instance of a model from baseline name

Parameters

name
str
required
Baseline name
model_id
UUID | str
required
Model identifier

Returns

Baseline instance

classmethod list()

Get a list of all baselines of a model.

Returns

Iterator[Baseline]

create()

Create a new baseline.

Returns

Baseline

delete()

Delete a baseline.