Technical report · Biryar, part 3 · Manufacturers and direct supply

Going Upstream

Every middleman between a factory and an Amazon customer takes a margin. This report follows Biryar as it climbs towards the factory, first through two suppliers it knows well and then through a census of every German maker it could find, and asks what is gained and what new costs appear with each step.

Loghman SamaniCiya LabsOctober 2026
Generated with OpenAI Image Generator

Shops are where reselling starts, and Parts 1 and 2 of this series showed how thin and how restricted that ground is. Going upstream removes intermediaries and their margins, but it replaces them with obligations, trade accounts, packing units, minimum orders and safety paperwork. Biryar handles the upstream in three ways. It reads the dealer shops of suppliers it already trades with and turns their catalogues into ranked order lists. It screens wholesale assortments before an account is even opened, to learn whether the trade terms can ever pay. And it builds a census of German manufacturers from public registers, 125,626 companies, filtered down to roughly two thousand that sell on Amazon, make German products, have measurable demand and could be written to.

PrologueClimbing the supply chain

A product sold on Amazon by a reseller usually passes through several hands. The manufacturer sells to a wholesaler, the wholesaler to a shop, the shop to the reseller, and each of them adds a margin to cover its costs and earn a living. Spengler showed in 1950 that a chain of independent firms, each pricing for its own margin, ends with a higher final price and lower joint profit than a single firm would choose, an effect now called double marginalisation [1]. For a reseller the practical reading is simpler. Every link removed is a margin that no longer has to be paid.

The reason intermediaries exist at all is the other half of the story. Coase asked why firms exist when markets could coordinate everything, and answered that using a market has costs of its own, finding partners, negotiating, contracting, checking [2]. Williamson developed this into transaction-cost economics, in which the choice between buying through intermediaries and dealing directly depends on how specific, frequent and uncertain the transactions are [3]. A shop sells one unit to anyone with no questions asked. A manufacturer wants a trade account, a minimum order, a business registration, sometimes a phone call, and it ships in fixed packing units that do not care how many a reseller actually wants. Going upstream exchanges margin for transaction costs, and the interesting question is where the exchange is favourable.

DOWNSTREAM UPSTREAM Shop the reseller buys retail Wholesaler the reseller buys trade Manufacturer the reseller buys at source WHO THE GOODS PASS THROUGH MARGINS PAID ON THE WAY OBLIGATIONS TAKEN ON WHAT IT UNLOCKS HOW BIRYAR WORKS IT IN THIS SERIES M W S R M W R M R two one none none one unit, any day, no account trade account minimum order per supplier trade account fixed packing units supplier minimum safety documents any product, one at a time an invoice that can open brand gates the brand gate itself, from the brand owner reads shop catalogues, watches shelf prices 875,963 products screens the assortment before an account exists 4,909 articles dealer shop to order list, 1,632 articles census of German makers, 125,626 to 2,010 Parts 1 and 2 Part 2 and Case B Case A and the census THE TRADE margin the reseller keeps obligations the reseller carries intermediary, takes a margin the reseller one obligation M maker, W wholesaler, S shop, R reseller. The wedges show direction, not scale.
Figure 1. Three ways to buy the same product, compared row by row. Each step upstream removes a margin paid to someone in between and adds obligations the reseller has to carry, in exchange for access a shop cannot give. Biryar works all three rungs, and this report is organised around the trade at the top two.

Two suppliers in Biryar's records illustrate the two ends of the trade. They are described here as Manufacturer A and Wholesaler B, without names. The rest of the report generalises from them.

Case file AA manufacturer with a dealer shop

Manufacturer A
Who
A German maker of gift and children's products, selling under its own brand
Relationship
Direct trade account, orders placed by the owner once or twice a month
Interface
A dealer web shop, readable only when signed in, no data interface
Assortment
1,632 articles, 72 percent of them listed on Amazon.de
On Amazon
Brand open for this account, 940 articles measured as selling
Constraints
Fixed packing units per article, a supplier minimum, safety documentation for children's items

Manufacturer A is the shape of supply that works for this business. Its trade prices sit well below its recommended retail prices, its minimums are small enough for a young company, and many of its products already sell on Amazon.de under its own brand. Because the account buys directly from the brand owner, the brand gate that blocks most resellers is open. It is also the supplier that taught the system most of what direct supply involves.

From a spreadsheet to a shop

Before the first order there was no shop to read. The assortment arrived as a spreadsheet by email, and the first version of the pipeline was a file reader. Three lessons from that period survive in the current code. Rows describing display cartons, a case of thirty-seven pieces listed as one line with the summed retail price, were being costed as single Amazon units and inventing margins that did not exist, so they are now recognised and dropped. A listing whose Amazon price sat far above the recommended retail price usually turned out to be one opportunistic reseller with no buyers, not a market, so such ratios are capped. And the stock column in an emailed list was days old, so it ranks candidates but never promises delivery.

After the first order the supplier opened its dealer shop to the account, and the file reader gave way to a shop reader. The shop exposes no data interface, so the agent reads its pages the polite way. It uses the shop's own sitemap to list every article in two requests, then reads each article page at one request every three seconds, honouring the site's robots rules and announcing itself as an automated reader.1 A full read of the assortment takes a little over an hour and runs weekly, because a manufacturer's range changes at the pace of a season and this account orders once or twice a month. An update button in Biryar closes the gap on the day an order is placed.

Two details of the shop decide whether its data can be trusted. Trade prices appear only to a signed-in dealer, and a lapsed session does not announce itself. It returns the same page with the price missing. A reader that accepted such a page would write a catalogue of zero-priced articles, each of which would look infinitely profitable to the ranking. So a page without a price is refused, the reader signs in again and tries once more, and a second failure stops the run. The other detail is stock. The shop shows no stock figure anywhere, but it renders one option in the quantity menu for each orderable step up to the lower of stock and maximum purchase, so the packing unit and the available quantity are read off that menu.

The catalogue against Amazon

The shop reader deliberately never calls Amazon. It writes every article's barcode and net price into the same catalogue table the wholesale screener of Part 2 reads, and that screener resolves each barcode to an Amazon listing, checks the gate, reads the featured offer, the sales rank and the competition, and stores the Amazon identifier the first time it is found. The last point mattered to the owner more than any ranking. Listing a new article used to begin with searching Amazon for it by hand and copying attributes such as material, filling, age recommendation and dimensions from the supplier's page into Amazon's form, one field at a time. All of those now sit in the database before the form is opened. Figure 2 shows how the assortment divides.

ARTICLES, ONE SCALE FOR ALL ROWSWHAT THE ROW SAYS In the dealer shop 1,632 articles 1,632 articlesthe assortment, October 2026 Listed on Amazon.de 1,182 listed 450 not listed 72% listed450 have no Amazon page Open to this account 1,178 open 99.7% openbought from the brand owner Measured demand 940 selling 222 80% of open articles sell222 had no sale in 90 days 4 gated 16 unmeasured 0 500 1,000 1,500
Figure 2. Manufacturer A's assortment, joined to Amazon by barcode. Each row splits the coloured part of the row above, on the same scale, and grey marks what drops out. Buying direct from the brand owner leaves almost nothing gated. The real filters are whether an article is listed at all and whether it sells.

The order list

The question asked of this catalogue is not which brand to open, since it is one brand and already open, but which articles to put in the next box and how many of each. The answer is an order list, every article with both sides of the trade on one row, sorted by expected profit per day, the unit margin multiplied by the account's measured share of daily sales. A nine-euro margin that sells twice a year ranks below a one-euro-twenty margin that sells daily, because the second is the one that pays rent.

Profit per day has a precondition, namely that demand was measured. Where it was not, the honest answer is unknown, not zero and not fine. So the list is tiered first and sorted second. Measured and profitable articles come first, then profitable articles whose demand has not been measured yet, then articles that are listed but unprofitable, then gated, unlisted and unscreened ones, each carrying the reason. Nothing is filtered out of sight, because the question a filtered list always raises next is why something is missing, and the answer is usually the part worth reading.

The fee model behind each margin was fitted to this supplier rather than assumed. Amazon had already priced fulfilment for 142 of its articles on this account. The referral fee came out at exactly fifteen percent, and the fulfilment fee ran from €1.89 for its smallest article to €7.03 for its largest. A single flat fee at the median, €3.86, is wrong at both ends of that range, so the fee is now estimated in bands of parcel volume fitted to the 125 measured articles whose dimensions are known, which nearly halves the error, as Figure 3 shows. With unit margins of one to eight euros, half a euro of fee error is the difference between a good line and a bad one.

€2 €3 €4 €5 €6 €7 0.1 0.3 1 3 10 30 Parcel volume in litres, logarithmic FEE AMAZON CHARGED PER UNIT 5.5 L12.5 L one flat fee €3.86 band €3.08 €4.00 €5.16 keyring, 0.11 L large plush, 55 L HOW GOOD IS EACH ESTIMATE Average error per unit one flat fee €0.77 three bands €0.42 Within €0.50 of the real fee one flat fee 34% three bands 66% 125 articles with both ameasured fee and dimensions
Figure 3. Fulfilment fees Amazon charged for 125 of Manufacturer A's articles, against parcel volume. A flat fee overstates the fee of small articles and understates it for large ones. Three bands, each the median fee of an equal share of the articles, follow the cloud and nearly halve the average error. The spread at any one volume is what bands cannot remove, because a porcelain mug and a plush toy of the same size are billed differently. Where Amazon has priced an article, its own figure replaces any estimate.

Two constraints come from the supplier rather than from the arithmetic. Every quantity is a multiple of the article's packing unit, because a quantity that is not is a phone call rather than an order. And the order as a whole must clear the supplier's minimum, which the list makes visible as it is built. An earlier version of the order builder, written for the first order when cash was the binding constraint, ranked by profit per euro of stock instead, and capped each article at a set number of weeks of cover so that a single high-margin line could not absorb a third of the budget.2

The order list for Manufacturer A in Biryar
Figure 4. The order list in Biryar. Supplier facts and Amazon facts share each row, sorted by what owning the article earns per day. Supplier and product names are blurred.

Case file BA wholesaler, read before signing up

Wholesaler B
Who
A German toy wholesaler supplying independent shops, carrying several hundred brands
Relationship
A demonstration account for prospective customers, able to browse and see prices, unable to order
Interface
A trade web shop whose prices are loaded separately as small data responses
Assortment read
4,909 articles across 38 brands
Trade discount
Median 38 percent below recommended retail, most between 29 and 46 percent
Verdict
Seven of seventy deep-discount candidates profitable, almost all gated

Wholesaler B is the opposite case. Opening a trade account means a first order of several thousand euros, and the question the agent was asked to answer before that commitment was simple. At these trade terms, can the lines make money on Amazon at all?

Reading a shop the way the shop reads itself

A product page in this shop is about 190 kilobytes and contains no price. The page loads a placeholder, and the browser then asks the shop for the price through a small request that returns about one kilobyte of data, net trade price, list price, recommended retail price and packing unit. The agent asks the same question the same way, in batches, so pricing an article costs a fraction of a page. Brand listing pages carry up to sixty articles each, with their barcodes, so a brand of three hundred articles costs five page reads and a handful of price requests instead of six hundred page reads.3 The article number the price service uses is also the number the wholesaler's order form asks for, so pricing an article and being able to order it are the same lookup.

The demonstration account brought one failure mode worth recording. The session dropped silently in the middle of runs, with the shop answering the same address with the signed-out page and the price service answering with nothing. The first run reported thirty brands as missing and one as "forty listed, none priced". Both paths now detect a signed-out answer and sign in again, because a truncation that looks like an empty catalogue is the worst error a reader of this kind can make.

The arithmetic of a trade discount

A business under the German small-business VAT rule pays nineteen percent VAT on a domestic wholesale invoice and never reclaims it, as Part 2 explained. On top of that come Amazon's referral fee and the reverse-charge VAT on it, the fulfilment fee, preparation and inbound freight. Together these set a floor on the trade discount a line needs merely to break even, even if it sells at the full recommended retail price. Figure 5 plots that floor, computed by the agent's cost model at the ten-unit depth an initial order implies, against the discounts Wholesaler B actually offers.

TRADE DISCOUNT OFF RETAIL 0% 20% 40% 60% 80% 100% median discount 38% break-even at full retail price break-even at a typical Amazon price above a curve, the article pays €0 €25 €50 €75 €100 €125 Recommended retail price of the article WHAT CLEARS THE BAR 117articles break evenat full retail price 10at a typical Amazonprice, 74% of retail out of 4,367 pricedarticles articles per cell fewmany 96 articles above €130lie off the chart
Figure 5. Where a trade discount can pay. Each cell counts Wholesaler B's articles at that retail price and discount, and the curves give the discount an article needs merely to break even. Selling at full retail price, a ten-euro article needs 88 percent off, and the median discount reaches the curve only near one hundred and twenty euros. Amazon prices in practice sit near 74 percent of retail, which lifts the curve by about eighteen points and leaves nothing under about twelve euros able to break even at any discount. Counts use the fees of the six marked points, interpolated between them.

The figure explains the screen's result before it is read. Of the 4,909 articles, the agent shortlisted about 160 with a discount of at least 45 percent and a recommended price of at least twenty euros, and sent the seventy whose prices looked plausible to Amazon. Sixty-two of them were gated for this account, and seven would have been profitable at the measured featured-offer price. The largest brands in the catalogue, the ones most resellers would want, offered discounts of thirty to forty-two percent, which by Figure 5 makes most of their range structurally unprofitable for a buyer who cannot reclaim VAT. The agent's own note adds the arithmetic of the alternative. A VAT-registered buyer needs roughly fifteen points less discount on every line, which turns the small-business rule from a simplification into a strategic variable.

Two further caveats are recorded beside the numbers. Every price came from a demonstration tier, flagged as such in each response, and whether a real account would see the same terms is unconfirmed. And across the earlier screen of Manufacturer A's spreadsheet, the median featured-offer price on Amazon came in at 74 percent of the recommended retail price, so screening at full retail price is optimistic by about a quarter. The screen's pre-filter was built around that factor.

Case B ended without an order, which is the result the screen was built to make possible. A decision not to commit several thousand euros, taken on evidence before the commitment, is the cheapest outcome a sourcing system can produce.

The censusFinding the next Manufacturer A

Case A showed the shape that works, a German maker with a dealer channel, small minimums, real demand on Amazon and its own brand. Finding the next twenty such makers one trade fair and one email at a time does not scale. The census builds the long list from organisations that already keep one, throws most of it away with cheap checks, and hands the owner a short list with the evidence behind every score.

The long list

Two public directories provide the base. The first is the national register that every company placing electrical or electronic equipment on the German market must join, which lists each registrant with its brands, device categories and registration dates. Being on it is itself proof of one compliance obligation met. The second is a national export database of German manufacturers organised by product group, which covers everything that is not electronics. Both are read at the same pace and with the same rules as the retail harvest of Part 1, region by region and sector by sector, so that a run that stops part-way keeps what it finished.4 Trade-fair exhibitor lists were considered and dropped, because their directories are applications behind private interfaces rather than pages meant to be read.

The two sources disagree about almost everything except a company's name, so companies are merged on a normalised name with legal forms, punctuation and case removed.5 The result is 125,626 companies. The first filter is free. The electrical register also lists authorised representatives, German firms registering on behalf of foreign manufacturers, recognisable by the wording of their entries. They are on the register but they are not makers anyone could buy from directly, and they account for 84,909 of the entries. That leaves 40,717 German companies that make or brand something.

Five filters, cheapest first

Each filter is cheap relative to the next and removes most of what the previous one let through. Every company records the stage it stopped at and why, so a company missing from the short list can always be explained.

100k 10k 1k 125,626 Directories LONG LIST Two public registers, merged on company name EACH ENTRY name, brands COST public pages 40,717 German makers FILTER 1 Authorised representatives of foreign makers out KEPT 32% COST free 21,903 On Amazon.de FILTER 2 Brand searched in three tiers, distributors out KEPT 54% COST catalogue search 10,836 German barcodes FILTER 3 Most barcodes in the GS1 Germany range 400 to 440 KEPT 49% COST free, reused 3,867 Selling FILTER 4 A sale in 90 days, measured on every product KEPT 57% of 6,781 COST a token a product 2,010 Sellable, scored FILTER 5 Amazon is not the seller on every listing KEPT 99% of 2,024 COST gate and offers Logarithmic scale. Kept is the share of the column before, or, for filters 4 and 5, of the companies the test has reached so far. Demand measurement is still running.
Figure 6. The census in October 2026, from a long list of 125,626 companies to about two thousand that could be written to with evidence in hand. Each card names the test a company must pass to reach that column, how much of the previous column survives it, and what the test costs. The two free filters do as much work as the paid ones, which is why they run first. The last two columns cover only the companies measured and checked so far, and will grow.

On Amazon at all. For each company the agent searches Amazon's catalogue by brand and pages through every result, so that the company's complete product list is on record rather than a first page. It searches in tiers and stops at the first that finds anything, the brands the directories declared, then the company's name stripped of legal form, then its first word. The first 1,800 companies taught two corrections. A global brand that ten registrants declare belongs to the one that carries its name, and the other nine are distributors whose search should not include it. And a founder's first name is not a brand, after a company named after its founder was searched by first name alone and returned 960 listings of sheet music. A company that declares thirty brands or more is a distributor, not a maker, and is set aside. Of 40,717 companies, 21,903 were found on Amazon.de.

German from the shelf. The first three digits of a barcode say which national organisation licensed the company's prefix, and 400 to 440 belong to GS1 Germany [4]. This is not proof of German manufacture, since a German importer of foreign goods licenses German barcodes too, but it confirms from the product side what the directory said about the company. The verdict is a share of the company's barcodes, not a count, and costs nothing because the barcodes were collected in the previous step. Half the companies on Amazon passed.

Demand, on every product. Sales rates are measured from counted improvements in sales rank, as in Parts 1 and 2, on every product of every company that reached this stage. There is no sampling. Sampling theory gives the reason directly. A brand's median over ten of its two hundred articles carries a large sampling error [5], and here the cost of that error is a wrong order, while the cost of a census is one token per product, paid once. Products Amazon has never ranked are recorded as unsold without spending a token, and a product shared by several sister companies is measured once and copied to the others.6 So far 6,781 companies have complete measurements, 3,867 of them with at least one product sold in ninety days.

Sellable by this account. For each product the agent checks the gate and reads the offers, including whether Amazon itself is among the sellers. A gate never fails a company, because a manufacturer's own invoice opens its brand gate almost without exception, so for a company one would buy from directly the gate is a form, not a filter. Amazon selling everything itself does fail a company, since Amazon as the featured seller on every listing leaves no room for a reseller. Of 2,024 companies checked, 14 failed for that reason.

Compliance class. Each surviving company is assigned the compliance regime its products fall under, read from what the sources say rather than guessed from a name, and recorded as a cost of entry rather than as a veto. Experience with direct supply showed why this is a first-class input. Safety documentation for one children's line and registration questions for two computer-hardware brands each cost more time than the deals were worth.

ClassRegimeWhat entry costsScored companies
Electrical, registeredGerman electrical equipment law implementing the WEEE Directive [6, 7]Already met by the maker, which is why it is on the register1,984
Toys and children's goodsToy Safety Directive and the General Product Safety Regulation [8, 9]Safety documents, labelling, a named responsible person11
CosmeticsCosmetics Regulation, notification in the EU portal [10]Product notification and safety assessment by the maker5
FoodFood information to consumers regulation [11]German labelling, expiry handling, a gated Amazon category1
GeneralGeneral Product Safety Regulation [9]Basic product safety information on the listing9
Table 1. Compliance classes among the 2,010 scored companies. The electrical register dominates the census so far because it is the larger directory, and its members arrive with their main obligation already met.

One number to sort by, and every input beside it

Profitability cannot be ranked before contact, because profit needs a buy price and the buy price is what a manufacturer sends after being written to. What can be ranked is attractiveness, expressed as the euros a day the company's whole catalogue would earn if the account bought at an assumed trade discount and sold at today's prices against today's competition.

\begin{aligned} \tilde p &= \operatorname{median}_{i}\; p_i \\[4pt] m &= \tilde p\,(1-r) \;-\; f(\tilde p) \\ &\qquad -\; 1.19\,s\,\tilde p \;-\; h \\[4pt] u &= \sum_{i=1}^{N} \frac{d_i}{k_i + 1} \\[10pt] \text{score} &= \max(m,\,0)\cdot u\cdot c \end{aligned}
p_i
today's Amazon price of product i, and \tilde p the company's typical price
N
every product of the company with a measured sales rate, with no sampling
r
Amazon's referral rate
f(\tilde p)
the fulfilment fee, estimated from price bands because no sizes are known at this stage
s
the assumed trade price as a share of the Amazon price, the one input that is not measured
1.19
German VAT on the supplier's invoice, which a small business cannot reclaim
h
preparation and handling per unit
d_i
units of product i sold per day, from counted sales-rank drops
k_i
rival offers on its listing, so d_i/(k_i+1) is this account's fair share
c
the compliance factor of the company's class, a cost of entry rather than a veto

The score reads as euros a day. The brand gate does not enter it, because a manufacturer's own invoice opens its gate almost without exception, and the share of open products is shown beside the score instead.

Every input except one is measured. The trade share is a stated prior, taken from the one manufacturer whose terms the business knows, and it is the number the owner should expect to be wrong by a third in either direction. In Bayesian terms it is an informative prior that the first price list will replace with data [12]. The inputs are stored with each score, so that the Manufacturers page can show the arithmetic and the owner can disagree with a term instead of with a number. The owner writes to the top of the list, and the page records where each conversation stands, contacted, price list received, declined or supplier. When a price list arrives, it goes through the same pipeline as Manufacturer A's catalogue, and the order-list ranking takes over. Nothing in the census sends anything.

The Manufacturers page of Biryar
Figure 7. The Manufacturers page. The funnel across the top starts from the 40,717 German makers, after the authorised representatives have been removed, and the short list below shows each score beside its inputs. Company and brand names are blurred.

The product viewBest sellers

The census measures products in order to judge companies. Read the other way round, the same measurements answer a buyer's question rather than a writer's, namely what sells, who makes it, and whether this account may list it. The Best sellers page sorts every measured product by demand, with its maker beside it, and filters by brand, category, competition and gate.

The scale of the underlying data is worth stating. The census has collected 4.66 million product records for its companies, 3.02 million distinct Amazon products, and by 12 October had measured or settled 1.21 million of them. Figure 8 shows how few of those sell at all, and how much of the selling the few do.

Products1,214,125 Units sold60,284 a day 75.2% 8.3% 6.8% 9.2% 11.4% 72.4% 12.2% 4.0% 75% of products, 0% of sales 0.5% of products, 12% of sales
No sale in 90 daysUnder one a monthOne a month to one a weekOne a week to one a dayOne a day or more
Figure 8. Demand in German manufacturers' Amazon catalogues, 12 October 2026. The top bar splits the measured products by how often they sell, the bottom bar splits the units they sell, and each ribbon joins the two shares of one band. Three quarters of the products sold nothing in ninety days. The half percent that sells daily moves an eighth of all units, the top tenth of products moves 85 percent, and the long tail found in online retail [13] is very long here. The daily band is a floor, because sales-rank drops undercount products that sell more than once a day.

Two measures of demand appear on the page, because each is right in a different range. The rate counted from sales-rank improvements is exact for products selling up to about one unit a day, but above that the rank cannot fall on every sale and the count lags. For those products Amazon's own "bought in the past month" figure, relayed by Keepa, is coarse, a floor rounded to a round number, but it does not lag, so for a best seller it is the figure to read. The top of the list is re-measured daily within a fixed token budget, so the page shows this month's demand rather than the month the product was first measured.7

The Best sellers page of Biryar
Figure 9. The Best sellers page. What sells, who makes it, and whether this account may list it. The count at the top of the page covers only products with measured sales, before products shared by sister companies are folded together, which is why it differs from the figures above. Product, brand and company names are blurred.

Across the threeLessons

  1. Upstream trades margin for obligations.Each removed intermediary is a margin kept, and each brings a trade account, a packing unit, a minimum order or a safety document in exchange. The trade is favourable when the obligations are small relative to the order, which is why small-minimum makers with their own dealer channel are the target.
  2. Rank attractiveness before contact, profit after.A score built on a stated prior is honest about what it does not know. Ranking by profit before a price list exists would have been ranking by guesswork with more decimal places.
  3. Measure everything that decides money.Demand is measured on every product rather than a sample, and fees are fitted to fees actually charged. Sampling and assumption are cheaper only until the first wrong order.
  4. Hide nothing, explain everything.Every company records where it left the funnel, every article carries the reason it is not buyable, and every score shows its inputs. A list that silently omits things invites the wrong question.
  5. Tax status is a sourcing variable.For a buyer who cannot reclaim VAT, wholesale lines below about fifty euros of retail price rarely pay at typical trade discounts. That is a fact about the business model as much as about any supplier.
  6. An empty result is a result.The wholesaler case produced no order, and that was its value. The cheapest decision a sourcing system can support is a well-founded no.

Honest marginsLimitations

The census is unfinished. Demand has been measured for about two thirds of the companies that reached that stage, and the export database has so far been read for thirteen sectors. The short list will change as both complete.

The census leans towards electronics. The electrical register is by far the larger source, so electronics makers dominate the scored companies, while the products that worked best in direct supply so far come from other categories. A broader non-electrical source would rebalance the list.

The score rests on one prior. The assumed trade share comes from a single supplier's terms, and fulfilment fees in the census are estimated from price bands rather than measured. Both are stated on the page, and both are replaced by real figures once a price list arrives.

Names are an imperfect key. Merging directories on normalised names can join two companies that share a trading name, and searching Amazon by name can still attribute a distributor's listings to a maker. The tiers and the distributor rule catch the common cases, not all of them.

Wholesale terms were seen through a demonstration account. Case B's conclusion holds for the prices that account showed. A real trade account might offer different terms.

For the technical readerNotes

  1. The shop is a standard commercial storefront whose data interface requires an access key the storefront never exposes, and whose listing pages are rendered on the server with no data behind them. The page markup is therefore the interface. The parser is kept separate from the session and the pacing, so that the fragile part, the markup, can be pinned in recorded pages and tested offline indefinitely. A product's barcode is a row of the attribute table rather than a field, and a page that parses without one is rejected, because the barcode is the only key Amazon can be searched by. ↩
  2. Both ranking keys answer a real question. Profit per euro of stock asks how hard the first order's limited cash works, and suits a first purchase when capital binds. Profit per day asks what owning the stock earns, and suits a running relationship once demand is measured. The current list uses the second and shows the cash committed beside it. ↩
  3. Each article card on a listing page ends with the placeholder for its price, so the page splits cleanly into cards at that marker, and every barcode, link and title within a card belongs to that article. Matching by position instead would occasionally assign a barcode to its neighbour, an error that would reach a purchase order without anyone noticing. ↩
  4. The electrical register is a form-driven web application that requires a session token to be echoed with every request and identifies its buttons by generated names. The reader finds every control by its visible label and reads the generated name afresh on each page, since nothing promises the names are stable. It reads two views per region, brands and categories in one and postcodes in the other, and merges them on the registration number. The export database is read by category tree, and its links to company websites, which its robots rules disallow, are never fetched. The domain is read off the link instead. ↩
  5. Name normalisation lower-cases, folds accents and German umlauts, and strips legal forms such as GmbH and KG together with punctuation, so that two spellings of the same company meet. Two different companies with the same trading name will collide, which was accepted because the directories carry no shared identifier that would do better. ↩
  6. The census runs as one always-on service with three lanes, because its stages wait on different resources. Searching Amazon's catalogue is limited by the seller interface's rate, demand by Keepa's token refill, and access checks by the pricing interface. In a single loop the demand lane's waiting idled the search lane for twenty minutes at a time, so each lane now runs on its own and paces itself against its own limit. The catalogue search runs at one request a second, half the documented ceiling, after a first night at twice that speed collected fifty throttling responses an hour. ↩
  7. Sister companies share catalogues, so one product can sit under several makers, and the list has to show it once. Removing duplicates with an aggregate query forced the database to read the whole register before returning the first row, and the page timed out. Duplicates are now removed after the query, which returns within the page's time limit. ↩

ReferencesSources

  1. Spengler, J. J. (1950). Vertical integration and antitrust policy. Journal of Political Economy, 58(4), 347–352.
  2. Coase, R. H. (1937). The nature of the firm. Economica, 4(16), 386–405.
  3. Williamson, O. E. (1979). Transaction-cost economics. The governance of contractual relations. Journal of Law and Economics, 22(2), 233–261.
  4. GS1 (2024). GS1 General Specifications, Release 24.0. GS1 AISBL.
  5. Cochran, W. G. (1977). Sampling Techniques (3rd ed.). Wiley.
  6. European Parliament and Council (2012). Directive 2012/19/EU on waste electrical and electronic equipment (WEEE). Official Journal of the European Union, L 197, 38–71.
  7. Elektro- und Elektronikgerätegesetz (ElektroG) of 20 October 2015. Bundesgesetzblatt I, 1739.
  8. European Parliament and Council (2009). Directive 2009/48/EC on the safety of toys. Official Journal of the European Union, L 170, 1–37.
  9. European Parliament and Council (2023). Regulation (EU) 2023/988 on general product safety. Official Journal of the European Union, L 135, 1–51.
  10. European Parliament and Council (2009). Regulation (EC) No 1223/2009 on cosmetic products. Official Journal of the European Union, L 342, 59–209.
  11. European Parliament and Council (2011). Regulation (EU) No 1169/2011 on the provision of food information to consumers. Official Journal of the European Union, L 304, 18–63.
  12. Gelman, A., Carlin, J. B., Stern, H. S., Dunson, D. B., Vehtari, A., and Rubin, D. B. (2013). Bayesian Data Analysis (3rd ed.). CRC Press.
  13. Brynjolfsson, E., Hu, Y. J., and Smith, M. D. (2003). Consumer surplus in the digital economy. Estimating the value of increased product variety at online booksellers. Management Science, 49(11), 1580–1596.

Written from the live system's databases, configuration and design notes. Counts were read from the production server on 2 October 2026. Supplier, company and brand names are withheld. Biryar is a Ciya Labs project.