Back to all projects
Data/MLStatus: Defended

PriceCast

Undergraduate thesis testing whether satellite climate data improves food price forecasts

Thesis Author / Fullstack Developer
Feb – Mar 2026
Defended

Project gallery

Food price dashboard
Commodity price comparison

Overview

About the project

For my undergraduate thesis, I developed a next-month food price forecast for 19 commodities in Sultan Kudarat. The Python pipeline filters market price records, joins monthly rainfall and vegetation data, and creates price-change, momentum, volatility, climate, and seasonal features. An XGBoost model predicts a price correction that is reduced with a 0.1 shrinkage factor. A web dashboard presents historical prices and forecast comparisons. I defended the thesis in March 2026.

The need

Forecasts need a baseline: a complex model is not useful if it cannot improve on using the current price as next month's estimate.

What I built

I used rolling-origin backtesting against that naive baseline. The saved evaluation reports hybrid MAE of ₱4.68 versus ₱4.66 for the naive estimate: the climate features did not beat the baseline, which became the study's main finding.

Features

Main features

ML Forecasting Engine

  • XGBoost regression on 15 price, climate, season, and commodity features
  • 0.1 shrinkage factor limits the model's suggested price correction
  • Rolling-origin backtesting compares forecasts with the unchanged-price baseline
  • Saved evaluation: hybrid MAE ₱4.68; naive MAE ₱4.66 across 274 test predictions

Climate Data Integration

  • Satellite rainfall data from CHIRPS dataset
  • Vegetation index (NDVI) from MODIS satellite imagery
  • Climate anomaly and change detection features
  • Cyclical encoding for seasonal patterns

Fullstack Dashboard

  • React + TypeScript frontend with chart visualizations
  • FastAPI backend with Python ML inference
  • Historical price charts and forecast comparisons
  • Commodity-wise prediction breakdowns

Implementation

Technical stack & architecture

ML Framework

XGBoost / Python

Backend

FastAPI

Frontend

React + TypeScript

Data Sources

WFP prices, rainfall, NDVI

Evaluation

Rolling-Origin Backtesting

Deployment

Local / VPS

Have a project in mind?

Tell me what you want to build, your timeline, and your main requirements.