> ## Documentation Index
> Fetch the complete documentation index at: https://nixtla.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# TimeGEN-1 Quickstart (Azure)

> Quickstart guide to deploy and use TimeGEN-1 on Azure with the Nixtla Python SDK for time series forecasting.

> [!NOTE]
>
> TimeGEN-1 is TimeGPT optimized for Azure infrastructure. It is a production-ready generative pretrained transformer for time series, capable of accurately predicting domains such as retail, electricity, finance, and IoT with minimal code.

> [card] Key Benefit
>
> Azure-native generative forecasting with TimeGEN-1 for streamlined deployments.

> [card] Use Cases
>
> • Demand forecasting\\
>
> • Electricity load prediction\\
>
> • Financial time series\\
>
> • IoT data analysis

**1. Step 1: Set up a TimeGEN-1 endpoint on Azure and generate an API key**

1. Visit [ml.azure.com](https://ml.azure.com) and sign in (or create a Microsoft account if needed).
2. Click **Models** in the sidebar.
3. Search for **TimeGEN** in the catalog and select **TimeGEN-1**.
4. Click **Deploy** to create an endpoint.

![TimeGEN-1 model catalog deployment option](https://github.com/Nixtla/nixtla/blob/main/nbs/img/azure-deploy.png?raw=true)

TimeGEN-1 model catalog deployment option.

5. Click **Endpoint** in the sidebar.
6. Copy the **base URL** and **API Key** shown for your TimeGEN-1 endpoint.

![Endpoint URL and API key](https://github.com/Nixtla/nixtla/blob/main/nbs/img/azure-endpoint.png?raw=true)

Endpoint URL and API key for TimeGEN-1.

**2. Step 2: Install Nixtla Python SDK**

Install the **nixtla** package using pip:

```shell Install nixtla SDK theme={null}
pip install nixtla
```

**3. Step 3: Import and instantiate the Nixtla client**

Import the Nixtla client into your Python environment:

```python Import NixtlaClient theme={null}
from nixtla import NixtlaClient
```

Then create a client instance using your TimeGEN-1 endpoint credentials:

```python Instantiate NixtlaClient theme={null}
nixtla_client = NixtlaClient(
    base_url="YOUR_BASE_URL",
    api_key="YOUR_API_KEY"
)
```

**4. Step 4: Load your time series data**

In this example, we'll use the classic **AirPassengers** dataset to demonstrate forecasting. The dataset shows monthly passenger counts in Australia between 1949 and 1960.

```python Load AirPassengers dataset theme={null}
import pandas as pd

df = pd.read_csv(
    'https://raw.githubusercontent.com/Nixtla/transfer-learning-time-series/main/datasets/air_passengers.csv'
)
df.head()
```

Use the Nixtla client to quickly visualize your data:

```python Visualize time series theme={null}
nixtla_client.plot(df, time_col='timestamp', target_col='value')
```

![AirPassengers time series visualization](https://raw.githubusercontent.com/Nixtla/nixtla/readme_docs/nbs/_docs/docs/getting-started/22_azure_quickstart_files/figure-markdown_strict/cell-12-output-1.png)

AirPassengers time series sample visualized.

> [accordion] Data Requirements
>
> > [!NOTE]
> >
> > • Ensure the target column has no missing or non-numeric values.\\
> >
> > • Avoid gaps in date stamps (for the specific frequency) from the initial to final timestamp—missing dates are not automatically imputed.\\
> >
> > • Datestamps must be in a pandas-readable format. ([See Pandas reference](https://pandas.pydata.org/docs/reference/api/pandas.to_datetime.html))
>
> See [Data Requirements](https://nixtla.io/docs/data_requirements/data_requirements.md) for details.

> [accordion] Saving Figures
>
> > [!TIP]
> >
> > In most notebook environments, figures display automatically. To save a figure locally, run:
>
> ```python Save plot figure theme={null}
> fig = nixtla_client.plot(df, time_col='timestamp', target_col='value')
> fig.savefig('plot.png', bbox_inches='tight')
> ```

**5. Step 5: Generate forecasts**

Use the `forecast` method from the Nixtla client to forecast the next 12 months.

> [card] Parameters
>
> • `df`: Pandas DataFrame with time series data\\
>
> • `h`: Forecast horizon (number of steps ahead)\\
>
> • `freq`: Time series frequency ([pandas frequency aliases](https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases))\\
>
> • `time_col`: Name of timestamp column\\
>
> • `target_col`: Name of forecast variable

```python Generate 12-month forecast theme={null}
timegen_fcst_df = nixtla_client.forecast(
    df=df,
    h=12,
    freq='MS',
    time_col='timestamp',
    target_col='value'
)
timegen_fcst_df.head()
```

> [!NOTE]
>
> Forecast endpoint call logs will be displayed for validation and preprocessing steps.

> [accordion] Forecast API Call Log
>
> ```bash Forecast API call logs theme={null}
> INFO:nixtla.nixtla_client:Validating inputs...
> INFO:nixtla.nixtla_client:Preprocessing dataframes...
> INFO:nixtla.nixtla_client:Inferred freq: MS
> INFO:nixtla.nixtla_client:Restricting input...
> INFO:nixtla.nixtla_client:Calling Forecast Endpoint...
> ```

Example output:

| | timestamp | TimeGPT |
| - | - | - |
| 0 | 1961-01-01 | 437.837921 |
| 1 | 1961-02-01 | 426.062714 |
| 2 | 1961-03-01 | 463.116547 |
| 3 | 1961-04-01 | 478.244507 |
| 4 | 1961-05-01 | 505.646484 |

Visualize the forecast results:

```python Visualize forecast results theme={null}
nixtla_client.plot(df, timegen_fcst_df, time_col='timestamp', target_col='value')
```

![Forecast visualization AirPassengers](https://raw.githubusercontent.com/Nixtla/nixtla/readme_docs/nbs/_docs/docs/getting-started/22_azure_quickstart_files/figure-markdown_strict/cell-14-output-1.png)

Forecast visualization for the AirPassengers dataset.
