New: 12 free tools for Unreal Engine and Unity developers.Try them →

How to Balance the Economy in a Shop Simulator Game

A practical guide to pricing, profit margins, customer demand, expenses and upgrade pacing for shop, supermarket and tycoon games, with real numbers.

The economy is the heart of every shop simulator. Stocking shelves and scanning items is satisfying for a few minutes; what keeps players going for hours is the feeling that their shop is growing. That feeling comes almost entirely from numbers: prices, costs, demand, expenses and upgrades.

Get them wrong and the game breaks in one of two ways. If money comes too easily, upgrades stop meaning anything and the game is over in an afternoon. If it comes too slowly, players quit before the fun starts. This guide gives you a simple, repeatable way to find the space in between.

1. Start from the core loop

Almost every shop and supermarket simulator runs on the same loop:

  1. Buy stock at a wholesale cost
  2. Sell it to customers at a retail price
  3. Pay daily expenses such as rent, wages and electricity
  4. Spend what is left on upgrades that increase income
  5. Repeat with a bigger, busier shop

Every number in your economy should serve this loop. Before tuning anything, write down what one in-game day looks like for a new player: how many customers arrive, how much they spend, what it costs to keep the doors open, and what the first upgrade costs. If you cannot describe day one in numbers, you cannot balance day thirty.

2. Profit per sale and margin

Two numbers matter first:

  • Profit per sale = sell price − unit cost
  • Margin = profit per sale ÷ sell price

A product that costs $2 and sells for $3.50 makes $1.50 profit, a margin of about 43%.

Real supermarkets often run on very thin margins, but games usually feel better with healthier margins of roughly 25–50%. The player needs to see their money move after every few customers. Thin margins can still work late in the game, where volume makes up for them, but not on day one.

Tip: give product categories different margin profiles. Cheap everyday items with low margins but high demand, and expensive items with high margins but few buyers, create interesting choices about what to stock.

3. Make demand react to price

If players can set their own prices, customers have to react, or the best strategy is simply to charge infinity.

A simple model that works well:

  • Every product has a fair price, the price customers consider normal.
  • At the fair price, each customer has a base chance to buy (for example 70%).
  • Above the fair price, that chance falls. Below it, the chance rises.
  • A price sensitivity value controls how quickly customers react.

This creates a real decision. A higher price earns more per sale, but fewer people buy. Somewhere in between is the price that earns the most per day, and finding it is part of the fun.

In code, an exponential curve is easy to tune:

buyChance = clamp(baseChance * exp(-sensitivity * (price / fairPrice - 1)), 0, 1)

With a sensitivity of 0, customers ignore prices. Around 2–3, they react noticeably. Above 5, even small markups empty the shop.

The free Shop Economy Calculator uses exactly this model. It tries every price and marks the one that earns the most, so you can see whether the "best" price feels fair to players.

4. Expenses give the numbers meaning

Without expenses, every sale is pure progress and nothing can go wrong. Daily costs such as rent, staff wages and electricity create tension and make good decisions matter.

A useful number to track is break-even customers per day: how many customers must come in before you cover daily expenses.

breakEven = dailyExpenses / (buyChance * itemsPerPurchase * profitPerItem)

On day one, the player should pass break-even comfortably, so they feel safe while learning. Later, new expenses (a bigger store, more staff) should push break-even up, so expanding feels like a calculated risk instead of a free win.

5. Pace upgrades in days, not dollars

The most important pacing number in a shop game is how many in-game days the next upgrade takes:

daysToUpgrade = upgradeCost / dailyProfit

A rough starting point:

StageDays per upgradeWhy
First hour1–2Quick wins teach the loop
Mid game3–5Players plan and choose what to buy first
Late game7+Big goals, but always something smaller to work towards

Upgrade costs usually grow faster than income, often by 1.3× to 2× per tier. If an upgrade suddenly takes three times longer than the one before it, players feel a wall. Add a new income source (a new product category, a second checkout, longer opening hours) just before it.

6. Add money sinks

Income tends to snowball. Once the player owns every upgrade, money stops meaning anything. Money sinks keep it valuable:

  • Cosmetic decorations and store themes
  • Repairs, cleaning and maintenance
  • Rising rent as the store grows
  • Licences to sell new product categories
  • Marketing that temporarily boosts customer numbers

Good sinks are optional or feel like investments, not taxes.

7. A worked example

Here is a day-one setup you can paste into the calculator:

SettingValue
Unit cost$2.00
Sell price$3.50
Fair price$4.00
Customers per day120
Items per purchase3
Buy chance at fair price70%
Price sensitivity2.5
Daily expenses$250
First upgrade$2,000

With these numbers the shop sells around 340 items a day, earns roughly $265 profit after expenses, and needs about 7.5 days for the first upgrade. That is far too slow for a first upgrade. Halving its price to $1,000, or lowering expenses for the first few days, brings it into the 3–4 day range, and a cheaper "starter" upgrade before it would get it to 1–2 days.

This is the kind of problem that is invisible in a design document and obvious in a calculator.

8. Test with real players

Spreadsheets and calculators get you close, but players always surprise you. When you play-test:

  • Note how many in-game days each upgrade actually takes.
  • Watch where players hesitate, and where they get bored.
  • Look for one dominant strategy (one product or price that beats everything) and nerf it.
  • Change one number at a time, and keep a log of what you changed.

Small changes in price sensitivity or daily expenses can change the feel of the whole game, so tune slowly.

Summary

  • Use margins of roughly 25–50% early on.
  • Make demand react to price with a fair price and a sensitivity value.
  • Use expenses to create tension and track break-even customers.
  • Pace upgrades in days, and add new income before the wall.
  • Add money sinks so money stays meaningful.
  • Use the Shop Economy Calculator to test ideas in seconds, then play-test.

Building a shop simulator in Unreal Engine? Follow the Shopping Simulator Kit, our plugin with these systems built in.

  • #economy
  • #simulator
  • #game design
  • #balancing

Keep reading