Every number on a city page is one of three kinds. Collected: read for that city from listings, apps or official tables. Estimated: derived from the nearest surveyed city. Assumed: a placeholder that stays labelled until it is collected.
Rent is quoted per unit type, not per square metre, because a teacher rents a room or a flat, not 45 ㎡. For a collected city we read the number of listings in each price band on 贝壳 (Beike) for three unit types: a room in a shared flat, a whole 1-bedroom, a whole 2-bedroom. Quartiles are interpolated inside the band that holds the 25th, 50th and 75th percentile listing. Band edges are inclusive on both sides, so a listing at exactly ¥2,000 is counted in two bands; the error this adds is within ±¥100.
For a city not yet collected, the CREIS 50-city per-㎡ rent index (or the nearest indexed city within 400 km) is multiplied by the Nanjing ratios: shared room 29.2×, 1-bedroom 52.0×, 2-bedroom 63.7× the per-㎡ median. These pages are labelled ESTIMATED and are replaced as the collection reaches each city.
A monthly basket for one person cooking every meal at home: 8 kg rice, 2 kg flour, 3 kg pork, 2 kg chicken, 2 kg eggs, 2 kg fish, 15 kg vegetables, 1 L oil, 4 kg fruit. Prices come from the city's own official retail bulletin where one exists (Beijing, Shanghai, Guangzhou, Shenzhen, Chongqing), from the nearest such city within 300 km, or from the Ministry of Commerce 36-city weekly average. The budget scales the basket down by the share of meals eaten out.
These are collected city by city from 美团, 大众点评, 高德, 乐刻 and 网上国网 through their normal app interfaces: median price per head of the 30 most popular venues per category, night-market and street-food venues with chains excluded, the share of late-night venues open past 01:00, the fare for one fixed trip from the main railway station to the city hall, a monthly gym membership, and the residential electricity tariff. Until a city is collected the budget uses assumed prices (meal out ¥35, coffee ¥30, night out ¥120, transport ¥240, gym ¥199, utilities ¥260 per month) and says so.
ERA5 reanalysis (ECMWF, via Open-Meteo archive, CC BY 4.0) for 2023–2025 at 19:00 local time. An evening counts as good for outdoor sport when it is between 5 and 30 °C, has under 0.5 mm of rain and wind under 25 km/h. The monthly share is shown on each city page.
Postings on youteacher.org for the city, the median of the salary ranges they state, and how many mention housing. Cities with fewer than two postings do not get a salary figure.