Monthly Expense Tracking and Forecasting Using Regression Models and Interactive Visualization
Keywords:
Expense tracking, personal finance, financial forecasting, linear regression, random forest, support vector regression, mean absolute error, model selection, Streamlit, data visualisation.Abstract
Managing personal finances has become harder as living costs rise and spending spreads across more categories.
Most people track money in a notebook, a spreadsheet or a basic budgeting app, all of which record what has already
been spent but say nothing about what is coming. This paper describes a monthly expense tracking, analysis and
visualisation system that adds forecasting to the usual record-keeping. The system is built in Python with Streamlit
for the interface, Pandas for the data handling, Matplotlib for the charts and Scikit-learn for the models. A user enters
monthly income and expenses in five categories over a twelve-month window, and the system computes the monthly
total, the savings and the category-wise breakdown, and plots income against expenditure over time. For forecasting,
three regressors are fitted to each series independently: linear regression, a random forest and support vector
regression. Each is scored on a held-out tail of the series by mean absolute error, and the best-scoring model is used
for the forecast of the following month. On the twelve-month test series, linear regression produced a mean absolute
error of Rs. 2321 on income against Rs. 5095 for the random forest and Rs. 7784 for support vector regression, and
was selected automatically. The system then reports the predicted income, the predicted total expense, the expected
savings and a target income derived from the predicted expense, so the user is given a figure to plan against rather
than only a record of the past.










