The AI Was the Easy Part: What Is a Forward-Deployed Engineer in a Supply Chain?

Editor
21 Min Read


the Harvard Business Review called the data scientist “the sexiest job of the 21st century.”

Every company suddenly wanted one.

More than a decade later, the title everyone is chasing now is the Forward Deployed Engineer.

This engineer is embedded inside a company’s operation to make AI models or optimisation algorithms actually work in their messy reality.

Unfortunately, few operations are messier than a supply chain.

I learned it the hard way when I became Supply Chain Data Scientist.

For example, imagine a shipment of luxury bags leaving a warehouse in Milan, passing through trucks, airports, and customs clearance before arriving at a store in Shanghai.

Distribution Chain of the Fashion Retail Company – (Image by Samir Saci)

This chain involves several teams in multiple countries that use different systems (ERP, WMS, TMS) that were not designed to provide harmonised data.

For example, I worked on a project where it took us 18 months just to build a pipeline to compare two dates (requested and actual delivery dates) to measure on-time delivery.

Multiple systems interact in your supply chain – (Image by Samir Saci)

Therefore, in most AI supply chain projects, the biggest challenge is implementing agents in this chaotic environment.

This was the case in the past for business intelligence and data science, and now even more with generative AI.

Why companies are now paying so much to have Forward Deployed Engineer implementing AI for Supply Chain operations?

In this article, I will answer this question using a project I conducted for a fashion retailer, illustrating the challenges FDEs face in this environment and the qualities they need to manifest.

This is a deployment of an AI-powered distribution chain monitoring tool that helps planners find the root cause of late store deliveries.

This AI Agent helps planners to understand why shipments were delayed – (Image by Samir Saci)

I have implemented this agentic orchestration in the logistics department of a retailer based in Milan.

Their problem was their limited capacity to detect and analyse failures in the distribution chain.

Logistics Director: “More than 35% of late deliveries are not explained.”

They wanted an agent to conduct root cause analyses from the data alone, without biases, like the analysis below.

Claude comparing the root cause measured by the dashboards vs. the reality – (Image by Samir Saci)

The interesting part of this implementation is not the agentic orchestration itself, but everything I had to build around it.

I will use this example to go through what the job actually requires:

  • Reading systems with no documentation
  • Getting teams to agree on a definition
  • Letting the users test the tool before you trust it.

None of it is technical, and all of it is the job of a Forward Deployed Engineer.

If you are a data scientist looking at where the highest-paid roles are right now, this is the work behind the title, and the skills you would need to do it.

Deploying Claude Agents Connected to Supply Chain Systems

It started with a request from the logistics director: “I want AI to help my planners find the root cause of failures in my distribution chain.”

International logistics chain involving air freight – (Image by Samir Saci)

They have a team of 12 planners who manage store inventory.

They send orders to the warehouse, each with a requested delivery date, and monitor shipments until they reach the store.

All the steps from order creation to store delivery are recorded in systems – (Image by Samir Saci)

Because of delays in the warehouse, a routing change, or a hold at customs, more than 25% of orders arrive late.

Store managers complain to the director because a late delivery means lost sales.

Monitor shipments using timestamps

Fortunately, each step is recorded in a system:

  • Warehouse operational teams that will prepare and load the goods in a truck, using a Warehouse Management System (WMS)
  • Transportation teams organise the pickup at the warehouse, air freight and the last-mile delivery, using a Transportation Management System (TMS)

These systems generate the timestamps used to track orders across the entire distribution chain.

All the steps from the order creation to the store delivery – (Image by Samir Saci)

Planners manually crunch data in Excel to explain past delays and flag future ones.

Example of the analysis of transmission and pickpack lead times conducted by me – (Image by Samir Saci)

However, this is slow and inefficient.

The analyses usually arrive too late, and operational teams do not have enough time to pinpoint the root cause.

So the discussion turns into an argument, each team pointing at the other.

Illustration of the conflict during performance reviews – (Image by Samir Saci)

As I like to say, the most complicated task in supply chain management is dealing with humans.

Hiring Claude as a Super Analyst

That is why we built a Claude agent, connected to their data through an MCP server, to run this analysis regularly and help analysts act on it.

The agent can query the data to answer any request in natural language, helping planners find the root causes of failures in the distribution chain.

Visuals Generated by Claude for the top management – (Image by Samir Saci)

Reports with interactive visuals, like the one above, can be generated by planners in seconds without writing a single line of code.

Planners now produce more root cause analyses than before, and they arrive in time to act on them.

Example of flash report generated by analysts using Claude workflows – (Image by Samir Saci)

Analysts can now automatically schedule flash reports to each team (warehouse, road freight, air freight), conduct deep root cause analyses in less than 5 minutes, and use the agent as a performance copilot.

This was not an easy task, though.

The biggest challenge here was not the design, but the implementation.

The rest of this article is about what it took us to get there, because the deployment was the hard part.

If you want the details of the solution itself, I explain everything in this short video:

But now, it is time to go through the biggest obstacles and challenges I faced when trying to implement Claude in this messy environment.

This will give you a picture of the skills and know-how expected from an FDE in supply chain.

Like many analytics projects, the first problem was getting access to clean, harmonised data.

The clean table is the output, not the input

The visual below is a sample of the dataset used by Claude, via MCP implementation, to answer analysts’ questions.

Dataset connected to Claude via MCP tools – (Image by Samir Saci)

In a single table, we have all the timestamps covering the distribution chain from order creation to store delivery, sourced from multiple systems.

Each field is described to Claude in the MCP implementation, with the operational context, so it can query the data to answer any question.

For example, <em>airport_on_time</em> is FALSE if the truck reached the airport after its cut-off.

When I started the project, nothing was connected.

Timestamps are created by individual systems – (Image by Samir Saci)

Indeed, these three systems have their own schema, field definitions and formats.

It was my role as a Forward Deployed Engineer to understand how to extract the right information, clean it and store it in a harmonised table.

Let me share two examples.

Example 1: No explicit field to extract the right information

In an ideal world, you connect to the Snowflake tables and pick the right field based on its name.

My reality was different.

When I asked the IT infrastructure manager where to find the order creation date, he pointed me to this table.

Planning Tool’s table used to extract the order creation date – (Image by Samir Saci)

The field names are not explicit.

The last two columns come from a custom development by an engineer who left the company four years ago.

  • PLNORD is the order number in the planning tool
  • CRIND is an attribute defining if the order is created by a human or automatically
  • HEUR_DTS and MANU_DTS are the two fields we need to take to get the order creation date and time

In this kind of situation, the best reflex is to get users and the infra team around the same table.

My question: Which field should I take?

Unfortunately, no one was able to give me a complete answer.

I used multiple examples of orders, and compared what planners have on screen with the data in the table.

That way, I discovered that order_creation_date is a formula that depends on CRND

ORDER_CREATION_TS = HEUR_DTS   when CRIND = 'A'
                    MANU_DTS   when CRIND = 'M'

Nothing about this was explicit, and with no documentation, confirming the formula took days.

This kind of investigation is essential: it is what makes the tool reliable and earns the users’ trust.

This is the first skill the job requires: get your hands into the systems, and bring the operational users in with you.

The people who run the process every day know what the fields mean, even when nobody wrote it down.

Example 2: Five workshops to define one boolean

This second example shows how you will have to reconcile operational reality with the data available in the systems.

After the planners create them, the orders are sent to the warehouse.

Once the warehouse team has prepared them, they are loaded onto trucks.

Outbound docks where orders are loaded in trucks – (Image by Samir Saci)

Sometimes the truck is not loaded on time, and the delay cascades through every step that follows.

For example: if the truck leaves two hours behind schedule, it may miss the flight at the airport.

There are two scenarios for a delayed loading:

  • The truck is here, but the pallets are not ready, so the warehouse is responsible
  • The pallets are ready, but the truck is not here, so transport is responsible

That is what the warehouse manager told me.

Experience told me nothing is ever that simple in logistics, so I double-checked with the transport manager.

He gave me a third scenario nobody had mentioned.

Transport Manager: “If the truck is sent by the freight forwarder, it is not my responsibility to load on time.”

At this stage, I had to juggle all the edge cases to extract the right information from the WMS and the TMS.

Data available to create the right formula – (Image by Samir Saci)

After five workshops with both teams, we agreed on a formula that satisfied everyone and reflected the operational reality as closely as we could.

LOAD_ONTIME = LOAD_END <= 19:00        # the milestone fact, same for both scenarios

# responsibility, only when LOAD_ONTIME is False:
if CTRL == 'SHP':                       # Scenario 1: our own truck is always there
    CAUSE = 'WAREHOUSE'                 # warehouse owns readiness AND loading
elif CTRL == 'FWD':                     # Scenario 2: forwarder pickup
    if PACK_END <= PU_ETA:              # goods were ready by the booked slot
        CAUSE = 'FORWARDER'            # truck came late, warehouse is a cascade victim
    else:
        CAUSE = 'WAREHOUSE'            # goods not packed in time

There is no need to go into the details of the formula.

What matters is that it took a week to agree on it!

The real bottleneck

I expected to work on bringing a better algorithm.

Finally, I was there to build the definitions that the algorithm needs to exist at all.

That is the second skill the job requires: do not accept the first definition you are given.

Ask the same operational question until every team gives you the same answer, then write it down.

The definition is the deliverable.

And once those definitions exist, the real question is how to get an agent to use them in a way planners will actually trust.

Turning definitions into tools

Once the formulas existed, the AI part was almost easy.

I connected Claude Opus 4.8 to a set of tools to query the tables containing the transactional data.

MCP Implementation using Claude Opus – (Image by Samir Saci)

The customer did not want to provide too much information to Claude, only the basic minimum to understand the data.

Logistic Director: “We want the agent to provide unbiased root cause analysis and assess each team’s performance.”

Instead of building a dashboard for every scenario, we gave the agent access to tools to query a dataset, which includes flags and lead times, and let it compose the analysis itself.

Dataset connected to Claude via MCP tools – (Image by Samir Saci)

In the MCP implementation, we provide a plain-language description of what the tool returns and what the underlying operational rule means.

As a first test, we asked Claude to explain the tools it has on hand.

Claude explaining the definition of the boolean flags using MCP tool descriptions – (Image by Samir Saci)

It came back with the correct interpretation of every flag, without me explaining any of them.

The agent understood the data because a Forward Deployed Engineer had finally sat down with two teams and decided what it meant.

The second test was harder: how would it use the flags to assess performance?

Root cause analysis methodology proposed by the agent – (Image by Samir Saci)

It proposed comparing flag-based attribution against actual durations, which is exactly the distinction that made the results in the opening possible.

That was the moment I knew the approach would hold.

What remained was getting it into the team’s hands.

User Acceptance Test: making sure that the tool will be used

I did not want to demo the tool. A demo proves that the person who built it can make it work.

So I asked the planning team for something else: come with the analyses you already do every week, and we run them against the agent.

Analysts assessing the conclusions of Claude on cases they analyzed in the past – (Image by Samir Saci)

This is the only test that matters at this stage.

These planners had spent months producing the same recurring reports by hand, in Excel.

They knew what the answer should look like before the agent said anything.

If it drifted, invented a number, or missed a nuance they always check, they would spot it immediately.

That is what makes them better testers than I am: I could verify that the tools returned the right rows, but only they could tell me whether the answer was useful.

One test in practice

One planner asked for an analysis he runs every Monday:

Please prepare me an analysis of the delays due to flight time for the last week of the scope.

The first thing to check was whether the agent had answered the question the planner actually meant.

(Image by Samir Saci)

The request was vague, and the agent could easily have answered something out of context.

But it understood that the planner meant the orders delivered last week, and it separated the delays that cost a day from the ones that did not.

The model proved it could understand the context, challenge the request, and give the planner what he actually needed.

This is exactly what the logistics director asked for.

Each recurring report is a unit test

In a classic IT project, you write a specification, build against it, and test that the build matches the spec.

Here, there was no specification because nobody could write one before seeing the tool in action.

What they had were years of recurring analyses instead, and those turned out to be a better test suite than anything I could have specified up front.

How to become a great Supply Chain FDE?

Looking back at this project, we can split my contribution into two parts.

There was the job of the data scientist or AI engineer: building an MCP server with a set of tools to query and describe the data with docstrings.

This part took less than 5 days.

And there was the rest that made sure we had a tool deployed and usable by teams that took weeks, a dozen short meetings, and long working sessions.

This looks more like my old job as a continuous improvement engineer than an AI engineer deploying agentic workflows.

How to develop these skills as a software engineer or data scientist?

My point here is not that one job replaced the other. In this environment, you need both.

If you want to build these skills, I walk through a methodology using the case studies on this blog:

About Me

Let’s connect on LinkedIn and Twitter; I am a Supply Chain Engineer using data analytics to improve logistics operations and reduce costs.



Share this Article
Please enter CoinGecko Free Api Key to get this plugin works.