FoodBud
RankingsInsightsMixue SeriesArchiveMethodologyDataSearch中文
RankingsInsightsMixue SeriesArchiveMethodologyDataSearch中文
FoodBud

Global foodservice chain intelligence. Every figure should link back to a source.

RankingsInsightsMixue SeriesArchiveMethodologyDataSearchAboutPrivacyDisclaimer

FoodBud is for information and research workflow support only. Nothing on this site is investment advice. Privacy practices and data limitations are described in the Privacy Policy and Disclaimer.

Methodology

Readable numbers need visible context.

FoodBud renders a locked, read-only export from the research dataset. Every public figure should carry a source tier, period, quality label, and scale basis.

207
Operators
1,186
Metrics
1,303
Sources
S1-S3

Source tier first

Exchange filings, annual reports, prospectuses and IR documents outrank media or financial-data summaries.

Scale basis

GMV is not revenue

System sales / GMV, listed-company revenue, and royalty pool sales are separate and labeled separately.

Quality

Proxies stay directional

Scale per store is a screening proxy, not audited AUV and not unit profit.

Scope

Operators, not adjacencies

Chain restaurants, coffee, tea, bakery, QSR and similar operators are separated from manufacturing or hotel exposure.

Methodology

How FoodBud sources, grades, and labels every number on this site. Our promise: every figure links back to a source, and every estimate is labeled.

Source of truth

All operator data comes from FoodBud's global listed-foodservice-operator research dataset, built official-source-first. The website renders a versioned, read-only snapshot of that dataset.

Source tiers

Every number carries a source tier:

  • S1 — Official primary disclosure: exchange filings, annual reports, prospectuses, IR results; SEC / HKEX / SEDAR+ / ASX / NZX / IDX / PSE and equivalents.
  • S2 — Official secondary: company press releases, IR presentations, official web pages.
  • S3 — Supplementary: financial-data sites or media, used only to fill gaps and always marked.
  • S0 — Not found / not usable.

The large majority of figures on the site are S1.

What "scale" means — and what it doesn't

We deliberately separate terminal transaction scale from listed-company revenue:

  • System sales / GMV / gross store sales — closest to end-consumer transaction volume across the whole network (including franchised stores).
  • Revenue — the listed company's recognized revenue, which may be company-operated store sales, franchise/HQ income, supply-chain sales, or royalties.

Each operator's headline scale figure is tagged with a scale_basis (e.g., gmv_or_system_sales_usd vs revenue_usd). Do not compare a GMV-based figure directly against a revenue-based figure. For example, Mixue's scale is GMV-based (a franchise-led network), while Starbucks' is revenue-based (largely company-operated) — they are not apples to apples.

How we choose a scale basis (3-tier rule)

We assign exactly one of three tiers to each operator, in order:

1. System / network sales disclosed → gmv_or_system_sales_usd. Tier 1 is reserved for a source line that actually discloses systemwide / network / GMV / gross-store sales (whole-network terminal sales, including franchised stores). A line that only reports company revenue, net sales, or segment revenue is not tier 1, even for a mostly-franchised operator — we never relabel revenue as system sales. _Examples: McDonald's (global system sales); Retail Food Group (domestic-scoped network sales — paired only with the domestic store count, never global)._ 2. No system sales, but mostly self-operated + first-party audited financials + restaurant-dominant → revenue_usd / company_operated_revenue proxy. When franchisee end-consumer sales are not consolidated, we use the operator's own audited revenue as a directional scale, flagged as a revenue proxy and never re-labelled as system sales. _Examples: HotLand (飲食 segment revenue), Colowide (consolidated IFRS revenue), PT Fast Food Indonesia (KFC Indonesia net revenue), Zensho (restaurant-segment revenue — a revenue proxy, not a disclosed systemwide-sales line)._ 3. Thin-revenue franchisor / no first-party financials → scale_usd = null + revenue context. When the entity earns mostly franchise fees (no own-store scale) or lacks a first-party audited figure, we publish revenue/context only and keep it out of scale ranking until a source pack lands. _Examples: ZUS Coffee, 六角國際 (2732), 揚秦國際 (2755)._

Profit or loss never affects scale eligibility — a loss-making operator with a clean audited revenue still ranks on its scale basis (e.g., PT Fast Food Indonesia). Profit/loss is shown as context only.

Confidence and quality labels

  • data_confidence: high / medium / low / needs_source_pack — our overall confidence in an operator's record.
  • metric quality: source_backed / screening_proxy / needs_source_pack.
  • scale_per_store is a screening proxy (scale ÷ store count), not audited unit revenue and not unit profit.

We mark directional or estimated figures as such, and never present a proxy as a hard unit-economics conclusion.

Coverage

  • Listed operators plus a small set of private/unlisted candidates (shown as candidates, with no official metrics until an official source pack is attached).
  • v1 covers ~107 operators and is expanding toward the full ~221-operator master set. Each page shows its coverage state.

Scope

We track listed foodservice chain operators: restaurants, coffee, tea / milk-tea, bakery, dessert, QSR / snack, pubs, and food-court / kopitiam formats. Adjacent businesses (packaged beverages, dairy, food manufacturing, contract / travel catering, pure hotels) are excluded or clearly separated, never mixed into a single efficiency ranking.

Boundaries

  • Every number links back to a source, with its tier shown.
  • We do not fabricate GMV / system sales; unknowns are marked, not guessed.
  • This site is information, not investment advice.

Estimation rules

Some figures are estimated, not directly reported — marked with an "est." badge. We estimate only when a company discloses a convertible related figure (e.g. a foreign-currency total or segment subtotal), or a breakdown is derivable from disclosed totals and ratios (e.g. a per-brand split back-derived from a rounded contribution %). Every estimate is traceable to its disclosed source and rounding basis — we never invent a number. Estimates carry a wider confidence band and are not exact disclosures.

Foreign exchange

Non-USD figures are converted at the fiscal-year period-average rate for the period the figure covers — not a single-day spot rate — because an annual sales flow is earned across the whole year. The rate, period, and source (e.g. central-bank or Federal Reserve H.10 averages) are recorded with each converted figure.

Update cadence

Figures come from the latest available fiscal-year disclosures and carry an as-of date. We refresh on each company's reporting cycle and re-lock the dataset in versioned releases. A figure without a current clean source is held — not shown stale or fabricated — rather than guessed.

"est." & "do not compare"

Two labels tell you how to read a number. "est." marks an estimated (not directly reported) value. "do not compare" marks a figure that is real but must not be set against operational scale — most often market capitalization, a daily-fluctuating market valuation, not a measure of how much a company sells. We show market cap for reference but never rank by it or compare it to system sales or revenue.

The audit system

Why you can trust each figure

Every public figure on FoodBud carries an audit chain: what it is, where it came from, how it is graded, and whether it can be compared. These are the rules — enforced in the data pipeline, not just described here.

1 · Source tiers — how every figure is graded

Each datapoint is graded by what its source actually is, judged from the URL / host (URL beats a label) and at the weakest link — a figure derived from two sources takes the lower tier.

  • S1
    Regulatory filing

    A deep link to a specific filing document on the securities regulator / exchange system itself (SEC EDGAR, HKEXnews, TDnet / EDINET, DART, TWSE-MOPS, ASX, SGX, PSE Edge, SET, Bursa, IDX, SSE / SZSE / CNINFO). A company's own IR site is not S1 even if it hosts the same annual-report PDF; a /news/ release or an annual-reports index page is not S1.

  • S2
    Company / IR / newswire

    Newswire (PR Newswire, Business Wire, GlobeNewswire), the company's official website or IR page, an earnings / results deck, or an IR doc-hosting vendor. Also the official site of a parent / PE owner for ownership facts.

  • S3
    Reported

    General news media and financial-data aggregators (Reuters, Bloomberg, Yahoo, StockAnalysis, Morningstar, exchange quote pages), analyst notes, franchise-info aggregators, market-research vendors.

  • S4
    Tertiary

    Encyclopedic sources (Wikipedia and similar). Used only as last-resort context, never to back a headline financial metric.

2 · Basis guard — why some numbers can't be compared

Scale is reported on one of three bases, and they are not interchangeable:

  • System-wide sales / GMV
    sales across company-owned and franchised stores
  • Company-operated revenue
    only the stores the company runs itself
  • Total revenue (GAAP)
    the consolidated income-statement top line

For a heavily-franchised operator, GMV / system-sales and GAAP revenue can diverge up to ~8×. We label each scale figure with its basis and block cross-basis comparison in compare and leaderboard views — a figure is shown “not cross-comparable” whenever its basis differs from the figures it would sit beside. Brand-level and group-level counts are likewise never mixed.

3 · Classified vs disclosed — what's ours vs the company's

Disclosed
A figure the company itself put in a filing or release (scale, store count, profit, market cap). We cite it and tier it.
Classified
Our editorial judgment, not company disclosure — the dimension calls like cuisine, service model, price tier. Labeled as our classification so a reader never mistakes them for company-stated facts.

4 · Coverage honesty — we don't fabricate

gap = not disclosed
When a company doesn't disclose something we show a gap (“—”), never an estimate dressed as fact.
screening proxy / unverified
A rough screening proxy, or a figure we could not verify to a citable disclosure, is flagged as such — not presented as audited-disclosed. (A market cap is a live price×shares snapshot from a data vendor → S3 / screening; a stale figure we couldn't refresh stays flagged, not faked.)
per-field confidence
Confidence is tracked at the individual-field level, not assumed for the whole company — one operator can have an S1-filed scale next to an unverified market cap.
derived / partial / non-additive
A figure summed from disclosed components is labeled derived; a subset row (e.g. a single market inside an overseas total) is flagged non-additive so it isn't double-counted.

5 · Fact-Pack — the audit trail, exportable

Every company page can export a Fact-Pack PDF: each figure with its value, basis, source tier, the source link, the as-of fiscal period, and a verbatim source excerpt — so a buyer or journalist can re-verify the chain themselves. This is the concrete “why you can trust it” artifact.