Add exogenous variables

To detect anomalies with exogenous variables, load a dataset with the exogenous features as columns. Use the same detect_anomalies method and plot the weights of each feature using weight_x.plot().

import pandas as pd
from nixtla import NixtlaClient
nixtla_client = NixtlaClient(
    # defaults to os.environ.get("NIXTLA_API_KEY")
    api_key = 'my_api_key_provided_by_nixtla'


Use an Azure AI endpoint

To use an Azure AI endpoint, set the base_url argument:

nixtla_client = NixtlaClient(base_url="you azure ai endpoint", api_key="your api_key")

# Read the dataset
# The dataset has exogenous features in its columns
df = pd.read_csv('')

# Detect anomalies
anomalies_df = nixtla_client.detect_anomalies(

# Plot weight of exgeonous features
nixtla_client.weights_x.plot.barh(x='features', y='weights')
INFO:nixtla.nixtla_client:Validating inputs...
INFO:nixtla.nixtla_client:Preprocessing dataframes...
INFO:nixtla.nixtla_client:Inferred freq: H
INFO:nixtla.nixtla_client:Calling Anomaly Detector Endpoint...
INFO:nixtla.nixtla_client:Using the following exogenous variables: Exogenous1, Exogenous2, day_0, day_1, day_2, day_3, day_4, day_5, day_6


Available models in Azure AI

If you use an Azure AI endpoint, set model="azureai"

nixtla_client.detect_anomalies(..., model="azureai")

For the public API, two models are supported: timegpt-1 and timegpt-1-long-horizon.

By default, timegpt-1 is used. See this tutorial for details on using timegpt-1-long-horizon.

Read our detailed guide on anomaly detection for more information.