# Baseline

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

```python
# 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}")
```

{% hint style="info" %}
Baselines are immutable once created. To modify baseline parameters, create a new baseline and update your monitoring configurations.
{% endhint %}

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

| Parameter         | Type                                                              | Required | Default | Description                                                                                                                                                                                                         |
| ----------------- | ----------------------------------------------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`            | `str`                                                             | ✗        | `None`  | Human-readable name for the baseline. Should be descriptive and unique within the model context.                                                                                                                    |
| `model_id`        | \`UUID                                                            | str\`    | ✗       | `None`                                                                                                                                                                                                              |
| `environment`     | [`EnvType`](/api/fiddler-python-client-sdk/constants/env-type.md) | ✗        | `None`  | Environment type (`PRE_PRODUCTION` or `PRODUCTION`). Determines the data environment this baseline monitors.                                                                                                        |
| `type_`           | `str`                                                             | ✗        | `None`  | 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\`  | ✗                                                                                                                                                                                                                   |
| `start_time`      | \`int                                                             | None\`   | ✗       | `None`                                                                                                                                                                                                              |
| `end_time`        | \`int                                                             | None\`   | ✗       | `None`                                                                                                                                                                                                              |
| `offset_delta`    | \`int                                                             | None\`   | ✗       | `None`                                                                                                                                                                                                              |
| `window_bin_size` | \`WindowBinSize                                                   | str      | None\`  | ✗                                                                                                                                                                                                                   |

## Example

```python
# 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
)
```

{% hint style="info" %}
After initialization, call create() to persist the baseline to the Fiddler platform. The baseline configuration cannot be modified after creation.
{% endhint %}

## *classmethod* get(id\_)

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

| Parameter | Type   | Required | Default | Description |
| --------- | ------ | -------- | ------- | ----------- |
| `id_`     | \`UUID | str\`    | ✗       | `None`      |

## Returns

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

**Return type:** `Baseline`

## Raises

* **NotFound** -- If no baseline exists with the specified ID.
* **ApiError** -- If there's an error communicating with the Fiddler API.

## Example

```python
# 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}")
```

{% hint style="info" %}
This method makes an API call to fetch the latest baseline information from the server, including any updated statistics or metadata.
{% endhint %}

## *classmethod* from\_name(name, model\_id)

Get the baseline instance of a model from baseline name

## Parameters

| Parameter  | Type   | Required | Default | Description   |
| ---------- | ------ | -------- | ------- | ------------- |
| `name`     | `str`  | ✗        | `None`  | Baseline name |
| `model_id` | \`UUID | str\`    | ✗       | `None`        |

## Returns

Baseline instance

**Return type:** [*Baseline*](#baseline)

## *classmethod* list(model\_id, type\_=None, environment=None)

Get a list of all baselines of a model.

**Return type:** *Iterator*\[[*Baseline*](#baseline)]

## create()

Create a new baseline.

**Return type:** [*Baseline*](#baseline)

## delete()

Delete a baseline.

**Return type:** None


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fiddler.ai/api/fiddler-python-client-sdk/entities/baseline.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
