How we calculate
The game’s operators do not publish its formulas, and there is no official API documentation. Rather than present inferred mechanics as fact, everything we rely on is listed here with how confident we are in it — and every calculation in the product carries the same information alongside its result.
The core production formula
Documented for transparency; production calculators are not exposed in the v0.1 Public Beta.
unitsPerHour = baseUnitsPerHour x buildingLevel x (1 + productionBonus) x abundance hourlyWages = wagesPerHourPerLevel x buildingLevel x (robots ? robotMultiplier : 1) labourPerUnit = hourlyWages / unitsPerHour x (1 + adminOverhead) inputCostPerUnit = sum(inputAmount x inputUnitPrice) transportPerUnit = transportUnits x transportUnitCost x (contract ? contractShare : 1) netRevenuePerUnit = salePrice x (exchange ? 1 - exchangeFee : 1) profitPerUnit = netRevenuePerUnit - inputCostPerUnit - labourPerUnit - transportPerUnit profitPerHour = profitPerUnit x unitsPerHour breakEvenPrice = totalCostPerUnit / (exchange ? 1 - exchangeFee : 1)
Building level cancels out of profit per unit — it scales output and wages equally — but not out of profit per hour, which is why both are always reported.
Constants, and how much to trust them
- exchange seller fee: 0.03Community consensus
Community guides and multiple open-source Sim Companies calculators independently apply a 3% seller-side Exchange fee (price * 0.97).
Verify against a real sale before relying on this for large decisions. Contract sales are modelled with no fee.
- robot wage multiplier: 0.97Unconfirmed
Several open-source community calculators multiply wages by 0.97 when robots are enabled.
Single-mechanism, low-confidence. Treated as an optional, clearly-labelled toggle and defaults to OFF.
- contract transport share: 0.5Unconfirmed
Community calculators halve transport cost on contract sales, implying the counterparty covers the other half.
Depends on how a contract is negotiated in-game. Exposed as an adjustable input rather than a fixed rule.
- quality min: 0Official
Exchange listings observed with quality starting at 0.
- quality max typical: 12Community consensus
Community tooling treats quality as a small non-negative integer; 12 is the highest routinely observed for tradable goods.
Not a hard game cap. The application derives the real maximum from live listings and only uses this as a UI default.
What we deliberately do not model
Retail demand. How a store’s sale rate responds to price, quality and local demand is not published anywhere we could verify. Simconomist therefore does not expose its retail calculator in the v0.1 Public Beta rather than presenting an incomplete model as reliable.
Order-book depth in headline prices. The whole-market ticker supplies a headline price but does not expose quantity, listing count, quality breakdown, median price or weighted average price, and we do not assume that headline value has order-book semantics the endpoint does not document. Deeper order-book observations are collected separately and may be older than the headline price.
Future prices. Nothing here forecasts. Every projection is arithmetic on prices observed at a stated moment, and prices move.
How prices and history are gathered
A single background collector reads the whole-market ticker on a schedule for headline prices. Separate product-specific order-book checks rotate more slowly because each requires its own upstream request. Simconomist builds its historical series from the observations it records, so a series starts when our collection did and we never fabricate earlier history.
Percentage changes compare the latest observation against the one closest to the requested age, and only when an observation exists near enough to that point. When it does not, the figure is a dash rather than a number we cannot stand behind.
Current freshness is on the data status page.
Found something wrong?
If a figure here disagrees with what you see in-game, the discrepancy is worth more to us than the calculator is. Our confidence ratings are honest about which mechanics we have inferred rather than confirmed, and corrections from players are how those get better.