an intuitive and powerful tool designed to assist in optimizing and recommending budget allocations based on key metrics such as efficiency, influence, and network centrality. Developed with Streamlit, this app provides interactive analysis, detailed visualizations, and actionable insights to support data-driven decision-making.
- Dynamic Budget Recommendations: Leverages advanced optimization techniques to recommend budget adjustments while maintaining total budget consistency.
- Interactive Adjustments: Users can fine-tune recommendations directly in the app and see updated suggestions in real-time.
- Data Cleaning & Validation: Ensures accurate and reliable processing of input data with robust error handling.
- Visualization Tools: Provides comprehensive visual insights into budget changes, including:
- Bar charts for budget comparisons.
- Pie charts for budget distribution.
- Percentage change visualizations.
- Detailed Explanations: Generates insights into why adjustments are recommended, linking them to key metrics such as PageRank, efficiency ratio, and degree centrality.
- Python: Core logic and data processing.
- Streamlit: Interactive web app framework.
- Pandas & NumPy: Data manipulation and numerical computations.
- SciPy: Optimization routines for budget allocation.
- Plotly: Advanced visualization for interactive and high-quality charts.
- Clone this repository:
git clone https://github.com/your-username/budget-recommendation-app.git
- Navigate to the project directory:
cd budget-recommendation-app
- Install the required dependencies:
pip install -r requirements.txt
- Run the app:
streamlit run app.py
- Upload the Analysis CSV containing key metrics for each budgetary unit (e.g.,
pagerank
,efficiency_ratio
, etc.). - Upload the Original Budget CSV detailing current budget allocations.
- View initial recommendations, fine-tune budgets interactively, and analyze updated recommendations with comprehensive visualizations.
- Export the results for further analysis or reporting.
- Must include the following columns:
name
: Identifier for budgetary units.pagerank
,efficiency_ratio
,degree_centrality
,influence_efficiency
: Metrics for analysis.
- Must include the following columns:
BUDGETARY_UNIT
: Matching identifier for budgetary units.AMOUNT
: Original budget allocation.
- Upload Files: Provide the analysis and budget data files in
.csv
format. - View Recommendations: Explore suggested adjustments and their justifications.
- Adjust & Update: Make manual adjustments to the budgets and visualize the impact.
- Download Results: Export the recommendations for presentation or implementation.
Contributions are welcome! If you find issues or have feature requests, feel free to open an issue or submit a pull request.