The Iberlogis Case
CASE 03LOGISTICS · COLD CHAIN

40 refrigerated trucks. A cold-chain break that used to surface on arrival. Now it’s known in 60 seconds.

Iberlogis S.L. moves goods at 0–4°C, 2–8°C, and between -22°C and -18°C for three different clients, across fifteen routes spanning the Iberian Peninsula. Here’s what we built on Microsoft Fabric Real-Time Intelligence — real streaming, not a dashboard that refreshes once an hour.

40 refrigerated trucks 3 cold-chain profiles 15 national routes 30s telemetry per truck 3 alert rules in production
The client

A different problem: here, data expires in seconds, not days

Iberlogis is a 3PL operator that transports temperature-sensitive goods for three clients with very different requirements: a supermarket chain, a pharmaceutical distributor, and a frozen-goods cooperative. Each has its own acceptable temperature window — and until now, no way to know whether a truck had drifted outside it until it unloaded at destination.

Mercafresh Levante S.A. Supermarket · refrigerated
0°C to 4°C
FarmaCold Iberia S.L. Pharmaceutical distribution
2°C to 8°C
Norte Congelados S.Coop. Frozen goods
-22°C to -18°C

Three clients, three non-overlapping temperature windows — the first fact that rules out any alert built on a single global threshold.

What they asked for wasn’t a pretty fleet map. It was knowing, while the truck is still on the road, whether the trailer has drifted outside its client’s range, whether a door has been open for minutes en route, or whether the refrigeration unit is failing — with real time to act, not a report on what already happened.


Our approach

Design the schema, lay down the streaming, activate the rules

There are no overnight loads here, no Gold-layer Warehouse: the data is worth what it says right now, not how well it’s modeled tomorrow. The approach changes accordingly — from a batch pipeline to an event-driven architecture with three destinations and automatic alerting from the very first second.

01

Model the event before the sensor exists

Iberlogis doesn’t yet have real IoT sensors on its fleet, so the first step was designing the schema as if it did: two KQL tables in the Eventhouse — truck telemetry (position, temperature, humidity, fuel, engine status, door) and delivery events — each with its own JSON ingestion mapping and an explicit retention policy.

2 KQL tables · 90-day hot retention
02

One event, three destinations, zero batch pipelines

Every truck sends an event every 30 seconds to an Event Hub. A Fabric Eventstream splits telemetry from delivery events by message type and routes them to the Eventhouse — and, in parallel and unfiltered, to a Lakehouse in Delta format partitioned by date, which is what sustains long-term cold-chain auditing once the Eventhouse has rolled off its 90 days.

Event Hub → Eventstream → Eventhouse + Lakehouse
03

Trigger on the stream, not on next-day’s report

Three Activator rules connected directly to the Eventstream, each with its own confirmation window so it doesn’t fire on sensor noise: a temperature excursion sustained across two consecutive readings, a door left open en route for more than five minutes, and a refrigeration unit warning or failure routed to the maintenance team, not operations.

3 rules · ~60s / 5min / instant

Results

The control tower Iberlogis didn’t have

A production dashboard, in direct DirectQuery against the Eventhouse — no caching layer between the sensor and the screen. Real screenshot of the platform in production, click to enlarge.

Confidentiality note

In compliance with our information security policies and the confidentiality commitments made to the client, the company name, along with the data and databases shown in this case study, have been modified and anonymized. The nature and scale of the results faithfully reflect the work performed.

36
active trucks at the time of the screenshot
15
national routes monitored
3
alert rules in Activator
30s
telemetry frequency per truck
IBERLOGIS — REAL-TIME CONTROL TOWER
36
active trucks
--
active temperature alerts
--
trucks with door open
2
trucks with engine warning

Real-time fleet map over a night-mode basemap, with each truck’s position colored by engine status and the fifteen routes tracing Iberlogis’s actual coverage across the Spanish road network.

OKWarning
Real screenshot · click to enlarge

Not just a map

What changes when the alert arrives in seconds, not hours

The real difference isn’t visual — it’s about when you find out.

~60s

The temperature excursion rule confirms the deviation across two consecutive readings before alerting — enough to filter out sensor noise, and still far ahead of the truck reaching its destination.

3 SLA

Supermarket, pharmaceutical, and frozen goods don’t share a temperature window — a single global threshold would have triggered false positives for some clients and let real excursions slip through for others.

90 days

The Eventhouse retains hot history for 90 days; the same unfiltered Eventstream branch feeds a Lakehouse in Delta that sustains cold-chain auditing beyond that window.


Architecture delivered

Five pieces, each doing one job

None of this is solved with an overnight batch pipeline — this is the part of Fabric built for data that can’t wait.

AZURE

Event Hub

Source ingestion for the 40 trucks — the only resource in this architecture billed outside Fabric capacity.

FABRIC

Eventstream

Splits telemetry from delivery events by message type and fans out to three destinations in parallel.

FABRIC

Eventhouse (KQL)

Two streaming tables with ingestion mapping and hot ingestion, 90-day retention.

FABRIC

Activator

Three no-code alert rules, each with its own confirmation window and recipient.

FABRIC

Lakehouse

Unfiltered Delta copy, partitioned by date, for long-term cold-chain auditing.


What’s next

Optimize, don’t promise

No figure in this section is a contractual promise. These are the natural next steps once the architecture is in production, prioritized by their real impact on the cold chain.

LeverWhy it appliesNext step
Real join against the client Today, Activator Rule 1 uses a simplified threshold by cargo type, not the client’s exact SLA. Join with dim_client
Full fleet coverage The control tower covers 40 trucks across 15 routes today — the same Eventstream scales to the rest of the operation with no architectural changes. Full visibility
Cold path beyond 90 days The Lakehouse already receives the full history — what’s missing is a Warehouse layer for quarterly reporting without re-querying the Eventhouse. Historical reporting
Event Hub with expanded capacity Size the namespace for traffic spikes across the whole fleet, not just normal operation. Avoids throttling

The dashboard tiles showing “--” aren’t a bug: they reflect a live query against the Eventhouse at the exact moment of the screenshot, with no truck meeting that condition in that second. That’s precisely the proof that the control tower reads reality as it is — not a cache that says “all clear” without having looked.

What about your cold chain?

Does your fleet find out late — or right now?

If you’re transporting something that expires, degrades, or falls out of regulatory compliance outside its range, the question isn’t whether you need real time — it’s how much not having it yet is already costing you. Let’s talk about what your operation would need, starting from the same place we did with Iberlogis: which events actually matter, and how fast they need to reach you.

Email us →