Built to order

Energy Consumption Forecasting using Prophet

A household energy forecaster using Facebook Prophet on the UCI household power dataset (2M+ minute-level readings, Dec 2006–Nov 2010). Prophet's additive model — trend plus daily, weekly and yearly seasonality — learns the household's rhythms and forecasts ahead with uncertainty bands. The demo shows history plus forecast with adjustable horizon and a seasonality decomposition viewer. The notebook reports MAPE, RMSE and MAE on a held-out window, so the report's metrics come from the student's own build. Suitable for B.E./B.Tech final-year projects in Computer Science, AI/ML and Data Science.

Energy Consumption Forecasting using Prophet - project prototype demo screenshot
More project photos (2)

The problem

Everyone who plans electricity supply — from grid operators balancing load to households choosing a tariff — needs to know how much energy will be used tomorrow, next week and next season. Classical methods like ARIMA demand statistical expertise, stationarity assumptions and manual tuning, and they struggle when a series carries several overlapping rhythms at once: a household uses power differently at 7 AM versus 7 PM, on weekdays versus weekends, and in January versus July. This project applies Prophet to the UCI Individual Household Electric Power Consumption dataset (over 2 million minute-level readings from a French household, December 2006–November 2010): ingestion and resampling, Prophet modeling with daily/weekly/yearly seasonality and holiday effects, changepoint tuning, forecast horizons with uncertainty intervals, holdout backtesting with MAPE/RMSE/MAE, seasonality decomposition, and a dashboard demo with adjustable horizon.

How it works

  1. The UCI household power dataset (2,074,259 minute-level records, December 2006–November 2010) is ingested, gap-checked and resampled to an hourly or daily consumption series.
  2. A Prophet model is specified with daily, weekly and yearly seasonality (Fourier terms), French public-holiday effects, and automatic changepoint detection on the trend.
  3. The model is fitted on the training history; changepoint prior scale is tuned by comparing fits, documented in the notebook.
  4. Forecasts are generated for the chosen horizon with uncertainty intervals that widen as the horizon extends.
  5. A final holdout window (e.g. the last 90 days) is backtested: MAPE, RMSE and MAE are computed and actual-vs-predicted plotted.
  6. The demo renders history plus forecast, the decomposed seasonality components, and the backtest panel with an adjustable horizon control.

Tech stack:

  • Python 3.10, Prophet (additive forecasting: trend, seasonality, holidays)
  • pandas, NumPy (resampling and series wrangling)
  • Matplotlib, Seaborn (forecast bands, decomposition, backtest plots)
  • scikit-learn (MAPE/RMSE/MAE metrics)
  • Jupyter notebook (buyer-run training and evaluation)
  • Streamlit demo app (forecast dashboard, decomposition viewer, backtest panel)
Parameter Value
Model Facebook Prophet — additive y(t) = trend + seasonality + holidays + error
Dataset UCI Individual Household Electric Power Consumption — 2,074,259 minute-level readings, Dec 2006–Nov 2010
Seasonality Daily, weekly and yearly Fourier components plus French holiday effects
Trend Piecewise-linear with automatic changepoint detection (tunable prior scale)
Evaluation MAPE, RMSE, MAE on a held-out window with actual-vs-predicted overlay — computed on your build by the notebook
Output Forecasted kWh per period with uncertainty intervals; decomposed components; peak-demand days
Horizons 7 / 30 / 90-day forecasts from the demo's horizon control
Inference Batch forecast generation in the notebook; interactive dashboard in the demo app

Project features

  • [UCI meter-data pipeline] Ingests the Individual Household Electric Power Consumption dataset (2,074,259 minute-level records), handles gaps and resamples to hourly or daily series for modeling.
  • [Prophet additive model] Fits trend plus daily, weekly and yearly seasonality with Fourier terms, French holiday effects, and automatic changepoint detection for trend shifts.
  • [Changepoint sensitivity tuning] Exposes the changepoint prior scale so the report can compare stiff versus flexible trend fits on the same data.
  • [Forecast horizon control] Generates 7, 30 or 90-day forecasts with Prophet's uncertainty intervals, visualized as widening bands the further ahead the forecast reaches.
  • [Holdout backtesting] Trains on history, forecasts a held-out window, and reports MAPE, RMSE and MAE with an actual-vs-predicted overlay — all computed by the notebook during the build.
  • [Seasonality decomposition viewer] Plots the separated trend, daily profile, weekly pattern and yearly cycle components so the report can explain what the model learned.
  • [Peak-demand analysis] Identifies the highest-load days in history and in the forecast, the figures a utility planner actually cares about.
  • [Scenario comparison] Compares a normal week's forecast against a holiday week's, showing how the holiday component shifts predicted consumption.

What is included

  • Complete source code (data pipeline, Prophet modeling, backtesting, demo app)
  • Jupyter training and evaluation notebook (buyer-run procedure from ingestion to forecast)
  • Project report PDF (background, Prophet theory, methodology, decomposition analysis, backtest results)
  • PPT presentation for final review
  • Viva Q&A preparation document (Prophet internals, Fourier seasonality, changepoints, MAPE vs RMSE, stationarity)
  • Setup guide (environment, dataset download, running the notebook and demo)

Limitations & prerequisites

  • The data is a single French household from 2006–2010; it does not represent other climates, household sizes, or today's appliance mix — this is a teaching benchmark, not a utility planning tool.
  • Weather, the strongest short-term driver of heating and cooling load, is not in the feature set; the report notes this as the main accuracy lever left unused.
  • Prophet assumes repeating seasonal patterns and misses one-off events (heatwaves, lockdowns, equipment failures) that break the rhythm.
  • Minute-level noise is smoothed away by resampling; the model forecasts aggregate consumption, not appliance-level disaggregation.
  • There is no real-time smart-meter integration in the base build; forecasts run on the historical dataset in batch.

Frequently Asked Questions

Which dataset is used?

The UCI Individual Household Electric Power Consumption dataset: 2,074,259 minute-level readings (global active/reactive power, voltage, current, sub-meterings) from one household in Sceaux, France, spanning December 2006 to November 2010. It is freely available from the UCI Machine Learning Repository.

Why Prophet instead of ARIMA or LSTM?

Household load carries daily, weekly and yearly rhythms plus holiday effects and trend shifts — Prophet models each component explicitly with Fourier seasonality and automatic changepoints, tolerates missing readings, and needs no stationarity preprocessing, while remaining explainable through its decomposition plots.

Is the forecast accuracy guaranteed?

No. The notebook backtests the final holdout window and reports MAPE, RMSE and MAE — those measured values are the report's numbers, not a promise. Accuracy depends on the resampling grain, horizon length and how stable the household's routines are.

How does Prophet handle the different seasonalities?

Each seasonality is a sum of Fourier sine/cosine terms at the appropriate period (24 hours, 7 days, 365.25 days); Prophet fits their coefficients jointly with the trend, and the demo's decomposition viewer plots each component separately.

Can it forecast for another household or country?

Yes, with retraining: any timestamped consumption series works. Swap in the new data, re-specify the holiday calendar for the country, refit in the notebook, and the dashboard renders the new forecast unchanged.

What will the project report analyze?

The decomposed trend and seasonal components (what the model learned about daily/weekly/yearly rhythms), the changepoint tuning comparison, the backtest error metrics with the actual-vs-predicted overlay, and the peak-demand findings.

Suitable for B.E./B.Tech final-year projects in Computer Science, AI/ML and Data Science.

Components & software requirements
  • Python 3.10, Prophet (additive forecasting: trend, seasonality, holidays)
  • pandas, NumPy (resampling and series wrangling)
  • Matplotlib, Seaborn (forecast bands, decomposition, backtest plots)
  • scikit-learn (MAPE/RMSE/MAE metrics)
  • Jupyter notebook (buyer-run training and evaluation)
  • Streamlit demo app (forecast dashboard, decomposition viewer, backtest panel)
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Blueprint-style technical illustration of multiple decision trees voting together into one final predictionStudents with basic Python and pandas skills who want a reliable first classifier for ML coursework and tabular data projects.

Random Forests Explained: Why Decision Trees Vote Better Together

Decision trees are readable but overfit; random forests fix this by training hundreds of varied trees on bootstrapped data with random feature subsets, then letting them vote. This guide explains Gini impurity, bagging, out-of-bag validation and the four hyperparameters that matter, with a complete scikit-learn workflow, honest feature-importance practices, and the mistakes students keep making.

Read guide
Illustration of object tracking showing video frames with bounding boxes and persistent ID labels following people and vehicles, comparing motion prediction and appearance matching.B.E./B.Tech Computer Science and Electronics students building video analytics projects — people counting, vehicle tracking, sports analysis — who have detection working and need

Object Tracking: DeepSORT and ByteTrack Explained

Detection finds objects per frame; tracking keeps their identities across frames. This guide explains tracking-by-detection, Kalman motion models, DeepSORT's appearance embeddings vs ByteTrack's low-confidence box recovery, tracking metrics (HOTA, IDF1, ID switches), and the tuning parameters that determine real-world quality.

Read guide
Illustration of image segmentation showing U-Net's U-shaped encoder-decoder with skip connections producing pixel masks, alongside Mask R-CNN detecting instances with masks.B.E./B.Tech Computer Science and AI/ML students moving from image classification or detection to pixel-level understanding — medical imaging, defect detection, autonomous driving

Image Segmentation: U-Net and Mask R-CNN

When projects need pixel-level answers, segmentation delivers. This guide explains semantic vs instance vs panoptic segmentation, U-Net's encoder-decoder with skip connections, Mask R-CNN's parallel mask head, Dice and IoU evaluation, paired augmentation, and how to choose the right architecture for your data and question.

Read guide
Get a quotation