Maritime Data Taskforce

Analyze carbon efficiency of a global shipping fleet using Python and practical mathematics

Global Impact

90%

of global trade via sea

Industry Emissions

3%

of human-produced CO₂

Ranking

6th

largest global emitter

The Challenge

The Scale: Shipping is critical infrastructure. 90% of global trade travels by sea.

The Problem: Shipping accounts for nearly 3% of all human-produced CO₂. If the shipping industry were a country, it would be the 6th largest emitter globally.

The Regulation: The International Maritime Organization (IMO) introduced the CII (Carbon Intensity Indicator). Ships are now graded A through E based on efficiency. Low-rated ships face "vessel detention"—they aren't allowed to sail.

Your task: Develop the mathematical models that engineers need to optimize shipping efficiency and help the fleet meet IMO regulations.

The Challenge: Maritime Data Taskforce

You have just received a raw telemetry dataset of 1,000 global maritime voyages. The fleet is bleeding capital through inefficient sailing speeds, and looming environmental regulations threaten to ground vessels.

Your Mandate

Mathematically model fleet dynamics, identify exactly which ships are failing their regulatory efficiency targets, and calculate the exact financial impact of hull maintenance on the syndicate's bottom line.

Team Dynamics: Divide and Conquer

Math Students: The Architects

You cannot code until the physics are proven. You will use fundamental maritime laws to derive the master formulas for fuel consumption and cost optimization.

CS Students: The Engineers

You will take the Architects' mathematical blueprints and build a scalable, high-performance computational engine to process the entire fleet instantly.

Concepts You'll Master

Mathematical Concepts

  • Definite Integrals (dynamic fuel modeling)
  • Derivative Calculus (cost optimization)
  • Statistical Anomaly Detection (thresholding)
  • Matrix Algebra (network routing)

Technical Concepts

  • Python for computational modeling
  • Pandas for data hygiene and aggregation
  • NumPy for vectorized physics calculations
  • Matplotlib for visual intelligence reports
Phase 1

The Math

Math Students prove the physics. Derive formulas and optimize costs using calculus. Engineers need your blueprints.

Level 1: Formulate

Translate "Maritime Laws" into equations. Engineers need your master formulas before they can code.

1

The Voyage Fuel Rule

Total fuel (F) is directly proportional to Distance (D) and Drag Constant (k), plus proportional to Speed squared (v²).

2

The Efficiency Metric (CII)

Efficiency is fuel burned per unit of work. Work = moving 1 Ton of Cargo across 1 Nautical Mile. Simplify the result.

3

The Biofouling Drag Factor

Define k as a piecewise function. Clean hull: k = 0.00012. Fouled hull: 35% less efficient (drag increases by 35%).

4

The Anomaly Rule

A ship is an 'Offender' if CII > μ + 1.5σ, where μ is Fleet Average and σ is Standard Deviation.

Level 2: Optimization

Use Calculus to model dynamic changes and optimize operational costs. These require mathematical derivation.

5

The Biofouling Integral

Drag grows linearly over time: k(t) = k₀ + γ·t. Fuel rate: q(t) = k(t)·v³. Set up and evaluate the definite integral for total fuel over voyage time T = D/v.

6

The Economic Speed Limit

Find the speed minimizing total cost. Cost = Fuel Cost + Time Cost. Assume clean hull (γ = 0). Take derivative dJ/dv, set to 0, solve for v_opt.

Phase 2

The Code

Transform mathematical blueprints into production-grade Python. Data engineers and computational scientists execute the formulas.

Getting Started

Visit the Shiftkey GitHub repository to access the Google Colab starter notebook with datasets and template code:

Open Shiftkey Workshop Repository

Level 1: The Data Engineer

Focus: Data Hygiene, Basic Vectorization, Boolean Logic

1

Ingestion & Inspection

Load fleet_data.csv into a Pandas DataFrame. Print the shape (rows) and count missing values in Cargo_Weight_Tons column.

2

Data Hygiene (Imputation)

Calculate the Median of Cargo_Weight_Tons. Fill NaN values with this median. Verify no missing values remain.

3

Vectorized Logic (Biofouling)

Create a Drag_k column. If Hull_Status == 'Clean', set k = 0.00012. If Fouled, set k = 0.000162. Use np.where().

4

The Physics Engine (Master Formulas)

Implement derived formulas without loops. Calculate Total_Fuel = k · D · v² and CII_Rating = (k · v²) / W. Verify first 5 rows.

5

Statistical Anomaly Detection

Calculate Mean (μ) and StdDev (σ) of CII_Rating. Create Is_Offender column where CII_Rating > μ + 1.5σ. Count flagged ships.

Level 2: The Computational Scientist

Focus: Advanced NumPy Math, Aggregation, Matrices, Visualization

6

The Optimization (Calculus Implementation)

Calculate Optimal_Speed using v_opt = ∛(C_h / (2 · P_f · k)). Set Fuel_Price = 600. Calculate Financial_Waste = (Current_Fuel - Optimal_Fuel) × Fuel_Price.

7

Advanced Filtering & Sorting

Filter dataframe for Type == 'Tanker'. Sort by Financial_Waste descending. Print Ship_ID of the most wasteful Tanker.

8

Matrix Operations (Route Planning)

Load network_matrix.npy. Perform Matrix Multiplication (A × A) to find 2-stop connections. How many ways from Port 0 to Port 3 in 2 hops?

9

Visual Intelligence (Matplotlib)

Generate Scatter Plot (Speed_Knots vs CII_Rating, colored by Is_Offender). Generate Histogram of Financial_Waste distribution with bins=30.