Working notes from the Flowup team for people who run e-commerce or trade marketing in Thailand. Not a repost of our site guides.
The usual way a brand picks its "hero" product is by looking at the bestseller list in its own TikTok Shop and taking the top line. That list ranks by units or revenue. It does not tell you which product makes money after fees, which one people come back for, or which one would survive on a convenience-store shelf. If you are about to put campaign budget, creator samples or a 7-Eleven pitch behind one product, a 30-minute scoring pass is worth doing first.
TikTok for Business makes the same point from the platform side: its advice for Thai brands before mega sales starts with enough stock and a clearly defined hero product (SME Thailand Club, Sep 2026).
What to export
From Seller Center, export the last 90 days of orders with SKU, unit price paid, discount, buyer ID (or hashed ID), ship-to province and order date. Add your own cost sheet: product cost, packaging and the fees you actually pay for each SKU's category. TikTok Shop Thailand lists the fee lines (category commission, payment fee, per-order infrastructure fee, Commerce Growth Fee, affiliate commission) in its Academy (fee overview); use your own settlement statements for the rates.
Five scores, 0 to 2 each
- Profit per unit after fees. Average price paid minus product cost minus fees minus creator commission. 0 if negative, 1 if thin, 2 if there is room for a promotion. If you plan a 7-Eleven pitch, run the same calculation from the expected shelf price; our margin calculator does the store side.
- Repeat rate. Share of buyers with a second order within 60 days. Rank your SKUs and score the top third 2, the middle 1, the bottom 0.
- Demand outside one city. Count provinces that account for most orders. A product that only sells in one area is harder to argue for in a chain trial.
- Shelf fit. A judgement call, not a data column: could a shopper decide in a few seconds at this price and pack size? If not, is a smaller pack possible?
- Supply. Can you produce double the current volume within one reorder cycle?
A small script is enough. In pandas:
repeat = (orders.groupby(["sku", "buyer_id"]).order_date.nunique() > 1) repeat_rate = repeat.groupby("sku").mean() province_share = (orders.groupby(["sku", "province"]).size() .groupby(level=0).apply(lambda s: s.nlargest(3).sum() / s.sum())) A high province_share means orders are concentrated in the top three provinces. Concentration is fine for choosing where to start, but it is a weak argument for a nationwide listing.
How to read the total
- 8 to 10: a candidate hero product. Put the first round of creator samples and ads here.
- 5 to 7: keep it selling, but don't lead with it.
- Any product with 0 on profit: fix price, pack or cost before spending anything on it, whatever else it scores.
The cut-offs are examples. Adjust them to your category.
Common mistakes
- Scoring on GMV. Revenue rewards expensive items and deep discounts. Profit per unit and repeat rate tell you more.
- Mixing campaign weeks into the baseline. Exclude 11.11, 12.12 and payday spikes when computing repeat rate, or compare like with like.
- Treating followers as demand. Creator reach explains some sales, but the score should describe the product, not the creator who happened to post it.
What this does not do
It ranks your products. It does not forecast sales, and it does not replace a test. Once you have picked one, the next step is a short round of creator videos across three or four content directions, then moving the best ones into ads.
