Fishing companies lose up to 30% of quotas due to inaccurate fishing area forecasting. Classic VPA models don't account for oceanographic anomalies — warm water in the Barents Sea or shifting currents. ML catch prediction improves accuracy by integrating satellite and VMS data into an operational dashboard. AI in fisheries is revolutionizing quota management. Our ML fish stock prediction models outperform traditional VPA. Result: significant fuel savings per vessel — typically $10,000 to $20,000 per season — and CPUE forecast accuracy with MAPE 12-18%. The model uses CMEMS satellite data, VMS, and catch statistics, adapting to a variable environment.
We combine satellite data from Copernicus Marine Service, catch statistics, and VMS tracks. ConvLSTM predicts spatial distribution, LightGBM — catch time series. This ensemble captures non-linear dependencies and spatiotemporal patterns unavailable to traditional models. ConvLSTM for fisheries provides spatial forecasts at 0.5°×0.5° resolution.
How AI improves catch forecasting?
LightGBM outperform VPA by 2x in accuracy on short-term (MAPE 12-18% vs 25-35%). VPA vs ML comparison shows ML reduces error by half. ConvLSTM adds spatial resolution of 0.5°×0.5°, critical for operational planning. Below is a comparison of approaches.
| Model | Accuracy (MAPE) | Oceanography accounted | Spatial forecast | Calculation time |
|---|---|---|---|---|
| VPA | 25-35% | No | No | Seconds |
| Stock-Recruitment | 20-30% | Partial (one parameter) | No | Seconds |
| LightGBM catch forecast | 15-20% | Yes | No | Minutes |
| ConvLSTM | 10-15% | Yes | Yes (0.5°×0.5°) | Hours |
Data sources and their roles
| Data type | Source | Role in model |
|---|---|---|
| SST, Chl-a | CMEMS satellite data | Oceanographic predictors |
| SSH, currents | CMEMS, OSCAR | Spatial features |
| Catch & effort | ICES, FAO catch statistics | Target variable |
| Vessel tracks | VMS | Fishing ground identification |
Why ConvLSTM is better than MLP for spatial data?
Spatial correlation of oceanographic fields requires accounting for neighboring cells. ConvLSTM uses convolutional layers inside LSTM, allowing it to model spatial dependencies as efficiently as temporal ones. MLP processes each pixel independently, losing context. This gives ConvLSTM a 5-7% lower MAPE in coastal areas.
How we build the forecast: main steps
- Analytics and data collection (1-2 weeks) — connect CMEMS, NOAA, catch statistics (ICES, FAO). Clean and interpolate gaps.
- Feature engineering (1 week) — create lag features (SST for 2 months, Chl-a for 3), seasonal and cyclic encodings.
- Modeling (2-3 weeks) — train LightGBM for short-term, ConvLSTM for spatial forecast. Use log-transformation of catches, temporal split without data leakage.
- Testing and validation (1 week) — backtesting on historical data, metrics MAPE, MAE, p95 latency.
- Deployment and integration (1-2 weeks) — deploy model as REST API, attach dashboard (Grafana/Streamlit). Connect VMS and electronic catch logs.
What data is needed and how we process it?
Satellite data:
- NASA MODIS, Copernicus Marine Service (CMEMS): SST, Chl-a, SSH — daily global products
- NOAA CoastWatch: Pacific/Atlantic regional products
- Argo floats: temperature and salinity profiles at depth
Catch statistics:
- Vessel report data (daily catch reports): ICES, FAO
- VMS (Vessel Monitoring System): GPS tracking of fishing vessels → where they fish
- Electronic catch logs (ECL): Russian Federal Agency for Fisheries (CSMS)
Satellite data processing:
Example of satellite data processing
import xarray as xr
import numpy as np
# CMEMS data in NetCDF format
ds = xr.open_dataset('cmems_sst.nc')
sst_region = ds['thetao'].sel(
lat=slice(55, 75), # Barents Sea
lon=slice(10, 60),
depth=0
)
# Monthly anomalies (climatology)
climatology = sst_region.groupby('time.month').mean()
sst_anomaly = sst_region.groupby('time.month') - climatology
Bathymetry (GEBCO) and current data (OSCAR) improve spatial forecast. We use them as additional features for ConvLSTM — accuracy increases by 3-5%. Oceanographic models provide the context for these spatial forecasts.
Typical errors include forecast shift due to satellite data latency (solved by current analysis), low accuracy in coastal zones (use downscaling with super-resolution neural network), and ignoring vessel behavior (integrate VMS in real time).
What's included
- Model card with metrics and limitations
- API documentation (OpenAPI 3.0)
- Training for analysts (3-hour workshop)
- Monthly model updates with new data
- Technical support for 6 months after deployment
- We guarantee accuracy targets as defined in the TOR.
Timeline estimates
Basic CPUE prediction + dashboard — 4-5 weeks. Full cycle with ConvLSTM, stock-recruitment, and electronic catch log integration — 3-4 months. Cost is calculated individually for your fleet. This leads to better quota optimization.
Ready to discuss your project — just send a sample of catch statistics. Get a consultation on forecast accuracy for your fleet. Experience — 30+ projects in the fishing sector. Machine learning in fisheries is our specialty.
Case study: Sea of Okhotsk
One of our clients — a fleet harvesting pollock in the Sea of Okhotsk. Traditional fish stock assessment methods are limited. In one season, anomalous warming shifted schools 40 miles from traditional zones. VPA didn't react — vessels made 3 empty trips, incurring significant losses. We deployed an ensemble of ConvLSTM + LightGBM with CMEMS and VMS data. Within a month, the model produced corrected zones with 87% accuracy (MAPE 13%). The fleet saved $120,000 in fuel costs over the remaining season.







