How the Seed Oil Tracker numbers are made
This page documents exactly how we estimate seed-oil content, grade restaurant chains, and source cooking-oil facts, so the data can be checked, trusted, and cited. It is the method behind the open dataset, the chain report cards, the rankings, and the free AI API.
1. Estimating PUFA per menu item
Seed oils are a concern because of one fat in particular: polyunsaturated fat (PUFA), mostly linoleic acid. Restaurants almost never report it. US law makes reporting polyunsaturated fat voluntary, while total fat and saturated fat are required. That single rule is why no chain publishes a PUFA number, and why every figure on this site is worked out rather than copied off a label.
What restaurants do publish is total fat and saturated fat. Since fat is only ever saturated, monounsaturated, or polyunsaturated, subtracting the saturated part leaves the fat that could be polyunsaturated. We then multiply by how much of that oil actually is:
PUFA grams = (total fat − saturated fat) × the oil's PUFA share
For a packaged food scanned by barcode, saturated fat is not always on the record we get back. In that case we multiply total fat by the oil's share instead, which gives a higher, more cautious number.
The PUFA share of each fat comes from USDA oil-composition data and published fatty-acid studies. Where a food could use a regular or a high-oleic variant of an oil, or names several fats, we use the higher-PUFA value. That keeps every estimate cautious and matches the point of the app: flagging seed oils rather than underplaying them.
1b. Seed oil gets in at more than one point
The fryer is the obvious one, and for a long time it was the only thing we tracked. It turns out that is not enough, because the fat in a finished restaurant meal arrives by several different routes:
- What the animal ate. Chickens and pigs store the fat they are fed, and they are fed corn and soy. Conventional chicken fat is roughly 16 to 29% polyunsaturated before it is cooked in anything. Cattle are different: a cow's rumen destroys most of the polyunsaturated fat in its feed, so beef fat stays near 3 to 6% whether the animal ate grass or grain.
- What happened at the factory. Frozen fries and breaded chicken are usually part-fried at the plant before they ever reach a restaurant, often in vegetable oil. Very few chains disclose this step.
- The fryer. The oil the restaurant actually cooks in. This is the part chains talk about, and the part they can change.
- What is added at the end. The bun, the mayo, the dressing, the sauce. On a grilled chicken sandwich the mayonnaise can carry more polyunsaturated fat than anything that was fried.
This is why a chain frying in beef tallow is not automatically clean. Buffalo Wild Wings genuinely fries in beef shortening, but their wings still carry real polyunsaturated fat, because it is already in the chicken. On a plain six-count wing, the tallow contributes about 0.2 g and the bird itself contributes about 5 g.
Where a chain publishes both total fat and saturated fat, we can often work out how much of the fat came from which source, because animal fats and seed oils have very different saturated shares. That check is what told us Buffalo Wild Wings' Original Buffalo Sauce could not be the classic butter recipe: the saturated fat was far too low. Their own ingredient list confirmed it is soybean oil.
1c. How sure we are, item by item
Not every number is equally solid, and pretending otherwise would be the dishonest part. Every item in the app carries one of three labels, and you can see it by holding your finger on any item:
| Label | What it means |
|---|---|
| From the chain | The restaurant published the fat figures we used. We show the arithmetic. |
| Calculated | A named source plus working we can show you. |
| Estimated | Based on typical values for that kind of dish and the oil the chain uses, but not yet checked against that restaurant's own published nutrition. |
Most items are still Estimated. We are working through the menu one chain at a time, moving items up to From the chain wherever a restaurant publishes enough to check. An estimate is not a guess: it draws on real data about how these dishes are made. But it describes the typical version of a dish, so it can be wrong exactly where a chain does something unusual, and that is the case worth knowing about.
If you find a number you think is wrong, tell us. Several corrections on this site came from readers who checked our work.
1d. Which source wins
When two sources disagree, we do not average them and we do not pick the one we like. There is a fixed order, strongest first:
| Rank | Source | Shows as |
|---|---|---|
| 1 | The restaurant's own published nutrition panel | From the chain |
| 2 | The restaurant's own allergen or ingredient statement (tells us the oil, not the grams) | From the chain |
| 3 | A government lab measurement: USDA FoodData Central, or Open Food Facts for packaged goods | From the chain / Calculated |
| 4 | An established nutrition database (CalorieKing, MyNetDiary, FatSecret and similar) | Calculated |
| 5 | Typical values for that kind of dish, combined with the oil the chain is known to use | Estimated |
Four rules settle the rest:
- A measurement always beats our estimate. If a lab measured the food, that wins, even when our own calculation says something higher. We do not overwrite real data.
- The same dish in another country is a different item. McDonald's fries in the UK are not McDonald's fries in the US, because the oil differs. We never merge them.
- Where the evidence is equal, the higher number wins. Understating means someone eats seed oil believing it is clean. Overstating just means they skip something.
- A number that is physically impossible gets fixed immediately. Polyunsaturated fat can never exceed total fat minus saturated minus trans, because the remaining monounsaturated fat cannot be a negative amount. We check every value against that ceiling and treat a breach as a bug, not an opinion.
One honest caveat about rank 3. Government lab measurements of a specific food are excellent. Government generic reference tables can be decades old. The standard figure for lard predates distillers grains entering hog feed, and understates today's commodity lard by up to half. We use measured food panels freely and treat generic composition tables with an eye on their date.
| Fat / oil | PUFA share of fat | Type |
|---|---|---|
| Safflower oil (regular) | 80% | seed oil |
| Grapeseed oil | 70% | seed oil |
| Sunflower oil (regular) | 68% | seed oil |
| Soybean oil | 60% | seed oil |
| Corn oil | 60% | seed oil |
| "Vegetable oil" (unnamed blend) | 58% | seed oil |
| Cottonseed oil | 54% | seed oil |
| Rice bran oil | 38% | seed oil |
| Peanut oil | 33% | not a seed oil |
| Sunflower oil (mid-oleic, common in the US) | 32% | seed oil (lower PUFA) |
| Canola oil | 32% | seed oil (lower PUFA) |
| Chicken fat (conventional, corn/soy-fed) | 26% | animal fat, but high PUFA |
| Pork fat / lard (modern US commodity) | 21% | animal fat, but high PUFA |
| Avocado oil | 16% | not a seed oil |
| Canola oil (high-oleic) | 14% | seed oil (much lower PUFA) |
| Olive oil | 12% | not a seed oil |
| Soybean oil (high-oleic, e.g. Plenish) | 11% | seed oil (much lower PUFA) |
| Palm oil | 11% | not a seed oil |
| Sunflower oil (high-oleic) | 10% | seed oil (much lower PUFA) |
| Beef fat / tallow | 5% | not a seed oil |
| Butter | 5% | not a seed oil |
| Coconut / palm-kernel oil | 2% | not a seed oil |
Representative values; the full table lives in the app's open-source estimator. High-oleic varieties (bred to be mostly the stable fat in olive oil) can be far lower and are noted per chain where known.
2. Grading a chain
A chain's grade is the average estimated PUFA per menu item across the items we have scored for it. Lower is better:
| Grade | Average PUFA per item |
|---|---|
| A Low Risk | Under 4 g |
| B Medium Risk | 4 to 6 g |
| C High Risk | 6 to 8 g |
| D Very High Risk | 8 to 12 g |
| F Extreme Risk | Over 12 g |
Averaging across the menu means a chain is not judged by its single worst or best item, but by the typical choice a customer faces.
3. Sourcing the cooking-oil facts
The oil a chain fries and cooks in is the biggest driver of its score, so we track it per chain. Those facts come, in order of preference, from: the chain's own published ingredient and allergen documents; official customer-service answers; and, where a chain does not disclose, the documented US industry default (soybean or canola) marked plainly as an assumption. Each chain's oil is shown on its report card and in the open dataset. When a chain uses different oils for different items (for example peanut oil for chicken but canola for fries), we record that split rather than flattening it.
4. Undisclosed and independent restaurants
Most independent restaurants — and the app's "Take a guess" dish estimates for no-brand meals — never publish an ingredient list. But nearly all of them buy from a handful of broadline distributors: Sysco, US Foods, Gordon Food Service, and Performance Foodservice. Unlike restaurants, distributors publish product specs, and their house-brand kitchen staples are overwhelmingly seed-oil based: US Foods' standard clear frying oil is 100% soybean oil, Sysco's clear frying oils are canola and soybean blends, and the default foodservice mayonnaises and salad dressings are built on soybean oil.
So where a restaurant does not disclose, we assume distributor-standard products: a soybean or canola fryer, soybean-oil mayo, and soybean-oil dressings. That assumption drives the typical-preparation numbers in the app's "Take a guess" logging table, and it is marked plainly as an assumption wherever it is used. If your local spot fries in beef tallow, it is the exception — and probably says so on the menu. The full paper trail, with the product listings, lives on the distributor oils page.
5. Validation and honesty
Two ways we keep ourselves honest:
- Where a food carries a measured PUFA value (from USDA FoodData Central or Open Food Facts), we use the measured number instead of the estimate.
- Our estimator is checked against USDA oil-composition data, and the whole dataset runs an automated audit that flags implausible values before publication.
We also keep a balanced Evidence page that includes the studies which disagree with the seed-oil-harm case, because a source you can cite has to show both sides.
6. Limits
These are estimates, not lab assays. Preparation, portion size, and cooking oil vary by location and change over time; a chain can be clean on the fryer and not on the sauces. Treat the numbers as directional guidance for eating out, and tell us when something looks wrong so we can fix it.
Cite this dataset
Researchers, journalists, and developers are welcome to use and cite the data under CC BY 4.0. Suggested citation:
Seed Oil Tracker. Restaurant Chain Seed-Oil (PUFA) Dataset. seedoiltracker.com/open-data (accessed 2026). CC BY 4.0.
Bulk data: seedoiltracker.com/open-data · Live API: seedoiltracker.com/ai-tool · Evidence: seedoiltracker.com/evidence