A comprehensive Python tool for projecting and visualizing revenue growth based on different customer acquisition scenarios, including various revenue streams and one-time fees.
- Multiple customer acquisition scenarios (1-6 customers per month)
- Detailed revenue breakdown by stream (Hosting, Premium, Web Dev Care, Analytics, SEO)
- Interactive visualizations with dual-axis charts
- Comprehensive Excel reports with auto-adjusted column widths
- Support for both recurring and one-time revenue streams
- Configurable probabilities for different service up-sells
- Python 3.7+
- pip (Python package manager)
-
Clone the repository:
git clone <repository-url> cd ExpectedRevenueCalculator
-
Install dependencies:
pip install -r requirements.txt
main.py
: Main script to run the revenue calculatorrevenue_calculator.py
: Core revenue calculation logicgenerate_charts.py
: Visualization and chart generationexcel.py
: Excel report generationhidden_costs.py
: Configuration for pricing, probabilities, and revenue streamsoutput/
: Directory containing generated charts and reports
Modify hidden_costs.py
to adjust:
- Base and premium hosting fees
- Setup fees
- Service probabilities and pricing
- Revenue stream configurations
Modify the scenarios
dictionary in main.py
to change the customer acquisition rates:
scenarios = {
"1 customer per month": 1,
"2 customers per month": 2,
"3 customers per month": 3,
"4 customers per month": 4,
"6 customers per month": 6
}
Run the calculator:
python main.py
output/
directory will contain:revenue_breakdown_*.png
: Individual revenue breakdown charts for each scenariorevenue_comparison.png
: Comparison of monthly revenue across all scenarioscumulative_revenue_projection.png
: Cumulative revenue projection by scenariocustomer_revenue_breakdown.xlsx
: Excel file with detailed revenue breakdown by scenario
Modify generate_charts.py
to adjust:
- Figure sizes and layouts
- Color schemes
- Line styles and markers
- Axis formatting and labels
- Legend position and styling
Update REVENUE_STREAMS
in hidden_costs.py
to add or modify revenue streams, including:
- Display names
- Colors
- Associated revenue calculations
- pandas: Data manipulation and Excel export
- matplotlib: Data visualization
- openpyxl: Excel file handling
- python-dotenv: Environment variable management
- numpy: Numerical operations
This project is for demonstration purposes. Please ensure you have the right to use and modify the code as needed for your specific use case.