top of page

AI in Procurement: Applying the ADF Test

  • ukrsedo
  • Mar 5
  • 4 min read

Updated: Jun 11

When we analyse procurement data, we usually assume past patterns will guide future forecasts. But drift and instability in data can make that unreliable.

That's where the Augmented Dickey-Fuller (ADF) Test comes in. This statistical test helps determine whether a data series is stationary (meaning it exhibits a consistent statistical property over time) or non-stationary (meaning trends or seasonality may unpredictably influence the data).


Stationarity: What Does It Mean?

Stationarity implies that a time series fluctuates around a constant mean and variance over time, without exhibiting a long-term trend.

Blue line graph shows stationary data over time with no long-term trend. Text labels axes as Time and Value. Title: Stationary Data.
The graph displays stationary data over time, showing random fluctuations around a mean with no long-term trend.

In contrast, non-stationary data exhibits trends, seasonality, or changing variances, making historical patterns unreliable for forecasting.

Graph showing red non-stationary data with fluctuations, black dashed trendline ascending over time. Text: Non-Stationary Data: Noticeable Trend Over Time.
Graph illustrating non-stationary data with noticeable fluctuations and an upward trend over time, represented by a red line with a black dashed trendline.

Why Does Stationarity Matter in Procurement?

Procurement relies heavily on forecasting—think lead times, supplier performance, and cost trends. If data drifts, traditional models like ARMA/ARIMA struggle, and your forecasts might be off.

As an example, consider supplier lead times. If historical data indicate a consistent increase in lead times due to deteriorating logistics conditions, relying on past averages for future planning may lead to stock shortages or urgent orders with high costs.

Using the ADF test can assist procurement teams in assessing whether a dataset is stable enough for forecasting or needs transformations (such as differencing) to eliminate trends and achieve stationarity.


How the ADF Test Works

The ADF test checks whether a time series has a unit root, which is a complex way of saying whether the data exhibits a trend that makes it non-stationary.

It does this by testing the null hypothesis that the time series has a unit root (i.e., is non-stationary).

If the p-value is below a certain threshold (typically 0.05), we reject the null hypothesis and conclude the series is stationary.

Don't be afraid, you won't need to remember all that. The outcome of the ADF test looks more or less like this:

"Interpreting the Results:

  • ADF Statistic: This value helps determine whether a unit root is present in the time series. A more negative value indicates more substantial evidence against the presence of a unit root, suggesting the series is stationary.

  • p-value: This value indicates the probability that the series is non-stationary. A p-value less than 0.05 typically suggests rejecting the null hypothesis (the series is stationary).

Based on the provided data, the ADF test results are:

  • ADF Statistic: -1.95

  • p-value: 0.30

Given the p-value is above 0.05, we fail to reject the null hypothesis, indicating that the LME Copper prices for 2024 are likely non-stationary."

The ADF Test Formula

You can easily find that formula, and the purpose of this post isn't to copy and paste it for scientific appeal.

Why all the hassle?

In procurement, non-stationary data typically means higher uncertainty and risk, requiring more agile and dynamic procurement strategies.

If the Data is Stationary

  • Reliable Forecasting – Standard statistical forecasting models (e.g., ARMA, ARIMA) work effectively.

  • Consistent Analysis – Historical trends remain relevant for future decision-making.

  • Stable Demand Patterns – Procurement strategies can rely on historical consumption data for inventory planning.

  • Price Predictability – Supplier pricing trends remain stable, enabling long-term contract negotiations.

If the Data is Non-Stationary

  • Advanced forecasting is required. Transformations (differencing, log transformations) or models like ARIMA must be applied.

  • Unstable Supplier Performance Trends – Requires deeper investigation into external factors affecting variability.

  • Changing Demand Patterns – Procurement needs flexible contracts and adaptive inventory management.

  • Market Volatility Impact – Procurement strategies must account for inflation, currency fluctuations, and supply chain disruptions.

Real-life example: Augmented Dickey-Fuller (ADF) Test on Brent Crude Oil Prices.

To assess the stationarity of Brent crude oil prices over the past 365 days, Chat GPT conducted the ADF test using daily closing prices from March 4, 2024, to March 4, 2025. The data was sourced from Yahoo Finance.​

ADF Test Results:

  • Test Statistic: -1.892​

  • p-value: 0.337​

  • Critical Values:

    • 1% level: -3.436​

    • 5% level: -2.864​

    • 10% level: -2.568​

Interpretation:

The p-value (0.337) is greater than the common significance levels (0.01, 0.05, 0.10), indicating that we fail to reject the null hypothesis of a unit root. This suggests that the Brent crude oil price series is non-stationary over the examined period.

  • Since the ADF test statistic (-1.892) is below the critical values, we fail to reject the null hypothesis, confirming that the Brent crude oil price series is stationary.

AI is a chest of treasures.

The ADF test on crude oil prices somehow explains why airlines typically don't create oil reserves. They hedge, negotiate short-term contracts, and buy in the spot market.

This study provides some insight into the reasoning behind that.

Generally, I won't have been doing the ADF test, as I don't know Python.

But now you can collect the data of your interest and feed it to any instance of AI you're using. You will receive the outcome immediately, to support or disapprove of your sourcing decision or category strategy. No programming skills or mathematical background required!

Isn't that a charm?

Commentaires


bottom of page