A comprehensive Streamlit web application that calculates the required annual GDP growth rate for India to reach its target GDP by a specified year, with detailed demographic and economic analysis.
This dashboard helps policymakers, economists, and researchers understand:
- The annual growth rate required for India to achieve its GDP targets
- Current vs. projected demographic trends
- Per capita GDP comparisons with other countries
- Population and dependency ratio analysis
- Calculates required annual growth rate using compound growth formula
- Compares with India's latest actual GDP growth rate
- Visual indicators (green/red) for performance comparison
- Current vs. projected per capita GDP calculations
- Population projections using UN growth rates
- Country comparisons showing which nations have similar per capita GDP to India's projected values
- Current Demographics: Population, median age, dependency ratio
- Population Categories: Young/Middle-aged/Aging population classification
- Dependency Levels: Low/Moderate/High dependency ratio interpretation
- Projected Demographics: Future population and median age projections
thirtybyfortyseven/
โโโ growth_counter_dashboard.py # Main Streamlit application
โโโ utils.py # Utility functions and API calls
โโโ requirements.txt # Python dependencies
โโโ gdp-per-capita-by-country-2025.csv # Country comparison data
โโโ README.md # This file
- Streamlit Interface: User-friendly web interface
- Input Validation: Ensures positive values and future target years
- Error Handling: Graceful handling of API failures and calculation errors
- Responsive Layout: Multi-column design for better data presentation
- API Integration: World Bank API for real-time economic and demographic data
- Data Processing: Population projections and demographic calculations
- Fallback Mechanisms: Reliable estimates when APIs are unavailable
- GDP Data:
NY.GDP.MKTP.CD- India's current GDP in USD - GDP Growth:
NY.GDP.MKTP.KD.ZG- Latest GDP growth rate - Population:
SP.POP.TOTL- India's total population - Dependency Ratio:
SP.POP.DPND- Population dependency ratio - Youth Population:
SP.POP.0014.TO.ZS- Population under 14 (proxy for median age)
- Country Comparisons: CSV file with GDP per capita data for 200+ countries
- Fallback Estimates: UN World Population Prospects data for median age
Growth Rate = 100 * (10^(log10(target_gdp / current_gdp) / years) - 1)
Uses UN growth rates:
- 2025: 1.0% annual growth
- 2030: 0.8% annual growth
- 2040: 0.5% annual growth
- Beyond: 0.3% annual growth
Converts population under 14% to median age:
Estimated Median Age = 28.5 + (25 - under_14_percentage) * 0.3
Per Capita GDP = Total GDP / Population
- Python 3.8+
- pip package manager
-
Clone or download the project
git clone <repository-url> cd thirtybyfortyseven
-
Create virtual environment (recommended)
python -m venv growth_dashboard_env source growth_dashboard_env/bin/activate # On Windows: growth_dashboard_env\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Run the application
streamlit run growth_counter_dashboard.py
-
Access the dashboard
- Open your browser and go to
http://localhost:8501 - The dashboard will automatically open in your default browser
- Open your browser and go to
streamlit- Web application frameworkpandas- Data manipulation and analysisrequests- HTTP library for API calls
- Enter Current GDP: Use the default value or input India's current GDP in billion USD
- Set Target GDP: Specify the desired GDP target in billion USD
- Choose Target Year: Select the year by which you want to achieve the target
- View Results: The dashboard will display:
- Required annual growth rate
- Comparison with current growth rate
- Per capita GDP analysis
- Demographic projections
- Green Indicators: Current performance meets or exceeds required growth
- Red Indicators: Current performance below required growth
- Population Categories:
- Young Population: < 30 years median age
- Middle-aged: 30-40 years median age
- Aging Population: > 40 years median age
- Dependency Levels:
- Low: < 50% dependency ratio
- Moderate: 50-70% dependency ratio
- High: > 70% dependency ratio
- Interactive charts and visualizations
- Historical trend analysis
- Regional comparisons within India
- Sector-wise GDP analysis
- Export functionality for reports
- Mobile-responsive design improvements
- Real-time median age data from World Bank
- More granular demographic projections
- Additional economic indicators
- International comparison enhancements
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- Follow PEP 8 style guidelines
- Add docstrings for new functions
- Include error handling
- Test API integrations
This project is open source and available under the MIT License.
For questions, issues, or contributions:
- Create an issue in the repository
- Contact the development team
- Check the documentation for common solutions
- World Bank API Documentation
- UN World Population Prospects
- Streamlit Documentation
- Pandas Documentation
Note: This dashboard is designed for educational and research purposes. For official economic analysis, please consult with professional economists and use official government data sources.