Money is an important part of your job as the mayor of your city. You need money to build new buildings and infrastructures. Also some of them have a monthly upcost.

Press F6 to open the budget panel on click on the top bar button (See User Interface)

Taxes - Budgets = Balance

As you’ll understand, the taxes is the money you will get from your citizens and the budget is what you spend for them.

Residential taxes can be set between 0 and 20%. This percentage rent price for each citizen.

Commercial and Industrial taxes can be set between 0 and 20%. This will lower the net salary of your citizens working in commercial or industrial buildings.

<aside> ⚠️ Be mindful! More taxes will lower the income of your citizens and/or increase their rent price. In the end, if a citizen ends up paying more than what they earn, they won’t be happy and may leave your city!

</aside>

A very well balanced budget where a reasonable 7% tax makes it up to cover the upcost of the city.

A very well balanced budget where a reasonable 7% tax makes it up to cover the upcost of the city.

Why spending on City Budgets?

budget_wages.gif

You’ll find some of the budgets can be set by a slider, adjusting the wages subsidy from 0 to 100%.

In the given exemple, changing the city budget of the Police department will affect the salaries of the citizens working in such public services.

Therefore these citizens will have higher salaries and will be able to live in the expensive apartments of your cities, the ones where everyone is happy.

There is a mimimum wage given that cannot be changed by the mayor. Consider this as a national rule.

Global Domestic Product (GDP)

The city’s GDP is calculated on a regular basis for the Mayor to evaluate the enonomic performance of their city. This indicator can be found in the top right corner of the screen.

<aside> 🏆 The GDP is the metric used for the online leaderboards. There is one leaderboard per map size.

</aside>

These parameters will affect the calculation of the GDP:

Pseudo-code algorithm:

var GDP = 0;
foreach(job in cityActiveJobs)
{
  var skillset_pct = job.employee.skillset / job.requiredskillset
  skillset_pct = min_max(skillset_pct , 0.5, 2) // limit the percentage to not go beyond 50% or 200%

  var jobscore = skillset_pct 
               * job.employee.level 
               * job.level

  GDP += jobscore
}