Reviewed 2026-10-29 · Weekly reviewSnapshot SNAP-2026-10-06

Where the 192 sampled rows came from

This page is the receipt for every number the rest of the site quotes about listings. It states the source, the pages, the fields, the grouping rules and the counts — including the three biases we cannot remove. Any figure printed elsewhere on this site should be reproducible from what is written here.

What was sampled, and when

The sample is 192 listings taken from the public list pages of one channel — Joyagoo — on 2026-10-06, and frozen under the identifier SNAP-2026-10-06. Eight consecutive list pages were read, 24 rows to a page, and every row was logged individually rather than counted by eye. Two rules trimmed the raw pages: a row was kept only if the page carried the light thumbnail variant for it, and a listing address seen twice was kept once, at its first position.

The surviving rows carry ranks 1 to 192: 192 distinct positions for 192 rows, so no position was used twice. Rank is a record of where a row sat when we looked. It is not a score, not a popularity signal and not our ordering — the source site does not publish what its own list order means, and we will not invent a meaning for it.

Read the reason this page exists as a sentence: numbers that cannot be re-derived are decoration. The sampled list itself shows the rows; this page shows the machinery.

What one channel contains

The same snapshot recorded the browsing scale of every channel on the destination: 11 channels, each showing 351 list pages of 24 rows, or about 8,424 rows per channel. Our sample is 8 of those 351 pages — 2.3% of one channel. The percentage is the honest headline of this page: small, dated, and stated rather than buried.

A row count is also not a stock figure. The same listings appear under other channels, because the pages are filtered views of one catalogue rather than 11 separate warehouses. Where a channel publishes a self-description we quote it verbatim on the channel index; where it publishes nothing, the field reads no data.

Field definitions

Each row in the sample carries ten fields. Three of them are ours, not the source’s, and one is never rendered anywhere on this site. The table states which is which, so a reader can tell a fact we copied from a judgement we made.

Field contract for the 192 sampled rows, as of SNAP-2026-10-06.
FieldWhere it comes fromWhat this site does with it
slugThe listing address on the source siteIdentity for the row; also how duplicates are removed
idThe digits inside that addressInternal reference only
nameThe listing title, copied verbatimRendered as written, including its own spelling and brackets
priceThe figure shown on the source list pageInternal only. Used for ordering and band statistics; never rendered on any page
imagePathThe light thumbnail variant served by the source siteShown on the list page at a fixed 1:1 crop
rankPosition in the source list when we read itOrdering only; no meaning is claimed for it
sourceThe market prefix the source site puts on image filesReported as a distribution, never as a promise
categoryThis site, by keyword rules over the titleOne of nine groups, or unclassified
brandThis site, by literal match inside the titleA readable label, or brand not readable
variantsThis site, from a bracketed count in the titleA yes or no flag on one row

How the three derived fields were grouped

Category is decided by ordered keyword rules, tested against the title with bracketed annotations stripped out first. The order matters, because the first rule that matches wins: footwear, outerwear, knitwear, shirts, trousers, bags, headwear, accessories, then household goods. A title that matches none of them keeps the label unclassified. One rule set — household goods — matched zero rows in this snapshot, so it does not appear in the counts below; the rule stays in the pipeline because a zero is information and deleting the rule would hide it.

Brand is read literally and conservatively. A fixed list of about eighty label spellings is tested against the title, case-insensitively, and a match only counts if it begins within the first 24 characters of the title (annotations removed). Longer spellings are tested first, so a two-word label is not recorded as its first word. Nothing is inferred from the image, the store name or how the row feels: no match means the row is published as brand not readable.

The variant flag needs a bracketed number followed by a styles, colours, pieces or options word — anything of the shape that titles use to declare several products behind one link. Only the title is read. The listing’s own option list is outside this snapshot, so the flag says what the title claims, not what the row contains.

The counts

Everything below is computed from the same file the list page renders, at build time. If a number here ever disagrees with the list, the build is broken rather than the number being approximate.

Rows logged

192

8 pages × 24 rows, de-duplicated by listing address.

Titles naming a brand

136

70.8% of the sample, across 51 distinct spellings. 56 rows read as brand not readable.

Multi-variant titles

26

13.5% of the sample declare several styles in brackets; 19 of those also name a brand.

Category distribution across 192 rows, with the two derived flags per group. Groups are ours, not the source site’s.
CategoryRowsShareBrand readableMulti-variant
shirts-tees4422.9%29 (65.9%)3
hoodies-sweaters3618.8%23 (63.9%)8
pants-shorts2714.1%16 (59.3%)3
outerwear2010.4%19 (95.0%)4
accessories105.2%6 (60.0%)2
headwear105.2%6 (60.0%)2
shoes105.2%9 (90.0%)0
bags94.7%7 (77.8%)3
unclassified2613.5%21 (80.8%)1
all rows192100%136 (70.8%)26

Two more counts belong beside those. The largest group is shirts-tees at 44 rows, and the group we could not place is unclassified at 26 rows, or 13.5% of the sample. On the source-market field the distribution has a single entry: Weidian 192 — every row in this sample carries the same market prefix, so the field is a constant here rather than a comparison.

Three known biases

A published sample without its biases is marketing. These three are structural: they come from decisions we made deliberately, and each one moves a number on this page.

  1. The list order is unexplained. The source site does not publish what its ordering means, so rank cannot carry a claim about demand, freshness or quality. The list page uses rank to show the front of the source list because that is a fact about the snapshot, not because the front is better.
  2. Brand reading is bounded twice. Once by a fixed list of spellings and once by the 24-character window. 56 rows read as brand not readable, and for 31 of them the whole title fits inside the window — so the miss is the spelling list, not the window. Abbreviations and labels outside the list are simply absent, and titles in the sample run from 6 to 116 characters.
  3. unclassified is not forced into a group. 26 rows keep that label, and the nine category rows above add up to 192 with it rather than without it. Sorting them by hand would make the table look complete and make it wrong.

One snapshot taken, one still to come

SNAP-2026-10-06 is the first and only snapshot in this build. A second one is planned during operation, on the weekly rhythm described on the masthead, and until it has actually been taken and parsed there is nothing honest to compare: every two-snapshot line stays no data, and no trend is drawn. A single dated observation with its rules published is worth more than a line between two points, one of which does not exist.

If the parser ever returns zero rows, the reading is that the source structure changed, not that the catalogue emptied. In that case sampling pauses, the pause is recorded here, and no substitute numbers are published while we work out the new page shape.

How to cite these numbers

Quote the count, the snapshot identifier SNAP-2026-10-06 and the date 2026-10-06; the rules above travel with them. The rows can be re-filtered and copied out with the list export tool, and the reasoning behind the brand count is worked through in how many titles name a brand. If a figure on this page looks wrong, the correction route is on the masthead page, and a corrected count replaces this one rather than sitting beside it.

Outbound links to Kakox are tracked so the destination can attribute the visit. They do not change what this page says, and nothing here is sold by us.

Check the same figure on Kakox