Menu
Home OceanIO Endpoints Trade Lane Analytics

Trade Lane Analytics

Trade Lane Analytics

Trade Lane Analytics provides insights about Carrier performance for a trade lane of interest.

With a ‘Port of origin’ lo-code and a ‘Port of destination’ lo-code Trade Lane Analytics provides statistics on multiple carriers on the following:

  1. Number of omits for both Origin and Destination port
  2. Number of delays for both Origin and Destination port since the original service schedule
  3. Number of rollovers for Origin with the defined Destination port.

Trade lane Analytics have the following endpoints:

  • GET /tradelane-analytics/journey-statistics returns trade lane statistics

GET /tradelane-analytics/journey-statistics

Returns number of omits, delays and rollovers for both origin and destination.

A description of the input parameters, example input, HTTP return codes and response are available in Swagger GET /tradelane-analytics/journey-statistics

Input

  • Origin_un_location_code*
  • Destination_un_location_code*
    • Providing the above mandatory input the tradelane analytics service will provide tradelane statistics on any carrier whose vessel have made journeys between origin and destination
  • begin_datetime, optional field which is default value is 90 days back. In case the vessel schedule indicates departure from the origin port after begin_datetime the vessel will be included in the journey statistics.
  • end_datetime, optional field which is default value is now
    • can be use to request statistics for the requested period
  • vessel_operator_carrier_codes, optional field which can contain a comma-seperated sting of carrier SCACs to limit the carriers to gain statistics from. If not populated the OceanIO will search between all carriers.

Code examples

import json  
import requests  

request_data = {"user_id": “username”, "password": “passWORD1234##”} 
data_json = json.dumps(request_data)

response_auth = requests.post(
    "https://api-demo.oceanio.com/authentication/login",
    headers={"content-type": "application/json", 'X-Api-Key': "LVQEGHrM0P5AAeeUbGWSO5gX0kZlO7KrNl..."},
    data=data_json)

result = json.loads(response_auth.content)

response = requests.get(
    "https://api-demo.oceanio.com/tradelane-analytics/journey-statistics?origin_un_location_code=SGSIN&destination_un_location_code=CNXAM",
    headers={"content-type": "application/json", 'X-Api-Key': "LVQEGHrM0P5AAeeUbGWSO5gX0kZlOG877KrNl...",
              "Authorization": f"Bearer {result.get('token')}"})

print(json.loads(response.content))


Sample Output

{
  "statistics": [
    {
      "vessel_operator_carrier_code": "MAEU",
      "origin_un_location_code": "SGSIN",
      "destination_un_location_code": "CNXAM",
      "begin_datetime": "2023-01-01T13:07:19.841069+00:00",
      "end_datetime": "2023-06-01T13:07:19.841069+00:00",
      "origin_omitted_port_call_count": 2,
      "destination_omitted_port_call_count": 2,
      "total_journeys": 37,
      "destination_delayed_journeys": 0,
      "origin_delayed_journeys": 0,
      "container_count": "0-5000",
      "carrier_caused_rolls_pct": 1.9,
      "shipper_caused_rolls_pct": 1.2
    },
    {
      "vessel_operator_carrier_code": "EGLV",
      "origin_un_location_code": "SGSIN",
      "destination_un_location_code": "CNXAM",
      "begin_datetime": "2023-01-01T13:07:19.841069+00:00",
      "end_datetime": "2023-06-01T13:07:19.841069+00:00",
      "origin_omitted_port_call_count": 3,
      "destination_omitted_port_call_count": 3,
      "total_journeys": 5,
      "destination_delayed_journeys": 0,
      "origin_delayed_journeys": 0,
      "container_count": "0-5000",
      "carrier_caused_rolls_pct": 0.9,
      "shipper_caused_rolls_pct": 2.9
    },
    {
      "vessel_operator_carrier_code": "COSU",
      "origin_un_location_code": "SGSIN",
      "destination_un_location_code": "CNXAM",
      "begin_datetime": "2023-01-01T13:07:19.841069+00:00",
      "end_datetime": "2023-06-01T13:07:19.841069+00:00",
      "origin_omitted_port_call_count": 2,
      "destination_omitted_port_call_count": 1,
      "total_journeys": 5,
      "destination_delayed_journeys": 1,
      "origin_delayed_journeys": 0,
      "container_count": "0-5000",
      "carrier_caused_rolls_pct": 1.1,
      "shipper_caused_rolls_pct": 5.9
    }
  ]
}

Descriptions:

  • origin_omitted_port_call_count contains the number of omits at the origin port for journeys between origin and destination
  • destination_omitted_port_call_count contains the number of omits at the destination port for journeys between origin and destination
  • total_journeys contains the total amount of journeys from which the OceanIO calculated omits and delays
  • destination_delayed_journeys contains the number of delays in the destination port for journeys between the requested origin and destination ports
  • origin_delayed_journeys contains the number of delays in the origin port for journeys between the requested orgin and destination ports
  • container_count contains the number of containers used to calculate rollover percentage of.
  • carrier_caused_rolls_pct contains the percentage of carrier caused rollovers. Trade Lane Analytics triggers a carrier caused rollover when the container is gated in later than cut-off and is not loaded as planned.
  • shipper_caused_rolls_pct contains the percentage of shipper caused rollover percentage. Trade Lane Analytics triggers a shipper caused rollover when the container is gated in before cut-off and is not loaded as planned.

FAQ:

Q: With which frequency are tradelane statistics updated?
A: Trade lane statistics are updated on a daily basis.

Q: What is an omit?
A: An omit refers to an exclusion or cancellation of a scheduled port call during the Vessels voyage. It means that the vessel was initially planned to call at a particular port but, for various reasons, that port stop was canceled. There are several reasons for omits such as operational (ex. delay in previous port or weather conditions), commercial (ex. lack of cargo) or security reasons. (geopolitical reasons)
DCSA definition: When a ship does not call a port included in the Long-Term schedule that was planned at the start of the voyage.

Q: What is a rollover?
A: A rollover refers to the situation where some or all containers in a booking are not loaded on the vessel as planned. Rollover can be caused by either shipper or Carrier and depending on whether or not the container is delivered before or after cut-off.

Updated on 02 June, 2023