AI-Powered Supply Chain Visibility and ETA Prediction System

toyota_/_ibm · Automotive · 2025 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Automotive vehicle supply chain visibility

Toyota wanted more accurate and transparent vehicle ETA predictions across the order-to-delivery journey so dealers and customers could understand where a vehicle is, whether delivery is at risk, and what alternatives exist when delays occur.

Constraints:

Architecture

Toyota, IBM, and AWS built a supply-chain visibility architecture that moves mainframe and legacy vehicle-event data into AWS through CDC and SFTP, streams it through Kafka, enriches it with Flink and rules services, and stores it in domain-oriented operational stores. SageMaker Wrangler cleans and engineers features; regression, time-series, and classification models such as XGBoost, AdaBoost, and Random Forest estimate ETA at each vehicle journey node. Batch transform precomputes inference every four hours for near-real-time use. Downstream dealer/customer applications expose a pizza-tracker style vehicle journey, while a Bedrock-based CUBE Assist/ETA chatbot lets users ask natural-language status questions.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  legacy-source-systems["legacy-source-systems"] --> cdc-ingestion["cdc-ingestion"]
  legacy-source-systems["legacy-source-systems"] --> sftp-batch-ingestion["sftp-batch-ingestion"]
  cdc-ingestion["cdc-ingestion"] --> aurora-landing-store["aurora-landing-store"]
  cdc-ingestion["cdc-ingestion"] --> kafka-event-backbone["kafka-event-backbone"]
  sftp-batch-ingestion["sftp-batch-ingestion"] --> kafka-event-backbone["kafka-event-backbone"]
  aurora-landing-store["aurora-landing-store"] --> kafka-event-backbone["kafka-event-backbone"]
  kafka-event-backbone["kafka-event-backbone"] --> flink-enrichment-layer["flink-enrichment-layer"]
  kafka-event-backbone["kafka-event-backbone"] --> domain-data-stores["domain-data-stores"]
  kafka-event-backbone["kafka-event-backbone"] --> sagemaker-ml-pipeline["sagemaker-ml-pipeline"]
  flink-enrichment-layer["flink-enrichment-layer"] --> domain-data-stores["domain-data-stores"]
  flink-enrichment-layer["flink-enrichment-layer"] --> exception-management["exception-management"]
  domain-data-stores["domain-data-stores"] --> sagemaker-ml-pipeline["sagemaker-ml-pipeline"]
  domain-data-stores["domain-data-stores"] --> dealer-customer-apps["dealer-customer-apps"]
  domain-data-stores["domain-data-stores"] --> cube-assist-agent["cube-assist-agent"]
  sagemaker-ml-pipeline["sagemaker-ml-pipeline"] --> dealer-customer-apps["dealer-customer-apps"]
  dealer-customer-apps["dealer-customer-apps"] --> cube-assist-agent["cube-assist-agent"]
  cube-assist-agent["cube-assist-agent"] --> agentcore-orchestrator["agentcore-orchestrator"]
  exception-management["exception-management"] --> dealer-customer-apps["dealer-customer-apps"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
legacy-source-systems Mainframe, ERP, national processing, port processing, national vehicle, and dealer management systems containing vehicle journey events. cdc-ingestion, sftp-batch-ingestion
cdc-ingestion Change Data Capture path that replicates mainframe change logs without live operational queries. aurora-landing-store, kafka-event-backbone
sftp-batch-ingestion Secure batch transfer path for offline hourly or overnight data feeds. kafka-event-backbone
aurora-landing-store Landing database for CDC-captured mainframe data before downstream event publication. kafka-event-backbone
kafka-event-backbone Managed Kafka pub/sub stream for vehicle events, regional HA, and downstream consumption. flink-enrichment-layer, domain-data-stores, sagemaker-ml-pipeline
flink-enrichment-layer Stateless transformation and enrichment layer with rules separated from main application logic. kafka-event-backbone, domain-data-stores, exception-management
domain-data-stores Polyglot/domain stores for vehicle events, year/make/model, trim, dealer, parts, order, history, and ETA data. dealer-customer-apps, sagemaker-ml-pipeline, cube-assist-agent
sagemaker-ml-pipeline Feature engineering, EDA, model training, model comparison, batch transform, model monitor, and ETA inference. domain-data-stores, dealer-customer-apps
dealer-customer-apps Vehicle pipeline and pizza-tracker style applications showing milestones, ETA status, history, and documents. domain-data-stores, sagemaker-ml-pipeline, cube-assist-agent
cube-assist-agent Bedrock-based chatbot/agent experience for asking natural-language questions about vehicle ETA status and progression. dealer-customer-apps, domain-data-stores, agentcore-orchestrator
agentcore-orchestrator Planned/working agent runtime that can orchestrate ETA, port, vehicle-system agents, MCP servers, A2A protocol, observability, identity, and model choice. cube-assist-agent, domain-data-stores
exception-management Retry, notification, alerting, and human-in-the-loop exception path for upstream or supply-chain issues. flink-enrichment-layer, dealer-customer-apps

Data flow

Vehicle lifecycle events originate in mainframe, ERP, national vehicle, dealer, port, and logistics systems. CDC captures mainframe changes without live-querying the mainframe, while SFTP carries offline batch feeds. Both paths publish events into Kafka topics. Flink and separated rules engines enrich and transform the stream; data quality, lineage, retry paths, domain stores, REST APIs, and pub/sub expose events to downstream applications. ML pipelines land historical/event data in databases and S3, clean it with SageMaker Wrangler, train and compare candidate ETA models, precompute batch inference every four hours, and serve VIN-specific ETA and journey status to applications and chatbot agents.

4 supporting quotes
“our first job was to get that data offloaded from mainframe to the AWS cloud.”transcript, stated
“you don't want to run your query against the mainframe system live because it'll adversely affect the performance of the mainframe.”transcript, stated
“both of them will ultimately lead to the Kafka, and this will be registered as a topic for the downstream application to pick.”transcript, stated
“what team has also done in this case is like every four hour they actually do the inferencing and they keep the data ready.”transcript, stated

Why this architecture

The architecture separates data capture, event streaming, transformation, domain stores, ML inference, customer applications, and agentic experiences because the vehicle journey crosses old systems, third-party logistics, and different customer needs. CDC protects mainframe performance; Kafka gives real-time event distribution; Flink and separate rules improve maintainability; SageMaker handles feature engineering and ETA model operations; batch inference every four hours provides near-real-time readiness; and the agent layer turns the resulting visibility into natural-language interactions while keeping humans in exception management.

4 supporting quotes
“Number one is we always aim for real-time processing. We wanna create event, real-time event-driven platforms that as soon as something happens, we can act on it.”transcript, stated
“the rules engine has to be separate from the business rule, the event processor is also important.”transcript, stated
“The standard way to do the feature engineering is using the Amazon SageMaker.”transcript, stated
“We try to create this idea of the human in the loop where humans are there just to manage exceptions”transcript, stated

Models used: Amazon SageMaker · SageMaker Wrangler · XGBoost · AdaBoost · Random Forest · regression models · time-series forecasting · classification models · Amazon Bedrock · Anthropic model · Amazon Nova · AgentCore · MCP server · A2A protocol

Scale

Alternatives considered (roads not taken)

Live querying the mainframe for operational data

Rejected because: It could adversely affect mainframe performance, so the architecture uses CDC instead.

“you don't want to run your query against the mainframe system live because it'll adversely affect the performance of the mainframe.”transcript, stated

Batch/file-based end-to-end updates

Rejected because: Manual and batch processes create hours or days of delay before customers learn about logistics issues.

“There's a lot of focus on batch processes, which makes this whole end-to-end journey very slow.”transcript, stated
“there's hours or even days that have passed and no one has acted on it.”transcript, stated

Static one-size-fits-all vehicle status view

Rejected because: Different dealer and customer users want either detailed milestones or only the final arrival answer.

“Some people want to know that information very detailed. Some people say, "I don't care about that. Just tell me when is that vehicle gonna get there,"”transcript, stated

Single preselected model/runtime for the agent layer

Rejected because: AgentCore is attractive because it supports different models, frameworks, protocols, runtime, observability, and identity.

“with the AgentCore you can use any model, OpenAI or even your own built model.”transcript, stated
“You can use any framework like Clear.ai or Agno. You can use any protocol”transcript, stated

Patterns

batch-offline-processing (ml operations)

The ETA system precomputes batch inference every four hours so downstream applications can respond near-real-time when new vehicle events arrive.

“what team has also done in this case is like every four hour they actually do the inferencing and they keep the data ready.”transcript, stated
“If it finds the match, it'll use that. Otherwise, like what happens during the inferencing is like, as I was saying, like the vehicle has a journey”transcript, stated

observability-tracing (data operations)

The architecture explicitly includes lineage, root-cause traceability, model monitor drift checks, exception retry paths, and alerts for the right team.

“That data lineage piece, if you ever want to do some root cause analysis and the lineage for some audit purposes, you need to make sure that also is accounted for.”transcript, stated
“SageMaker model monitor is the one which checks for the drift. It's very important to have this kind of stuff”transcript, stated

multi-agent-orchestration (agent architecture)

The next agentic layer frames ETA, port processing, and vehicle-system checks as agents coordinated by an orchestrator through AgentCore/A2A/MCP-style infrastructure.

“think of that one component as a orchestrator agent, and then the agent for the ETA calculation, the agent which goes and check the national port processing system”transcript, stated
“when your orchestrator agent is talking with those multi-agent, you can use A2A protocol.”transcript, stated

human-in-the-loop-gate (workflow)

The operating model keeps humans focused on exceptions while automation handles the routine journey and ETA processing.

“We try to create this idea of the human in the loop where humans are there just to manage exceptions, but everything else should be part of the system.”transcript, stated

Tradeoffs

Use CDC for mainframe replication.

Chose Change-log capture and replication over Live querying the mainframe.

Rationale: CDC protects mainframe performance while allowing event data to enter cloud streams.

“you don't want to run your query against the mainframe system live because it'll adversely affect the performance of the mainframe.”transcript, stated

Precompute ETA inference periodically.

Chose Four-hour batch transform readiness over Only computing inference from scratch on every event.

Rationale: The system can serve near-real-time updates by reusing precomputed scores when new events match.

“if you actually do the inferencing every four hours, you are almost ready for the next event to come in.”transcript, stated

Represent ETA as a window rather than one brittle date.

Chose Start/end duration window with confidence and status over Single exact arrival date.

Rationale: Toyota wants a tight window and high accuracy, but acknowledges uncertainty changes as a vehicle moves through the pipeline.

“We do predictions. We have a window, we have a start date, and an end date. We try to keep that tight”transcript, stated
“we're trying to improve and reduce our window size, but keep a high accuracy.”transcript, stated

Provide both detailed milestones and simple arrival answers.

Chose Personalized journey maps and multiple views over One universal customer-facing status view.

Rationale: Some users want detailed milestone progression while others only care when the vehicle arrives.

“we understand that we have multiple customers and multiple views, but regardless, we want to be consistent.”transcript, stated

Gotchas (what bit them)

Legacy and siloed systems delay customer visibility.

Root cause: Different stages run on independent systems, inconsistent data models, manual processes, and old platforms that cannot connect easily to cloud or AI workflows.

Resolution: Move event data into a unified, event-driven AWS architecture with CDC, Kafka, polyglot storage, APIs, and downstream workflow enablement.

“Each of those stages is supported by different systems that they operate independently, that they don't share as much information as they should”transcript, stated
“Some of them out of support, some of them don't connect with the new technologies, they don't have any AI, they don't go to the cloud.”transcript, stated

Mainframe extraction can harm source-system performance.

Root cause: Live queries against operational mainframes are risky for existing transaction workloads.

Resolution: Use CDC sidecar journal/change-log capture and offline SFTP batch paths rather than live mainframe queries.

“So there is a golden standard when it comes down to replication of the data from the mainframe, which is CDC”transcript, stated
“you get the change log entry and then replicate that piece.”transcript, stated

ETA quality depends on data intimacy and variability control.

Root cause: Variable, low-quality, or poorly understood logistics data makes machine-learning predictions less reliable.

Resolution: Invest in data quality, feature engineering, model monitoring, and understanding the data before relying on ETA predictions.

“we have to be intimate with our data, we have to get to know our data, right? Yes, data could be challenging.”transcript, stated
“The more variability you have, man, the more challenging it's gonna be, right? Some may require data quality”transcript, stated

Evaluation

Toyota evaluates ETA prediction through accuracy, confidence scores, ETA window size, schedule status, historical performance, model drift, and whether dealer/customer views improve visibility and satisfaction.

Metrics: ETA accuracy · confidence scores · duration-window size · on schedule / at risk / delayed status · model drift · customer satisfaction · replacement vehicle opportunities

3 supporting quotes
“Here, we measure KPIs where we look to say, okay, what is our accuracy? How good are we? How bad are we? How can we get better?”transcript, stated
“SageMaker model monitor is the one which checks for the drift. It's very important to have this kind of stuff”transcript, stated
“If you see on schedule, that's what we call the ETA status where we try to identify the status, whether something's on time, whether it's at risk, whether it's delayed”transcript, stated

Outcomes

The case cites industry-wide disruption affecting 94% of companies, Toyota journey complexity across seven stages and about 1,200 transit links, four-hour inference refreshes, and vehicle prices over $50,000.

3 supporting quotes
“This is something that we try to give visibility to our customers, right? And people who's working with our dealers as well”transcript, stated
“each node's time is calculated, and then it aggregated, and then the ETA for that vehicle at dealership is calculated.”transcript, stated
“Here we wanna talk about instant supply chain visibility, proactive delay detection, and then small alternative vehicle replacement, and then human in the loop decision making.”transcript, stated