Time-series analysis and forecasting of tomato retail prices in Nigeria using Python, ARIMA, Exponential Smoothing, and a Naive Forecasting baseline
Forecasting Tomato Price in Nigeria Using Time-Series Analysis
📌 Project Overview
This project applies time-series analysis and forecasting techniques to historical tomato retail prices in Nigeria.
The objective is to analyse historical tomato price patterns, compare different forecasting approaches, identify the best-performing model, and generate a 12-month tomato price forecast.
The project was completed as part of my 3MTT Data Science Capstone Project.
🎯 Project Objective
The main objective is to develop a time-series forecasting model that can estimate monthly tomato retail prices in Nigeria based on historical price patterns.
Specific Objectives
Clean and prepare the historical food price dataset.
Filter the dataset to focus on tomato retail prices.
Aggregate the prices into monthly average prices.
Explore historical tomato price trends.
Develop different time-series forecasting models.
Compare model performance using MAE and RMSE.
Select the best-performing forecasting model.
Generate a 12-month tomato price forecast.
Provide insights and recommendations based on the findings.
📊 Dataset
Dataset Title
Nigerian Food Prices (2002–2025)
Data Source
The dataset was obtained from Kaggle.
🔗 Nigerian Food Prices (2002–2025) — Kaggle
The original dataset contains food price information including date, location, commodity, unit, price type, currency, and price.
The analysis in this project focuses specifically on:
Commodity: Tomatoes
Price Type: Retail
Unit: 0.5 KG
Currency: Nigerian Naira (NGN)
Frequency: Monthly
The original dataset contained approximately 60,565 records and 16 columns. After cleaning, filtering and monthly aggregation, the analysis produced 93 monthly observations covering December 2016 to May 2025.
🧹 Data Preparation
The following data preparation steps were performed:
Loaded the CSV dataset using Pandas.
Removed the metadata/description row contained in the original dataset.
Converted the date column to datetime format.
Converted price …