{"id":32577778,"url":"https://github.com/adilshamim8/study_abroad","last_synced_at":"2026-07-07T05:31:01.989Z","repository":{"id":291792560,"uuid":"978804439","full_name":"AdilShamim8/Study_Abroad","owner":"AdilShamim8","description":"A comprehensive dataset and interactive notebook detailing tuition, living, visa, and insurance costs for global study programs—across countries, cities, and universities—to help prospective students compare and plan their abroad expenses. ","archived":false,"fork":false,"pushed_at":"2025-11-14T04:50:26.000Z","size":4392,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-14T05:34:26.286Z","etag":null,"topics":["data-analysis","data-visualization","eda","education","educational","study","study-guide","study-project","studying"],"latest_commit_sha":null,"homepage":"https://study-abroad.streamlit.app/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdilShamim8.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-06T14:31:31.000Z","updated_at":"2025-11-14T04:50:29.000Z","dependencies_parsed_at":"2025-05-06T15:50:13.121Z","dependency_job_id":null,"html_url":"https://github.com/AdilShamim8/Study_Abroad","commit_stats":null,"previous_names":["adilshamim8/study_abroad"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AdilShamim8/Study_Abroad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdilShamim8%2FStudy_Abroad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdilShamim8%2FStudy_Abroad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdilShamim8%2FStudy_Abroad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdilShamim8%2FStudy_Abroad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdilShamim8","download_url":"https://codeload.github.com/AdilShamim8/Study_Abroad/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdilShamim8%2FStudy_Abroad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35216572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-07T02:00:07.222Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-analysis","data-visualization","eda","education","educational","study","study-guide","study-project","studying"],"created_at":"2025-10-29T14:16:28.422Z","updated_at":"2026-07-07T05:31:01.963Z","avatar_url":"https://github.com/AdilShamim8.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Study Abroad Cost Explorer 🎓\n\nA comprehensive analysis toolkit and interactive web application for exploring the **Cost of International Education** across major study-abroad destinations worldwide.\n\n\u003e streamlit website: https://study-abroad.streamlit.app/\n\u003e \n##  Features\n\n###  Interactive Streamlit Web Application\n- **Data Exploration Dashboard**: Interactive filters, visualizations, and statistics\n- **ML-Powered Cost Prediction**: AI model predicting annual study costs\n- **User-Friendly Interface**: Intuitive controls with preset buttons and helpful tooltips\n- **Real-time Analysis**: Dynamic charts and cost breakdowns\n\n###  Jupyter Notebooks\n- **Cost Analysis Notebook**: Comprehensive EDA with visualizations\n- **Model Training Notebook**: Machine learning pipeline for cost prediction\n\n###  Dataset\n- **International_Education_Costs.csv**: Curated data on tuition, living expenses, visa fees, and more\n- **50+ countries** with detailed cost breakdowns\n\n---\n\n##  Quick Start\n\n### Option 1: Run the Streamlit Web App (Recommended)\n\n1. **Clone the repository**\n   ```powershell\n   git clone https://github.com/AdilShamim8/Study_Abroad.git\n   cd Study_Abroad-main\n   ```\n\n2. **Create virtual environment**\n   ```powershell\n   python -m venv venv\n   .\\venv\\Scripts\\Activate.ps1\n   ```\n\n3. **Install dependencies**\n   ```powershell\n   pip install -r requirements.txt\n   ```\n\n4. **Run the app**\n   ```powershell\n   streamlit run app.py\n   ```\n\n5. **Open in browser**\n   - Local: http://localhost:8501\n   - Network: http://192.168.0.101:8501\n\n### Option 2: Run Jupyter Notebooks\n\n```powershell\npip install jupyter pandas matplotlib seaborn\njupyter notebook\n```\n\nThen open:\n- `Cost-of-studying-abroad.ipynb` for exploratory analysis\n- `train_model.ipynb` for model training details\n\n---\n\n##  Dataset Overview\n\nThe dataset (`International_Education_Costs.csv`) includes:\n\n| Column | Description |\n|--------|-------------|\n| **Country** | Destination country |\n| **City** | Specific city location |\n| **University** | Institution name |\n| **Program** | Academic program/major |\n| **Level** | Degree level (Bachelor's, Master's, PhD) |\n| **Duration_Years** | Program length in years |\n| **Tuition_USD** | Annual tuition fee in USD |\n| **Living_Cost_Index** | Cost of living score (100 = baseline) |\n| **Rent_USD** | Average monthly rent in USD |\n| **Visa_Fee_USD** | Student visa application fee |\n| **Insurance_USD** | Annual health insurance cost |\n| **Exchange_Rate** | Local currency to USD rate |\n\n**Target Variable**: `Estimated_Annual_Cost` = Tuition + Living Costs + Rent×12 + Visa + Insurance\n\n---\n\n##  Web App Features\n\n### 1. Overview Section\n- Quick statistics: countries, universities, programs\n- Data quality metrics\n- Missing values analysis\n\n### 2. Data Exploration\n- **Interactive Filters**: Country, Level, Program, Duration\n- **Visualizations**:\n  - Tuition and living cost distributions\n  - Country-wise cost comparisons (Top 25)\n  - Living cost vs. rent scatter plot with trendline\n  - Global choropleth map of average costs\n- **Statistics**: Descriptive stats for filtered data\n\n### 3. Model Demonstration\n- **User-Friendly Inputs**:\n  -  Living Cost presets (Low/Medium/High)\n  -  Currency quick-select buttons (USD, EUR, GBP, CAD, AUD, INR)\n  - Visual indicators for cost levels\n  - Helpful tooltips and examples\n- **Predictions**:\n  - AI-powered annual cost estimation\n  - Cost breakdown with monthly estimates\n  - Model performance metrics (MAE, R²)\n- **Real-time Validation**: Input error checking\n\n### 4. About Section\n- Dataset documentation\n- Model architecture details\n- Feature explanations\n\n---\n\n##  Machine Learning Model\n\n### Model Details\n- **Algorithm**: Random Forest Regressor (best performer)\n- **Preprocessing**: \n  - One-Hot Encoding for categorical features\n  - Standard Scaling for numerical features\n- **Features Used**: Country, Level, Program, Duration_Years, Living_Cost_Index, Exchange_Rate\n- **Performance**: High R² score with low MAE\n\n### Model Pipeline\nThe trained model (`model.pkl`) includes:\n1. Preprocessing transformers (ColumnTransformer)\n2. Trained Random Forest Regressor\n3. Full end-to-end prediction pipeline\n\n---\n\n##  Technology Stack\n\n### Web Application\n- **Streamlit**: Interactive web framework\n- **Plotly**: Interactive visualizations\n- **Pandas \u0026 NumPy**: Data manipulation\n- **scikit-learn**: Machine learning\n\n### Analysis \u0026 Training\n- **Jupyter**: Interactive notebooks\n- **Matplotlib \u0026 Seaborn**: Static visualizations\n- **scipy \u0026 statsmodels**: Statistical analysis\n\n---\n\n##  Project Structure\n\n```\nStudy_Abroad-main/\n├── app.py                              # Main Streamlit application\n├── International_Education_Costs.csv   # Dataset\n├── model.pkl                           # Trained ML model\n├── requirements.txt                    # Python dependencies\n├── train_model.ipynb                   # Model training notebook\n├── Cost-of-studying-abroad.ipynb      # EDA notebook\n├── utils/\n│   └── data_model.py                  # Helper functions\n├── tests/\n│   └── test_app.py                    # Unit tests\n├── venv/                              # Virtual environment\n└── README.md                          # Documentation\n```\n\n---\n\n##  Testing\n\nRun tests to verify functionality:\n\n```powershell\n.\\venv\\Scripts\\Activate.ps1\npip install pytest\npytest -q\n```\n\nTests cover:\n- Data loading and cleaning\n- Model loading and prediction\n- Metrics computation\n\n---\n\n##  Usage Examples\n\n### Example 1: USA Master's Program\n- **Country**: USA\n- **Level**: Master\n- **Program**: Computer Science\n- **Duration**: 2 years\n- **Living Cost**: 100 (Moderate)\n- **Exchange Rate**: 1.0 (USD)\n\n### Example 2: UK Graduate Program\n- **Country**: United Kingdom\n- **Level**: Master\n- **Program**: Business Administration\n- **Duration**: 1 year\n- **Living Cost**: 140 (Expensive - London)\n- **Exchange Rate**: 0.79 (GBP)\n\n### Example 3: Germany Undergraduate\n- **Country**: Germany\n- **Level**: Bachelor\n- **Program**: Engineering\n- **Duration**: 3 years\n- **Living Cost**: 75 (Affordable - Berlin)\n- **Exchange Rate**: 0.92 (EUR)\n\n---\n\n##  Troubleshooting\n\n### scikit-learn Version Mismatch\nIf you see version warnings:\n```powershell\npip install --upgrade scikit-learn==1.6.1\n```\n\n### Port Already in Use\nIf port 8501 is busy:\n```powershell\nstreamlit run app.py --server.port 8502\n```\n\n### Module Import Errors\nEnsure virtual environment is activated:\n```powershell\n.\\venv\\Scripts\\Activate.ps1\npip install -r requirements.txt\n```\n\n---\n\n##  Key Insights from Analysis\n\n### Cost Patterns\n- **Tuition vs. Living Costs**: Inverse relationship in some regions\n- **Regional Variations**: Europe offers lower tuition, USA has higher costs\n- **Program Impact**: STEM programs generally cost more than humanities\n\n### Budget Planning\n- **Low Budget**: Germany, France, Norway (€800-1,200/month)\n- **Medium Budget**: Canada, Australia, Netherlands (€1,200-1,800/month)\n- **High Budget**: USA, UK, Switzerland (€1,800-3,000/month)\n\n### Hidden Costs\n- Visa fees range from $50-500\n- Health insurance: $500-3,000/year\n- Exchange rate fluctuations can impact budgets by 10-20%\n\n---\n\n##  Contributing\n\nContributions are welcome! Here's how:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit changes (`git commit -m 'Add AmazingFeature'`)\n4. Push to branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n### Ideas for Contribution\n- Add more countries/universities\n- Improve ML model accuracy\n- Add scholarship data integration\n- Implement cost comparison tools\n- Add currency conversion API\n\n---\n\n##  Acknowledgments\n\n- UNESCO \u0026 OECD for education statistics\n- Numbeo \u0026 Mercer for cost of living data\n- scikit-learn \u0026 Streamlit communities\n- All contributors and users\n\n---\n\n## License\n\nLicensed under the [License](License) file in the repository.\n\n---\n\n**⭐ Star this repo if you find it helpful!**\n\nLast Updated: November 2025\n\n---\n\nDeveloped by [Adil Shamim](https://adilshamim.me/)\n\n[![Kaggle](https://img.shields.io/badge/Kaggle-20BEFF?style=for-the-badge\u0026logo=kaggle\u0026logoColor=white)](https://www.kaggle.com/adilshamim8)\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/adilshamim8)\n[![Twitter](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white)](https://x.com/adil_shamim8)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadilshamim8%2Fstudy_abroad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadilshamim8%2Fstudy_abroad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadilshamim8%2Fstudy_abroad/lists"}