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
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.
The Voyage Fuel Rule
Total fuel (F) is directly proportional to Distance (D) and Drag Constant (k), plus proportional to Speed squared (v²).
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.
The Biofouling Drag Factor
Define k as a piecewise function. Clean hull: k = 0.00012. Fouled hull: 35% less efficient (drag increases by 35%).
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.
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.
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.
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 RepositoryLevel 1: The Data Engineer
Focus: Data Hygiene, Basic Vectorization, Boolean Logic
Ingestion & Inspection
Load fleet_data.csv into a Pandas DataFrame. Print the shape (rows) and count missing values in Cargo_Weight_Tons column.
Data Hygiene (Imputation)
Calculate the Median of Cargo_Weight_Tons. Fill NaN values with this median. Verify no missing values remain.
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().
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.
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
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.
Advanced Filtering & Sorting
Filter dataframe for Type == 'Tanker'. Sort by Financial_Waste descending. Print Ship_ID of the most wasteful Tanker.
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?
Visual Intelligence (Matplotlib)
Generate Scatter Plot (Speed_Knots vs CII_Rating, colored by Is_Offender). Generate Histogram of Financial_Waste distribution with bins=30.