This project is designed to analyze transactions and generate forecasts using machine learning models. It includes both a command-line interface and a graphical user interface (GUI).
.gitignore
forecasts.csv # Contains forecasted data
main.py # Main script to run the analysis
gui.py # Graphical user interface
transactions.csv # Contains transaction data
exports/ # Directory for exported results
forecast_comparison.png # Visualization of forecast comparisons
models/ # Directory for saved machine learning models
arima_model.pkl # ARIMA model
metadata.pkl # Metadata for models
ml_models.pkl # General ML models
prophet_model.pkl # Prophet model
To run this project, you need the following Python libraries:
- pandas
- numpy
- matplotlib
- scikit-learn
- statsmodels
- fbprophet (or
prophetfor newer versions) - PySide6 (for the GUI)
Install the dependencies using:
pip install -r requirements.txt- Place your transaction data in
transactions.csv. - Run the main script:
python main.py- The forecasts will be saved in
forecasts.csv, and visualizations will be exported to theexports/directory.
The project includes a user-friendly GUI that provides:
- Dashboard with financial summary and charts
- Transaction management
- Forecast generation and visualization
- Data analysis tools
To launch the GUI:
python gui.pyThe project uses the following models for forecasting:
- ARIMA: Stored in
models/arima_model.pkl - Prophet: Stored in
models/prophet_model.pkl - Other ML Models: Stored in
models/ml_models.pkl
- Forecasts: Saved in
forecasts.csv. - Visualizations: Exported as images in the
exports/directory.
- Dashboard: View financial summary, quick actions, and charts
- Transactions: Add and manage income and expense transactions
- Forecasts: Generate AI-powered forecasts for different timeframes
- Analysis: Analyze income, expenses, and savings with visualizations
For complete details about the project, please refer to the Full Documentation.