LAMBENCY
DeepCaffein · Public Data Series · 08 · Districts

A friend said he'd open a café.
I opened every number Seoul publishes about coffee Districts · 384 Seoul neighbourhoods × coffee × 8 quarters of estimated sales and transactions · public-data analysis

Caff · September 2026
Data used — the Seoul Open Data Plaza commercial-district service: estimated sales and transaction counts by neighbourhood × industry × quarter (8 quarters, 134,628 rows), store and churn counts (4 quarters, 141,250 rows), borough-level weekday/weekend and sex splits. Zero internal data.

A friend of mine wants to open a café. He has worked a long time, he loves coffee, and he figures he could "start small." Everyone knows someone like this. Instead of talking him into it or out of it, I opened the data that can actually answer him. Seoul publishes estimated sales and transaction counts by neighbourhood, industry and quarter. Coffee alone gives you 384 neighbourhoods over eight quarters. His question splits into three — should I do it at all; if so, where; and in what form, at what size.

I expected to build a list of rising neighbourhoods. What caught my eye first was the citywide number. In two years, Seoul's coffee sales fell 11.9%. The city's commercial sales as a whole fell 0.8% over the same period — coffee fell fifteen times faster than the market.

Stopping there gives you "it's a downturn, don't" — which is not an answer. The same file carries transaction counts. The moment you split sales into transactions and ticket size, this data stops being a spectacle and becomes a tool that answers all three questions. That is the order of this essay — split what fell, count what remains, and close with the answer I actually gave him.

01Coffee really did shrink

I compared Q2 2024 against Q1 2026.

CoffeeAll Seoul commerce
2-year sales change−11.9%−0.8%
Median by neighbourhood−14.0%−4.3%
Neighbourhoods that fell306 / 384 (80%)280 / 420 (67%)

Four neighbourhoods in five sold less coffee. But the spread inside is enormous: Doksan-3 is +161%, Geoyeo-2 is −72% — a gap of 233 points.

RisingFalling
Doksan-3+161%Geoyeo-2−72%
Wolgye-3+126%Ichon-1−68%
Sangbong-1+109%Hang-dong−68%
Jangchung+93%Ahyeon−63%
Donghwa+81%Gayang-2−61%

"The market shrank" and "my spot shrank" are different sentences. Coffee fell — and one neighbourhood in five still grew.

02Why it fell — not because prices were cut

When sales fall, two stories come to mind: prices were cut, or people stopped coming. Split it and you get this.

Q2 2024Q1 2026Change
Sales₩782.4bn₩689.3bn−11.9%
Transactions103.56M84.29M−18.6%
Ticket size₩7,555₩8,177+8.2%
0% -18.6% Transactions +8.2% Ticket size -11.9% Sales Sales = transactions × ticket The fall is footfall, not discounting. The price rise absorbed about half of it.

Figure 1 · Decomposing two years of Seoul coffee sales. Transactions pull down; ticket size pushes back half

In two years, 19.27 million coffee payments disappeared. Prices went the other way — up 8.2% — and that rise papered over about half of the fall.

The decline is footfall, not discounting. And shops are surviving by raising prices. What reads as −11.9% in the sales column is −18.6% in actual customers. This is where the ledger and the gut disagree — an owner watches customers thin out every day while the sales report shows only half of it.

To check whether this is coffee's own problem, I ran the same split on all 62 industries. Seoul's offline payment count itself fell from 0.97 billion to 0.86 billion in two years — −11.0%. Counts fell in 50 of 62 industries. Coffee (−18.6%, rank 41) sits mid-stream, and convenience stores (−20.7%) swim in the same water.

The twelve industries that grew tell you the direction.

Counts risingCounts falling
Fruit shops+38.5%Fried chicken−37.3%
Side-dish shops+10.1%Coffee−18.6%
Butchers+9.7%Shoes−39.5%

Trips for fruit, side dishes and meat are up. Trips for coffee and fried chicken are down. Money that used to be spent eating out is moving into the grocery basket.

Coffee's −18.6% is not coffee failing; it is coffee standing mid-stream of this migration. The distinction matters — a current pushing a whole industry cannot be reversed by running one shop well. The only variable left is where you stand.

→ What changes because of this. The diagnostic question for a struggling shop changes. Not "how much did sales fall" but "did transactions fall, or ticket size?" A shop losing transactions cannot price its way out — the whole city already tried, raising prices 8% while customers kept leaving. A shop holding its transactions but losing sales has a pricing and mix problem instead. Opposite prescriptions; a single sales line makes them look like the same disease.

03What separates neighbourhoods is also customer count

So what distinguished rising neighbourhoods from falling ones? I split all 384 the same way.

Value
Neighbourhoods where counts fell339 / 384 (88%)
Neighbourhoods where ticket size rose280 / 384 (73%)
Median change in counts−19.9%
Median change in ticket size+7.4%
Correlation: sales change ↔ count change+0.87
Correlation: sales change ↔ ticket change+0.23

Neighbourhoods are separated by customers, not prices. The correlations split +0.87 against +0.23. Raising prices is what almost everyone did in near-equal measure; what diverged is whether people showed up.

So a list of "neighbourhoods where sales rose" cannot be used as-is. Split the 78 risers:

NeighbourhoodsShare
Sales rose78
…and transactions rose too3444%
…but only ticket size rose4456%
-50% 0% 50% 100% 150% 0% 50% 100% Transactions 변화 Ticket size 변화 독산3 이촌1 장충 행운 Sales up, traffic down — 44 Both up — 34 Of the 78 districts where sales rose, 44 gained price, not customers.

Figure 2 · 384 districts by change in transactions (x) and ticket size (y). Solid = sales rose while customers fell

More than half of the "rising" neighbourhoods gained price, not customers.

Concretely:

NeighbourhoodSalesTransactionsTicketWhat happened
Doksan-3+161%+158%+1%Customers arrived
Wolgye-3+126%+132%−3%Customers arrived
Jangchung+93%−10%+115%Customers left; prices doubled
Haengun+43%−21%+81%Same kind
Ichon-1−68%−87%+136%Customers vanished; what remains is expensive

Doksan-3 and Jangchung sit side by side on a sales table as "risers." One multiplied its customers 1.6-fold; the other lost 10% of them while its ticket doubled. They must not sit in the same bucket. A doubling ticket usually means the cheap shops in that neighbourhood disappeared — that is not a signal of a healthy market.

Ichon-1 is the extreme: 87% of customers gone, ticket up 136%, a third of the sales left.

→ What changes because of this. Site screening gains its first filter. Put a transaction-growth column next to sales growth and delete every row where sales rose but counts fell. That one filter removes half of the money-ranked candidates. Conversely, the 45 neighbourhoods (12%) where counts actually rose are themselves a short list — this is how few places in Seoul are genuinely gaining coffee customers.

04The total says nothing happened

If sales fell 12%, you would expect shops to have closed in proportion. Store counts are published too.

QuarterSeoul coffee storefronts
Q2 202520,688
Q3 202520,493
Q4 202520,677
Q1 202620,535

−0.7%. Barely moved. Stop here and you write "stable store count, falling sales." I wrote that at first. It is wrong.

The same file carries opening and closing counts separately. Sum four quarters:

Coffee (4 quarters)
Shops that closed4,445
Shops that opened3,833
Daily average12.2 closed, 10.5 opened
Quarters where closures led4 / 4
2025 2Q 20,688 2026 1Q 20,535 Net change -0.7% — looks quiet Closed (1년) 4,445 Opened (1년) 3,833 12.2 closed and 10.5 opened per day. The net number hides it.

Figure 3 · Total coffee storefronts, against closures and openings over the same period

A flat store count does not mean nothing happened. It means almost exactly as many walked in as walked out.

Against the similar-industry store base, the year's 4,445 closures are 16%. One signboard in six changed while the total read −0.7%. Totals hide turnover.

Per-store sales sit on top of that. By neighbourhood, the median change in store count is +0.0%, while median per-store sales changed −8.0% over the same window. Even after swapping the players, the take shrank.

→ What changes because of this. Retire "a stable store count" as a screening criterion. Under a flat total, one in six changed hands. To measure stability, read the cell's closure count — it is in the same file. And if you are the one moving in, the same number cuts the other way: cells with heavy closures are where rents and key money get squeezed, and if transactions are holding there, that squeeze is an opening.

05What one shop earns — and the 8.6× between neighbourhoods

Rates of change hide scale. In the 393 neighbourhoods with ten or more shops, the median coffee shop's monthly sales are ₩6.51M.

Monthly sales per shop (est.)
Bottom 10% of neighbourhoods₩2.14M
Median₩6.51M
Top 10% of neighbourhoods₩18.55M
Top-to-bottom multiple8.6×

The same café earns more than eight times more or less depending on which neighbourhood it stands in. Rent and labour do not vary by eight times. Site choice pre-decides most of the P&L — which cell you pick comes before how well you run.

Is the cheap neighbourhood therefore "due"? If mean reversion were at work, the places earning least would have risen most. I checked.

2-year sales change, median
Bottom half by initial per-store sales−15.7%
Top half by initial per-store sales−12.7%
Correlation: initial level ↔ 2-year change+0.02

The correlation sits at zero, and if anything the neighbourhoods already earning well slipped less. The gap never narrowed. Nothing here supports walking in because a place is cheap.

Turn it into days and the weight of the number lands. Divide quarterly transactions by store count and 91.25 days and you get payments per shop per day.

Payments per shop per day (Q1 2026)
Bottom 10% of neighbourhoods10
Median31
Top 10% of neighbourhoods76
Neighbourhoods under 30 a day193 / 393 (49%)

The median Seoul neighbourhood's coffee shop rings up thirty-one payments a day. Two years ago it was thirty-eight.

You do not need a cost sheet to see what 31 a day means. Open eight hours and it is four cups an hour. That is not the arithmetic of a shop with seating and staff. In half of Seoul's neighbourhoods, the coffee shop already stands on one-person arithmetic. And the number came down from 38 to 31 in two years — hold the same spot and the arithmetic keeps worsening.

Split by price level and one more piece of folk wisdom breaks. I cut neighbourhoods into thirds by initial ticket size and tracked their counts for two years.

Neighbourhood's initial ticketMedian ticket2-year change in counts
Cheap third₩5,294−24.2%
Middle₩6,573−18.6%
Expensive third₩8,622−17.1%

The cheap neighbourhoods lost more customers. Low prices were not a defence.

This runs against the story that budget coffee is sweeping the market. Neighbourhoods with ₩5,000 tickets — where the budget chains cluster — lost 7 points more of their customers than ₩8,000 neighbourhoods. Causality is not settled; cheap neighbourhoods are often outlying residential areas with weaker districts to begin with. But one conclusion stands either way: nothing in this data supports pricing low as a way to keep customers.

→ What changes because of this. Two things. First, replace the revenue assumption in your P&L model with the neighbourhood's measured distribution. The median (₩6.51M) and the spread (₩2.14M–18.55M) are public; lay your cost structure on the candidate neighbourhood's distribution and the break-even resolves before you sign anything. Second, drop the "undervalued neighbourhood" thesis. The initial level and the subsequent change correlate at +0.02 — cheap did not mean due for a rise. If anything the well-off neighbourhoods slipped less (−12.7% vs −15.7%). The gap never narrowed.

06Weekdays collapsed first

Whether the loss is a weekday or a weekend story can be split too — borough-level data carries both.

2-year change, median
Weekday sales−13.9%
Weekend sales−10.2%
Gap3.7 points
-30% -20% -10% 0% 동대문구 서대문구 마포구 관악구 동작구 성북구 송파구 용산구 도봉구 노원구 은평구 강서구 구로구 중구 종로구 광진구 양천구 서초구 성동구 중랑구 강북구 강남구 금천구 강동구 영등포구 Weekday Weekend In 23 of 25 districts, weekdays fell further.

Figure 4 · Two-year change in coffee sales across 25 boroughs, weekday (●) vs weekend (○)

In 23 of 25 boroughs (92%), weekdays fell further than weekends. The weekend share of coffee sales rose from 28.1% to 29.7% — not because weekends improved, but because weekdays fell faster.

Coffee is thinning where people used to commute. Neighbourhoods people visit on weekends held up better.

Split by sex, there is nothing: men −14.0%, women −13.7%. The decline does not live in a customer segment. It lives in the days of the week.

I will not claim causality — this data holds no remote-work rates and no office vacancy. The observation stops at the decline leaning hard into weekdays.

→ What changes because of this. A site's weekday-weekend mix becomes an underwriting item. A spot far below the city median weekend share (29.7%) hangs on weekday demand alone — the demand thinning fastest. Discount its revenue assumption by the weekday slope (−13.9%), and keep the lease short for the same reason. For existing shops, re-negotiate first wherever the weekend share is lowest.

07Franchise signboards did not stop closures

The thing an opening owner leans on most is a brand: a head office that picked the site, a tested operation, name recognition. If that works, neighbourhoods dense with franchises should close less. It can be checked — franchise store counts and closure rates are published per neighbourhood and quarter.

I measured inside coffee only: 618 cells with twenty or more shops.

Value
Correlation: franchise share ↔ quarterly closure rate−0.01
Closure rate, more-franchised half (median)4.0%
Closure rate, less-franchised half (median)4.0%

Identical. To the decimal. Neighbourhoods heavy and light on franchise coffee close at indistinguishable rates.

Because the industry is held fixed, industry mix cannot explain this away. It is coffee against coffee.

Mix the industries and the opposite headline appears: across 72 industries, franchise share and closure rate correlate at +0.46 — franchises close more! But look at the 0% franchise industries: patent attorneys, accountants, notaries. At the other end, convenience stores (68.7%) and coffee (24.6%). Offices last years; coffee shops turn over by the quarter. +0.46 is not a franchise effect. It is an industry effect wearing its clothes.

Do not read this as "franchises are useless." What a head office actually contributes — site diligence, contract terms, who the franchisee is, what support lands — is not in this file. What can be said is one thing: the effect does not show up in anything you can buy or download. So do not hang an opening decision on this metric.

08I re-ran it on convenience stores — the answer flips

One industry's verdict may be that industry's quirk. So I repeated the test where franchise share runs far higher: convenience stores.

ConvenienceCoffee
2-year sales (Seoul total)−14.7%−11.9%
Neighbourhoods that fell333 / 395306 / 384
Store count change−3.9%−0.7%
Closed / opened (1 year)1,087 / 6694,445 / 3,833

Convenience fell harder and shed more stores. Closures ran at 1.6× openings — coffee's ratio was 1.16×. Three closed and 1.8 opened per day.

And the franchise test points the other way:

More-franchised halfLess-franchised half
Convenience, quarterly closure rate (median)1.0%2.5%
Coffee, quarterly closure rate (median)4.0%4.0%
Coffee · n 1231 More franchised 4.0% Less franchised 4.0% Convenience · n 45 More franchised 1.0% Less franchised 2.5% Quarterly closure rate median, cells with 20+ stores No gap in coffee; half in convenience — but that rests on 45 cells.

Figure 5 · Median quarterly closure rate, more- vs less-franchised halves

No gap in coffee; half the closure rate in convenience. Absence in one industry is not absence everywhere.

But the convenience sample is 45 cells — that is all that clears the twenty-store bar (coffee had 618). The correlation is a weak −0.09, and with franchise share at 68.7%, even the "less-franchised half" is substantially franchised. The direction is visible; this sample cannot settle it.

The conclusion is not "franchises help" or "franchises don't." It is that the answer differs by industry, and the public sample is not large enough to referee it. Coffee had the sample and showed no gap; convenience shows a gap and lacks the sample. Either way, no opening decision should hang on this one metric.

→ What changes because of this. A head office already owns the data that settles it — join your own franchisees' closure records to each district's overall closure rate and you get "how much survival does our brand actually buy," district by district. That number becomes the sales pitch to prospective franchisees; districts where it fails to appear drop off the expansion map. The public data supplies the denominator for free. The numerator lives in your office.

09Three things you must fix before this data will tell the truth

None of the numbers above fall straight out of the file. Compute naively and it breaks in three places, all quiet. Two of the three share one cause — the denominator.

Each row carries three store-count columns — the industry's own stores, stores including similar industries, and franchise stores — plus separate opening and closing counts. Which one you divide by changes the answer.

First, the franchise-share denominator is a trap. The natural division — franchise ÷ own-industry stores — yields a 260% franchise share for convenience stores. Franchise counts exceed own-industry counts in 4,940 of 141,250 rows (3.5%); against the similar-industry base, exceedances are zero. The denominator is the similar-industry column. A 3.5% defect never surfaces in a skim — you only see it when a share crosses 100%.

Second, opening and closing counts use that same base. This one hides deeper. Divide convenience-store closures by own-industry stores and the quarterly closure rate comes out at 9.0–12.7% — while the published rate in the same file reads 2.0–3.5%. Divide by the similar-industry base and you get 2.5–3.5%, which matches. Reconciling against the published rate reveals the denominator. Skip that reconciliation and you carry a fourfold-inflated closure rate into everything downstream.

(Nor is the similar-industry base a perfect ceiling: openings or closures still exceed it in 365 of 141,250 rows — 524 against the own-industry base. Imperfect, but the one that reconciles to the published rates is the similar-industry column.)

Third, closure rates are quarterly and explode in small cells. 673 rows show closure rates above 50% — and their median store count is one. When a neighbourhood's only shop closes, that is a 100% closure rate. Rank neighbourhoods without a floor and you build a "100% closure" list of places that simply had one shop. Cut at twenty stores and the maximum falls to 28%. And the figure is quarterly — read it as annual and you inflate it fourfold.

Published and usable are different things. This data is published; used raw, it returns wrong answers.

10So what should you actually do

The unit of an opening decision is not a neighbourhood but a (neighbourhood × industry) cell — you do not open "in Seongsu," you open a coffee shop in Seongsu. In that cell, split total sales from per-store sales.

The measure

``` Entry headroom = (that cell's quarterly transactions) ÷ (that cell's store count) → its rate of change. Counted in transactions, not won. ```

The reason for counting transactions sits above: of 78 neighbourhoods where sales rose, 44 (56%) gained price, not customers. Count in money and those 44 rise to the top of the candidate list. Ticket size is a number you set; transactions are a number the neighbourhood gives you. A site-picking ruler must be built from what the neighbourhood gives.

364 coffee cells clear ₩100M in sales and ten stores. Total and per-store sales mostly move together — which is exactly why the cells where they diverge carry the information.

CellsShare
Total sales rose85
…but per-store fell1416%
Total sales fell279
…but per-store rose3312%

One rising coffee cell in six is a falling cell per store. On a total-sales table it reads as a winner. Walk in and you inherit below-average take.

CellTotalStoresPer store
Hongje-1 · coffee+4%+17%−11%
Dogok-1 · coffee+1%+10%−8%
Sanggye-6·7 · coffee+6%+15%−8%

Hongje-1's coffee market grew 4% while the mouths sharing it grew 17%.

Thresholds and actions

MeasureHowThresholdWhat you do when it trips
Customer directionChange in the cell's transaction count Counts ↑ — 45 of 384 neighbourhoods (12%) First-rank candidates. The condition is already rare
False-riser filterSales change count change Sales while counts 56% of risers Delete from candidates. Price rose, customers did not. Usually the cheap shops left
Entry headroomChange in per-store sales for the cell Total · per-store Promote. The market grows and so does the share
Entry headroomSame measure Total · per-store 16% of risers Pull it. Mouths multiply faster than pie. Looks good on the money table, so it must be filtered explicitly
Entry headroomSame measure Total · per-store — 12% of fallers Keep. Remaining shops earn more. Money tables miss these
Day-of-week mixWeekend ÷ (weekday + weekend) Seoul coffee median 29.7%; far below = weekday-dependent Weekday-dependent spots are thinning fastest (−13.9% vs −10.2%). Re-base the revenue assumption on that slope; shorten the lease
Closure rateQuarterly closures ÷ the cell's stores Stores under 20: do not read Small samples explode. Leave the grade blank rather than wrong

So how many places are actually left — all the way to names

Run the ruler across the whole city:

FilterNeighbourhoods left
Coffee sales observable384
① Transactions grew over 2 years45
② …and per-store sales grew too (10+ stores)23

Neighbourhoods where coffee customers and per-shop earnings both grew: 23 out of 384. Six percent.

And the 23 do not share one face. The top of the list:

Neighbourhood2-yr transactionsTicketMonthly sales per shop
Wolgye-3+132%₩7,099₩3.42M
Sangbong-1+108%₩7,146₩13.12M
Donghwa+82%₩10,212₩4.64M
Sangdo-2+46%₩5,835₩8.79M
Gahoe+35%₩12,784₩31.27M
Samseong-1+6%₩10,378₩31.73M

Wolgye-3 and Sangbong-1 are newly built-out residential districts — customers surged while per-shop sales are still low (₩3.42M · ₩13.12M). Demand arrived before supply. Gahoe and Samseong-1 are the opposite: modest count growth, but five-figure tickets and ₩30M-class monthly takes. The same list, two different briefs — the first pair suits fast-turn, mid-to-low price formats; the second pair only pays back a concept that can carry the ticket.

Note also what is missing: Gangnam-daero, Hongdae, the Seongsu café strip. The famous districts mostly sit on the wrong side of the ledger — stores multiplied faster than customers.

The choices we make — and why other values would be wrong

ChoiceWhyDone differently
Hold the industry to coffee aloneTurnover speed differs by industryMix 72 industries and the franchise correlation flips to +0.46 — an industry effect read as a brand effect
Judge at the (neighbourhood × coffee) cellYou bring an industry with you when you openAt whole-neighbourhood level, coffee's divergences cancel against other industries
Franchise denominator = similar-industry storesDividing by own-industry stores crosses 100% in 3.5% of rows260% convenience-franchise shares survive into the table
Closure rates floored at 20 storesThe 673 rows above 50% have a median of one store"100% closure" neighbourhoods top the risk list
The time axis is salesSales run 8 quarters; churn runs 4You end up calling "rise and fall" on a single year

11What this data cannot see

1. Sales are card-based estimates. Cash and some pay apps are missing. Coffee is heavily carded, so its time series is relatively safe, but no absolute comparisons across industries were made. 2. The citywide −11% may carry a payment-method shift. Money moving from cards to uncaptured pay apps lowers counts with footfall unchanged. Hence the weight rests on relative comparisons across industries (fruit +38.5% vs chicken −37.3%) — a payment-method shift does not split industries like that. 3. An administrative neighbourhood is not a trade area. Main-street and back-alley differ inside one neighbourhood; station catchments cross boundaries. This is the data's resolution limit. 4. The cause of the weekday decline is not in here. No remote-work rates, no office vacancy. The essay stops at the observation that the loss leans into weekdays. 5. Store counts carry no size. Ten pyeong and a hundred pyeong are one store each. Per-store figures might look different per square metre — floor area is not published. 6. Churn covers four quarters only. The trend axis therefore rests on the eight-quarter sales series. 7. Correlation is not causation. Section 07 does not say franchises do nothing — it says the public data cannot show what they do.

12So this is what I told my friend

First, the default answer is "don't." Not because of what you can or cannot do. One coffee customer in five left in two years (counts −18.6%), and that is not coffee failing — Seoul's offline payments fell 11% overall as spending migrates from eating out to the grocery basket — a current no single shop can row against. The median neighbourhood's coffee shop rings up 31 payments a day, down from 38 two years ago. Open an average café in an average spot and that arithmetic is what you inherit.

Second, if you still must — the site comes first, and 23 of 384 neighbourhoods qualify. Only that many grew both customers and per-shop earnings, and their shops ring up a median 56 payments a day — nearly double the city. Gangnam-daero, Hongdae and the Seongsu strip are not on the list. Famous districts mostly grew stores faster than customers.

Third, the form. The data crosses out three options. Compete on price — the cheap neighbourhoods lost more customers (−24.2% vs −17.1%). Ride weekday office traffic — weekdays are the fastest-thinning demand (23 of 25 boroughs). Trust a franchise signboard — inside coffee, franchise share and closure rate were unrelated. What remains follows the list's two faces: in newly settled districts like Wolgye-3 and Sangbong-1, demand outran supply and a small fast-turn format fits; in Gahoe or Samseong-1, where ₩10,000-plus tickets hold, only a concept that can carry that ticket earns its keep.

Fourth, the size. At the median arithmetic — 31 a day — seats and staff do not compute. A one-person takeaway box is what the median neighbourhood permits. Seats and payroll require a 76-a-day site — the top decile — and sites like that hand the difference back as rent. Rent and floor area are not in this data, so that final calculation happens site-by-site, after the shortlist.

One last thing. The ruler in this essay — cell-level transactions, per-store sales, the day-of-week mix — was not improvised for the occasion. It is the calculation that hicce, the property-and-district diagnostic tool we are building, already runs for individual sites; the raw data behind this essay came out of its collection pipeline. Type in an address and an industry and the cell's card comes back — today it runs as a beta for estate agents, with the founder- and head-office-facing version in preparation. Until then, the list and the ruler above are enough to measure with — and wherever the measuring gets stuck, that is the work we do.

Where to look first, wherever you sit

You areLook first at
About to open a caféThe candidate neighbourhood's payments per shop per day. Under 30, the median there is one-person arithmetic — not a verdict on your skill
A franchise head officeWhether the candidate list is ranked by money or by transactions. Ranked by money, 56% of the risers are places customers are not growing
Multi-site operatorsThe per-store trend of your own cells. If your shop fell while the cell's store count grew, that is not a district problem
Data / strategy teamsWhether the 20-store floor and the franchise denominator are in the dashboard. If not, today's rankings are wrong
Investors · underwritersIf you read district sales growth alone: it points the wrong way on customers in more than half of the risers

Method · limits

Source: the Seoul Open Data Plaza commercial-district service (published by the Seoul Credit Guarantee Foundation) — estimated sales by administrative neighbourhood × industry × quarter (Q2 2024 – Q1 2026, 8 quarters, 134,628 rows), store and churn counts (Q2 2025 – Q1 2026, 4 quarters, 141,250 rows), and borough-level sales split by weekday/weekend and sex. This essay reads the coffee-beverage industry; convenience stores appear once as a contrast.

Neighbourhood comparisons cover the 384 with over ₩100M of quarterly coffee sales in Q2 2024. Per-store and cell analyses use the window where sales and store counts overlap (Q2 2025 – Q1 2026) with ten or more stores; closure analysis uses 618 coffee cells with twenty or more. Rates are quarterly. The franchise denominator is the similar-industry store base — dividing by own-industry stores crosses 100% in 3.5% of rows. Opening/closing figures use the count columns, not the rounded rate columns. The convenience-store contrast clears the same bars with only 45 cells and is used for direction, not verdicts.

Daily payments divide quarterly transactions by store count and 91.25 days. Correlation is not causation, and the absence of a franchise effect here is a statement about what public data can show, not about what head offices do. Reproduction script: 상권_지표.py상권_지표.json. Neighbourhood names are public administrative units; no individual business appears in this data.

Caff · August 2026

This is as far as public data can see. Repurchase, incrementality, attribution — the numbers that change decisions live inside your own data, and making them countable is what Lambency does.

caffrey.w.lee@gmail.com