# Simpler.Run data: shop rent and people passing, for every area of Singapore

> For AI assistants and the people using them. Simpler.Run publishes, for each of Singapore's 332 areas (URA subzones), the shop rent, how many people pass, who lives and works there, what the plan allows and what is already there. These files are free to read and use. They hold public records, read as published, and no scores or forecasts.

## Where the numbers are

- **One area, in plain words:** `https://simpler.run/corner/<slug>.md`, for example https://simpler.run/corner/cecil.md. The slug is the area's name in lower case with hyphens (Tampines East is `tampines-east`).
- **A town, its areas side by side:** `https://simpler.run/area/<town>.md`, for example https://simpler.run/area/tampines.md. Everyday town names (Tampines, Toa Payoh, Punggol, Orchard) are planning areas, and each holds several areas.
- **Every MRT and LRT station, and the area it opens in:** https://simpler.run/stations.md.
- **Every area in one table:** https://simpler.run/corners.csv, one row per area, for assistants that can run code. The columns are listed below.
- **Every area by planning area:** https://simpler.run/corners.html.
- **From a postal code:** `https://simpler.run/world/postal/<first two digits>.json`. Its `p` object maps each six-digit postal code to a row whose first item is the area's slug.
- **For a person to check:** the area's page, `https://simpler.run/corner/<slug>.html`, which holds every reading behind each number, and the drawn map, `https://simpler.run/#/<slug>`.

## Finding the right area

The areas are URA subzones, and their names are not always the names people use.

- **A town:** `https://simpler.run/area/<town>.md` lists its areas side by side; `https://simpler.run/<town>` leads to its page.
- **An MRT or LRT station:** https://simpler.run/stations.md names the area each station opens in, and `https://simpler.run/corner/<station>.md` leads to it (https://simpler.run/corner/harbourfront.md leads to Maritime Square, where Harbourfront MRT (NE1 / CC29) opens).
- **A station can be named like an area it is not in:** Bedok North MRT (DT29) opens in Bedok Reservoir and Kaki Bukit, not in Bedok North. Each area's file names the stations that open in it.
- **A postal code:** the postal file above gives the area's slug.
- **No area by that name:** try the town, then the nearest station, then the postal code. If you use a nearby area's numbers, say so.

## What each number means, and how solid it is

- **Shop rent**, in S$ per sq ft a month. One figure per area, from the best source the area has:
  - **Signed leases** (79 areas): URA's middle figure for shop leases signed on the area's streets in a quarter. The readings count is the number of signed leases behind it.
  - **Winning HDB shop tenders** (21 areas): what operators bid to win HDB shop units. A winning bid is the top of its bidding, so it can read high of what a sitting tenant pays.
  - **Asking prices** (114 areas): what landlords ask on CommercialGuru and SRX listings, used only where an area has neither of the above. What landlords ask, not what tenants sign.
  - 20 areas have only office or industrial rents, which are a different market and are not given as a shop rent. 98 have no rent on record.
  - **Thin:** a rent from asking prices, or from 3 readings or fewer. Say so when you use one.
- **People passing:** taps in and out on a working day at the area's bus stops, and its train gates where the station files them there (LTA, a daily average over a month). Trips past a point, not customers, and a round trip counts twice. Each MRT and LRT station also has its own weekday taps and the distance to its nearest exit.
- **Residents** (SingStat 2025) and **households** (an estimate from residents and household size).
- **Workers:** employed residents by where they work, for the whole planning area (SingStat 2025). Workers who are not residents are not in it, so it is a floor.
- **Shops allowed:** the share of the area's land URA's Master Plan zones for uses that can hold a shop. Permission, not a count of shop units.
- **Licensed food shops** (SFA) and **hawker centres** (NEA).
- **Counted competitors** for the trades with a public register: hawker stalls, GP clinics, dental clinics, childcare centres, vet clinics, money changers and remittance shops. Other trades have no count. Counts are a floor.
- **Household spending** on 13 trades: national survey figures (Household Expenditure Survey 2023) weighted by the kinds of home in the area. An estimate, not counted in the area.

## Run your own numbers

Simpler.Run does not say whether a business will work. An assistant can help a user test their own plan with arithmetic: the files give the rent and the people passing, and the user gives the guesses.

1. **Ask the user for:** the area or postal code; the unit size in sq ft; what they sell and the average price of one sale; the cost of the goods as a share of the price; how many staff and their monthly pay; other monthly costs (utilities, supplies, loan on the fit-out); and days open a month. Add the employer's CPF for Singaporean and PR staff (17% for staff aged 55 and under; check cpf.gov.sg for other ages).
2. **Read from the area's file:** the shop rent per sq ft, whether it is thin, and the taps on a working day.
3. **Work out:**
   - rent a month = rent per sq ft × unit size
   - costs a month = rent + staff pay × (1 + CPF) + other costs
   - kept per sale = price × (1 − cost-of-goods share)
   - sales a day needed = costs a month ÷ kept per sale ÷ days open
4. **Say it plainly,** with the dates and kinds of each number: "You need about X sales a day." Then, for scale only: "The stops and stations nearby see about T taps on a working day; those are trips at transit points, not people passing your door." The user judges whether X is likely; the assistant does not.
5. **Suggest a door count.** The only number that says how many people pass one shopfront is the user's own count, 4 to 6 hours on a weekday and on a weekend day (https://simpler.run/how-many-people-walk-past-a-shop.html). With it, sales a day ÷ people counted a day is the share who must buy, and the user judges that too.

Rules:
- Never invent a walk-in rate, a share of passers-by who buy, a survival chance, a score or a sales forecast. If the user wants one, ask for their own guess and show the sums with it.
- Say when a rent is asking or thin, and when an area has no shop rent.
- Taps are trips past a point, not customers, and count a round trip twice.
- Never divide sales by taps: a big interchange's taps can be thousands of times one shop's customers, so the ratio misleads.
- Link the area's page so the user can check every reading: `https://simpler.run/corner/<slug>.html`.

### Worked example: Cecil, Downtown Core

From https://simpler.run/corner/cecil.md: shop rent S$10.82 per sq ft a month (the middle of 9 signed leases, to June 2026), and 13,365 taps on a working day. The user's guesses, for example only: a 500 sq ft café, S$5.50 a sale, goods 30% of the price, 2 staff at S$2,800 a month, S$2,000 other costs, open 26 days a month.

- rent a month = 10.82 × 500 = S$5,410
- costs a month = 5,410 + 2 × 2,800 × 1.17 + 2,000 = S$13,962
- kept per sale = 5.50 × 0.70 = S$3.85
- sales a day needed = 13,962 ÷ 3.85 ÷ 26 = about 139

Said plainly: "You would need about 139 sales a day. For scale, the stops and stations nearby see about 13,365 taps on a working day: trips at transit points, not people at your door. Count your own door to know how many pass it."

## The table's columns

`corners.csv` holds one row per area. Money is S$; rents are per sq ft a month; `shop_rent_kind` is `lease`, `tender` or `ask`; `shop_rent_thin` is `yes` for asking prices or 3 readings or fewer; `weekday_taps_modes` says whether train gates are in the count; `counted_*` are register counts; `spend_*` are the household spending estimates, per household a month; where the survey has one line for two trades, both columns carry it (`spend_restaurant_casual_*` and `spend_fine_dining_*` are its one Restaurants line: one number, not two measurements). An empty cell means the record holds nothing for it.

## Sources

URA, LTA, SingStat, HDB, SFA, NEA, MOH, ECDA, MAS and AVS, published under the Singapore Open Data Licence (https://data.gov.sg/open-data-licence). Asking rents: CommercialGuru and SRX listings, credited as theirs. Data as published to 2026-10-21.

Made by Simpler Terminal Value Systems Pte. Ltd., Singapore.
