Building a Travel Insurance Dashboard with Power BI
Similar to the GenAI chatbot in my other post, this dashboard idea stemmed from my frustrating experience of searching for the right travel insurance before our epic Asia trip. I asked myself:
How can we help travelers make better decisions about health risks and insurance needs when visiting foreign countries?
The result is an interactive Power BI dashboard. It combines synthetic healthcare and insurance data into a clean, intuitive tool that travelers (and insurers) could realistically use to make smarter decisions more efficiently.
✈️ The Problem
International travelers often face similar questions like:
- How expensive is healthcare in my destination country?
- What quality of care can I expect in an emergency?
- Are there major health risks like dengue or malaria?
- What kind of plan fits my budget and risk tolerance?
These answers are hard to find, and even harder to compare across countries. That’s the gap this dashboard aims to fill.
🔧 The Solution
To build a fully flexible and safe-to-share prototype, I wrote a Python script to generate synthetic data simulating real-world healthcare costs, risk scores, and insurance premiums across major countries in East and Southeast Asia. This data follows a star schema, making it easy to model in Power BI. From there, I developed a dashboard with three key features:
🆚 Side-by-Side Country Comparison
Users can select two countries and compare:
- Average doctor visit and hospital stay costs
- Healthcare system capacity (beds and doctors per 1,000 people)
- Emergency care quality index
- Normalized health risk score (based on dengue, malaria and covid risks)
- Typical insurance plan monthly cost
Below is a screenshot of this country comparison page. ✅/⚠️/❌ icons make risk levels instantly readable. I also wrote a step-by-step guide on how to create this visual in Power BI.

💰 Dynamic Insurance Cost Estimator
Using a What-If parameter, users adjust their risk tolerance from risk-seeking to risk-averse. The dashboard then dynamically recalculates estimated plan cost based on selected risk tolerance level and indicates whether evacuation coverage is included. I wrote a step-by-step guide on how to create this visual in Power BI.
Below are a few screenshots of the estimator. Cost estimate rises as lower risk tolerance level is selected. This gives a realistic feel for how pricing shifts based on preferences — a useful simulation for both travelers and underwriters.



📐 Scalable Star Schema Design
The backend follows a clean, scalable star schema:
dim_region
dim_country
dim_risk
dim_coverage
fact
– Contains all key metrics
This structure enables fast filtering and clear relationships. Also, the Python generator ensures data is consistent and reproducible, which is ideal for prototyping analytical tools and dashboards in any domain.
🔗 Try It Yourself
Check out the full project on my GitHub. You’ll find:
- the Power BI report (.pbix)
- the synthetic dataset
- Python script used to generate the data
- screenshots of the dashboard in action