A decision support tool for rail-based grain merchandising, comparing netbacks across multiple outlet types (export terminals, river terminals, processing assets). Features LDC-specific rail economics including per-car P&L and demurrage modeling.
Live Demo: grain-freight-arb.vercel.app
- Multi-Route Netback Comparison - Compare up to 3 rail outlets simultaneously
- Break-Even Analysis - Calculate freight and basis break-even points where routes become equivalent
- Decision Triggers - Automatic alerts when market movements would change the optimal route
-
Per-Car Economics - Netback displayed in
$/car alongside $ /bu - Demurrage Modeling - Configurable demurrage ($/car/day) with free time
- Delay Integration - Demurrage automatically added when Monte Carlo delay exceeds free time
- Outlet Types - Routes labeled as Export Terminal, River Terminal, Processing Asset
- Sensitivity Heatmap - 2D grid showing how netbacks change across freight and basis scenarios
- Monte Carlo Simulation - 10,000-iteration risk analysis with configurable uncertainty parameters
- Carry Cost Modeling - Storage and interest cost calculations for inventory holding periods
- Hard Constraints - Filter routes by rail availability, truck capacity, delivery windows
- Soft Constraints - Adjust netbacks for quality discounts and payment terms (A/R interest)
- Market Wire - Auto-generated trade recommendation summary
- Risk Metrics - Value at Risk (VaR), probability of loss, downside/upside scenarios
Default preset: SE Rail Flow (Example)
| Route | Outlet Type | Destination |
|---|---|---|
| 1 | Export Terminal | Gulf (Louisiana) |
| 2 | River Terminal | Burns Harbor |
| 3 | Processing Asset | Ethanol Plant |
| Parameter | Default | Description |
|---|---|---|
| Bu/Car | 3,500 | Bushels per railcar |
| Demurrage | $75/car/day | Daily demurrage charge |
| Free Time | 2 days | Days before demurrage applies |
- React 18 - Component architecture with hooks
- Vite - Fast development and optimized builds
- Tailwind CSS - Utility-first styling
- Recharts - Data visualization (histograms, heatmaps)
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build- Basis Data: USDA AgTransport "Latest Week of Grain Basis Data"
- Barge Freight: USDA Grain Transportation Report
- Rail/Truck Freight: Configurable assumptions
- Futures: User input (references CBOT settlement)
All inputs are fully editable for scenario analysis.
This is a decision-support tool for screening rail trade opportunities. It does NOT include:
- Rail billing / applications workflow
- Accounting accruals
- Position / P&L tie-out systems
- CRM / origination tracker
MIT