One Fish, Many Names: The Tools ChefMod Uses to Keeps Price Comparisons Honest
If you’ve ever held up two seafood invoices and wondered whether you got a good deal, you know the problem. The same fish shows up under a dozen names. One product might be premium, MSC certified and wild, the other one mass-market and farmed — or it might be two labels for the exact same product. That ambiguity hampers decision making. We are publishing a document here that shows our internal logic, simplified. Its part of our effort to be transparent about our behind the scenes logic.





Why it’s not always the same item
Picture one word on an invoice: salmon. That could be farmed Atlantic from Norway or wild Pacific from Alaska — two different fish, priced differently. Treat them as interchangeable because the label says “salmon” both times, and every comparison after that is built on sand: your food cost is off, your benchmarks compare things that were never comparable. Now multiply that by every species in the sea, each with its own naming quirks, grades, and supplier shorthand.
Better judgment, written down
Plenty of systems try to fix this by matching text — if the words look similar, call it a match. But seafood words lie constantly. So ChefMod matches meaning instead: we’ve taken the judgment a seasoned buyer carries in their head and turned it into clear, repeatable decision workflows. An item runs through the same questions an expert would ask, and lands in the right group every time.
Four quick examples:
Salmon — a name is not always an origin. We read the signals a buyer reads: country, river, marketing name. When origin can’t be read, we flag it rather than guess. The detail that proves the point — steelhead and rainbow trout are the same species (Oncorhynchus mykiss), but sea-run and landlocked are different products at different prices, so we never split them on the name alone.
Scallops — the count tells the story. “Sea” and “bay” aren’t just labels; they’re species and sizes. The honest test is count per pound: under 20 is a sea scallop, over 40 is a bay. The 20–40 gray zone is sometimes Patagonian scallop sold as “bay,” so we check the label.
Octopus — the preparation is the product. Whole, cooked, sliced for carpaccio, or tinned off a shelf — each is a different purchase at a different price, though they’re all “octopus.” So we route by the form it actually arrives in. (And yes: an octopus has eight arms — the correct term, not “legs” or “tentacles.”)
Crab — one word, five products. Picked crab is a graded ladder, from prized jumbo lump down to richly flavored claw — and jumbo lump can cost several times what claw does. Treat them as one line and a crab-cake menu’s margins quietly fall apart. We also read the finer signals: when an invoice notes that meat was black-light picked — UV light is used to spot and remove shell fragments — we know what that description means and can capture it accurately, so what reaches the chef reflects what was actually bought.
The takeaway
Every one of these workflows exists for one reason: to make sure that when ChefMod compares two prices, the comparison actually makes sense. Right species, right grade, right form — so you’re comparing like with like, and the cost data you trust is data you can trust.
It reflects something we care about, too: we take culinary distinctions seriously. The difference between sea-run and landlocked trout, or jumbo lump and claw, isn’t pedantry — it’s the difference between a number that means something and one that doesn’t.
Where we are right now
We’re about one month into a dedicated culinary integrity initiative — a systematic review of how items are grouped and compared across the platform. We’re going category by category: pressure-testing the logic, retiring duplicates, tightening the rules. It’s ongoing and deliberate, and the standard is simple: every comparison we surface should be one a knowledgeable chef or buyer would nod at.