Inspiration

After analyzing the convoluted German income tax brackets for an economics extracurricular on fiscal policy in Germany, we realized how inherently unintuitive the current income tax system is for the average citizen. In a bid to make understanding income taxes more accessible to the general public, we built a function that could take in a marginal income tax bracket and output a more intuitive average tax rate. This is especially relevant when considering the changing income brackets as a result of the economic downturn precipitated by COVID-19, something that many citizens hear on the news but may not understand the consequences of such changes on both the macroeconomy and for their own bottom-line. This educational simulation of Income Taxes hopes to achieve such a goal to improve the financial literacy of the average citizen.

What it does

The simulation is split between four different sections. The first takes in a country and an income from a user and simply returns the average tax rate, while the second and third show the differences between income tax rates through comparing the average tax function and the impact different income taxes have on the marginal dollar earned at different incomes. The final part lists a series of scenarios, where examples of tax bracket changes and their subsequent impact of the user's income allow the users to understand how real-world decisions by governments impact their income taxes.

How I built it

We first planned our project by creating the general structure of the code, along with several base mathematical functions related to income taxes. We then created the average tax rate function through a series of integrals and expanded our general function to be able to include the unique tax brackets of several different countries and used matplotlib to graph the function. Using the average tax function, we graphed a derived function on Tkinter that focused on diminishing marginal returns.

Challenges I ran into

This hackathon was our first time learning and using Tkinter, a GUI toolkit in Python. It was especially difficult since the unique syntax and structure of Tkinter made it difficult when we ran into issues. One of the most difficult challenges was finding a model that was able to compare the impact of different tax structures on the incentive to work, along with the development of the average tax rate function.

Accomplishments that I'm proud of

With this being one of our first hackathons, we were extremely glad that we were able to finish and our code functioned. While the topic that we approach would appear rather bland to most, we tried to make it as interactive and simple as possible, as we believe that this simplicity will help users gain a better understanding of income taxes.

What I learned

We learned the Tkinter GUI toolkit for Python in less than 24 hours, along with how to integrate graphs and functions from the matplotlib library into the GUI. We also learned how to effectively integrate matplotlib with Tkinter along with using Python Imaging Library.

What's next for An Educational Simulation of Income Taxes

We hope to expand our project to include the income tax brackets of more nations, alongside possibly building a data-driven analysis on related concepts such as the Laffer curve.

Built With

Share this project:

Updates