Inspiration

As a game developer, I was really interested in building a 3D project using game development libraries for economic analysis. Wondering about something unique I could do compared to other visualizations, I came up with the idea of analyzing similarity of different countries, especially using models. I also wanted to take visualizations to the next step by making it as interactive as possible as well as keeping the project engaging for learners and useful for economists.

What it does

EcoSphere provides an interface to view economic trajectories of different countries from World Bank's country GDP data on a 3D globe with color coding based on GDP values, similarity scores, and cluster IDs. The user can also modify the time period of analysis and turn on log-scaling to better see value differences.

The user can find countries with similar economic growth rates and split countries into clusters with similar growth rates. In short, EcoSphere serves as a valuable tool for economists to explore market dynamics between countries.

How we built it

EcoSphere was built using Ursina Engine as the 3D visualization framework. The similarities were calculated by taking the dot product of the normalized GDP growth rates. If more than one country is selected for comparison, the average similarity with respect to all selected countries is taken to be the similarity score. To split countries into clusters based on their economic trends, SciPy's K-Means Clustering model is fit onto the data.

Challenges we ran into

I had a lot of initial trouble building the orbital camera. Since rotation occurs based on local axes, rotations can result in gimbal lock. Instead, I decided to orbit the camera around the globe. I also had initial trouble projecting the map onto the globe using small sphere points, which was too intensive. Instead, I relied on creating a mesh to wrap around the globe.

Accomplishments that we're proud of

Despite doubts about how the project would turn out, I am proud of how the countries on the globe themselves look and how simple the tool is to use. I am also proud of the fact that I was able to see patterns myself within countries of the same clusters and learn things by looking at the data.

What we learned

I learned how to work with Ursina Engine for building, and after working on this project, I find the API straightforward to use. By looking at the data from EcoSphere, I was able to see connections between different countries' GDPs over the years, for example, countries close in proximity.

What's next for EcoSphere

I plan to add more visualization features for analyzing patterns such as finding the top similarity matches between countries and showing counterfactual scenarios through forecasting.

Built With

Share this project:

Updates