Introduction

The Flow Contribution Calculation on the Stock Projection represents the number at current time, of expected containers to depart from origin and arrive at destination. In simple terms, if a future OTT of 100 x 40HIGH containers are planned from BEANT01 on 1/1/22 to DEBRVTM 2/1/22, then we will expect 100 units will be loaded/gate-out and 100 units will be discharged/gate-in the day later. While this is the most common calculation, there are several important refinements to be applied, in order to have a meaningful flow contribution. These refinement are explained on this page.

Flow Considerations

Projection Cut-Off

When OTTs are executed, the load/discharge moves will be reconciled to the OTT (see Reconciliation) in the same pace as the moves are inserted in RKEM. Sometimes if will take a while before operations are complete and all moves are completely inserted into RKEM and received in ROCK. During the period where load operations are happening ROCK must still assume the planned number on the OTT will reach the destination, and (Planned - Loaded) containers will still be loaded from the origin. To simplify these calculations, ROCK uses an Origin LoadCutOff and a Destination DischargeCutOff timestamp for each OTT. The rules to identify these discharge cut-offs are described below.

The following checks are also included in the rules to determine the CutOffs.

Check

Description

RKEM Latency

By default, ROCK uses a 24 hour cutoff rule vessel based OTTs. However, for terminals where moves are updated quickly in RKEM, a better cutoff can be assumed (see Calculating RKEM Latency). Furthermore, once a week ROCK marks the sites which are using RKEM reconcilation workaround (read more in Reconciliation regarding booking workaround). Both inputs helps to refine the cut-off.

Reconciliation Enabled

If site is using booking workaround we have more confidence in the origin and destination. Thus we can use a cut-off which is closer to the timestamp of the load/discharge operations.


Origin and Destination CutOff Formulas

CASE

OTT Type

Mode

RE*

Origin CutOff Formula**

Destination CutOff Formula

Comment

1

Marine

*

*

OriginDeparture + ISNULL(RKEMLatency, 24)

DestDeparture+168

(Load) If the we the RKEM latency has been calculated for a terminal, that number will be used over the default load cutoff of 24.
(Discharge) If a container is Loaded but not yet discharged yet, it is most likely late RKEM updates. We should expect it to be discharged eventually, so we use 168 hours (1 week)

2

Intermodal

Vessel

*

FromDate+24

ToDate+24

On terminals we are more confident in the destination, thus we load and discharge operations to be updated in RKEM within 24 hours

3

Intermodal

<>Vessel

No

FromDate+120

ToDate+72

If site is not using the booking workaround we will assume loaded containers to finally reach destination within 72 hours (3 days), and use a large cut-off of 120 hours (5 days)  as many OTTs are used are used to track volume for a full week.

4

Intermodal

<>Vessel

Yes

FromDate+24

ToDate+24

If site is using booking workaround we have more confidence in the origin and destination. Thus we expect operations to be updated in RKEM within 24 hours

5

Dummy

*

*

0

0

If OTT is dummy (infleeting/outfleeting/oneways) we are not able to reconcile load/discharge moves. Thus we will stop expecting containers at the moment load operations complete.

* Reconciliation Enabled

** The Origin CutOff Timestamp is capped to never be greater than the Destination CutOff Timestamp


Origin and Destination CutOff Examples

Column

Case 1

Case 2

Case 3

Case 4

Case 5

OTTnumber

R20089288

R20083020

R20006921

R20089360

R19248266

PlaceFrom

SAJEDRGT

DEWVNTM

CNLUZCT

DEBRVTM

XXLEASE

PlaceTo

DEWVNTM

RUPLPTM

CNNNTSIN

DEBRV03

CNIWNGH

OriginTimeZone

6

2

16

2

16

DestinationTimeZone

2

6

16

2

16

FromDate

11-02-20 00:36

19-02-20 12:00

07-02-20 00:00

17-02-20 12:00

02-06-19 12:00

FromDateUTC

11-02-20 03:36

19-02-20 13:00

07-02-20 08:00

17-02-20 13:00

31-05-19 11:00

ToDate

29-02-20 04:00

29-02-20 14:00

29-02-20 00:00

21-02-20 12:00

03-06-19 00:00

ToDateUTC

29-02-20 05:00

29-02-20 17:00

29-02-20 08:00

21-02-20 13:00

03-06-19 08:00

IsDummyOtt

0

0

0

0

1

IsMarineOtt

1

0

0

0

0

IsOriginUsingBookingCode

0

1

0

1

0

Transport

MVS

VESSEL

INLAND

INLAND

BARGE

OriginLatency

1

24

120

24

0

DestLatency

168

24

72

24

0

LoadCutOffTimestampUTC

11-02-20 04:36

20-02-20 13:00

12-02-20 08:00

18-02-20 13:00

31-05-19 11:00

DischargeCutOffTimestampUTC

07-03-20 05:00

01-03-20 17:00

03-03-20 08:00

22-02-20 13:00

03-06-19 08:00

CurrentTimeUTC

21-02-20 08:19

21-02-20 08:19

21-02-20 08:19

21-02-20 08:19

21-02-20 08:19

IsLoadCutOffPassed

1

1

1

1

1

IsDischargeCutOffPassed

0

0

0

0

1

Unplanned Subtype Volume

In many cases, the equipment planner wants to move containers of a certain group (e.g. 40REEF* or 40HIGH*). In these cases, loading any of the subtypes under the group is an acceptable substitute. To prevent "over" projecting flows, the flow contribution logic will identify the unplanned subtypes that have been loaded and subtract it from the maintype of the equipment group (i.e. 40HIGH is maintype of 40HIGH* group).

In the example below, the plan is to move 250x40HCRF* regardless of which subtype, where 228 units of the maintype is loaded (40HCRF), with an additional 16 unplanned 40MGRF are also loaded. The USV associated to 40HCRF* is set to 16 using logic described in the business rules. Consequently as load operations are ongoing we can subtract the USV from the maintype (40HCRF) when projecting how many additional 40HCRF are expected to be loaded: COALESCE(A,S,) - L - USV = 250 - 228 - 16 = 6.

Equipment

S

A

L

USV

40HCRF*

250

250

244

 

40HCRF

250

250

228

16

40MGRF

16

Flow Contribution Formulas

Flow Contribution is calculated as two numbers: OriginEvacProjection which is the projection of units yet to be evacuated from the origin, and DestSupplyProjection which is the projection of units yet to be supplied to the destination. The code is straightforward is run for each equipment type on each OTT using the below code in SQL, which is fairly self-explanatory.

The formulas are simplified to allow negative numbers. As a last step, each projection will be capped to 0 to prevent negative projections (we shouldn't expect negative numbers to be loaded or discharged).

Origin Evacution Formulas
[OriginEvacProjection] = 
CASE 
	WHEN OTTStatus = 'C' OR IsGSISmatched=0 THEN 0					-- Cancelled and mismatched OTTs will project 0 units
	WHEN OTTStatus IN ('S', 'A') AND OriginOmit=1 THEN 0			-- Planned OTTs with Origin OMIT will project 0 units
	WHEN OTTStatus IN ('L', 'D') AND DestinationOmit=1 THEN 0		-- OTTs in progress with Dest OMIT will project 0
	WHEN IsLoadCutOffPassed = 0 THEN
		CASE 
			WHEN COALESCE([A],[S],0) < ISNULL([L],0) THEN 0				-- Planned-L
			ELSE COALESCE([A],[S],0) - ISNULL([L],0) - ISNULL([USV],0)	-- Planned-L-USV
		END
	ELSE 0 -- after cut-off, we expect 0 more to be loaded
END 


Destination Supply Formulas
[DestSupplyProjection] = 
CASE
	WHEN OTTStatus = 'C' OR IsGSISmatched=0 THEN 0
	WHEN OTTStatus IN ('S', 'A') AND OriginOmit=1 THEN 0
	WHEN OTTStatus IN ('L', 'D') AND DestinationOmit=1 THEN 0
	WHEN IsLoadCutOffPassed = 0 THEN
		CASE
			WHEN COALESCE([A],[S],0) < ISNULL([L],0) THEN
			COALESCE([L],0) - ISNULL([D],0) - ISNULL([USV],0)				-- loaded more than planned L-D-USV
			ELSE COALESCE([A],[S],0) - ISNULL([D],0) - ISNULL([USV],0)	-- loaded less than planned (Planned-D-USV)
		END
	WHEN IsDischargeCutOffPassed = 0 THEN
		ISNULL([L],0) - ISNULL([D],0) - ISNULL([USV],0)
	ELSE 0
END


Attachments:

CUTOFF.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CUTOFF.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
CutOffRulesExamples.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)