Development Documentation
View as:

Transport B2B Analysis

Canonical page for the Transport B2B Analysis Power BI report. Decomposes the relationship between back-to-back (B2B) trading and transport cost per kg, and isolates the diesel-surcharge (EXCEPT) component that emerged in Q1 2026.

Purpose

Explain why transport cost per kg moves together with the B2B share — not just whether it does.

Three causal hypotheses are tested on separate pages:

  1. Routing mix — B2B trades ride longer / more complex lanes than pure outbound, so the weighted €/kg is structurally higher.
  2. Pricing — on the same lane, B2B rates differ from outbound rates.
  3. Surcharge exposure — B2B orders absorb EXCEPT (diesel) surcharges differently than outbound.

Data foundation

LayerObjectWhat it provides
Precalcfact_trade.transport_cost (S-TRAN / P-TRAN)Base transport forecast at orderline level
Precalcfact_trade.truck_cost (S-TRUCK / P-TRUCK)Last-mile forecast
Precalcfact_trade.except_cost (S-EXCEPT / P-EXCEPT)Diesel / exceptional surcharge forecast — added to the model as part of this analysis
Precalcfact_trade.waiting_cost (S-WAITING / P-WAITING)Demurrage / wait-time forecast
Ledgerdim_logistics.ledger_transport_costActual invoiced transport cost per LF
Ledgerdim_logistics.ledger_except_costSurcharge component parsed from GL description (Cost code: …-EXCEPT)
Ledgerdim_logistics.ledger_waiting_costWaiting component parsed from GL description (Cost code: …-WAITING)
Ledgerdim_logistics.ledger_transport_base_costResidual base-transport component

B2B is derived from dim_logistics.direction = "Back to back". The fact_trade.is_b2b / b2b_is_matched columns are populated for orderline provenance only — they are not used in the report.

Key measures

MeasureDefinition
Transport Cost LedgerSum of 708x / 70830 / 50100 GL postings (existing)
Transport Base Cost LedgerGL rows whose description matches -TRAN (new)
EXCEPT Cost LedgerGL rows whose description matches -EXCEPT (new)
Waiting Cost LedgerGL rows whose description matches -WAITING (new)
EXCEPT % of Transport CostEXCEPT / Transport Cost Ledger
Transport Cost / kg (Back to back)Transport Cost Ledger / kg filtered to direction = "Back to back"
Transport Cost / kg (Outbound)Same, filtered to direction = "Outbound"
B2B Transport Premium / kg(Back to back) − (Outbound) €/kg difference
Orderline Calculation LF (Full)Precalc total = TRAN + TRUCK + EXCEPT + WAITING
Precalc vs Ledger VarianceTransport Cost Ledger − Orderline Calculation LF (Full)

Report pages

  1. Maandelijks — monthly transport cost/kg vs B2B% trend with target reference line.
  2. Wekelijks — same analysis at weekly granularity.
  3. Analyse — tests whether B2B is directly cheaper than non-B2B (legacy hypothesis from Daan).
  4. Kosten opbouw — stacked decomposition of €/kg into base + EXCEPT + waiting, overlaid with B2B%. Separates mix effects from price effects.
  5. EXCEPT (Iran diesel) — timeline of the EXCEPT surcharge, with EXCEPT/kg split by back-to-back vs outbound direction.
  6. Precalc vs werkelijk — actual ledger vs precalc variance table. Surfaces surcharge leakage that is not yet modelled in the precalc input rates.

The 2026-03 EXCEPT inflection

Before 2026-03, S-EXCEPT / P-EXCEPT averaged under €200 / month across the combined fleet. From 2026-03 onward the cost group jumps to €20 000+ / month — a ~230× step change — driven by carriers passing through oil-market-related diesel surcharges following the Iran war escalation. The EXCEPT page tracks the timeline; the Precalc-vs-werkelijk page shows whether the precalc input rates have caught up.

Key finding (2026 YTD)

Back-to-back sales transport costs €0.079 / kg, outbound costs €0.048 / kg — a 64% B2B premium. The per-kg gap is structural and not explained by EXCEPT alone: EXCEPT accounts for ~7% of B2B transport cost and ~9% of outbound transport cost in the same window.

This shifts the interpretation of the top-line B2B% vs transport-cost correlation: the correlation is primarily a routing-mix effect, not a pricing effect. EXCEPT is a secondary, accelerating driver that hits both segments.