Beginner perfumer · 86
I looked up every material name in 954 formulas. 53.7% missed — and that is not a coverage problem
· 14 min read
I took 954 deduplicated public formulas, pulled out the 2,994 distinct material names inside them, and looked up every one. The name field matched 1,186 (39.6%); the synonym field caught another 199 (6.6%); 1,609 missed — 53.7%. But sort the misses by how often they occur and the top twenty are almost all things a person recognises instantly. The most frequent is dipg at 445 occurrences: an abbreviation for dipropylene glycol. Then hedione, iso e super, cinnamic alcohol, linalol, styrallyl acetate. All of them are in the database under a different string. I sorted the gap into six kinds. Each has a different fix.
About a 5 minute read.
I keep answering questions with this database, and I keep running statistics on those 954 public formulas. But I had never asked a basic question: how many of the material names in those formulas can the database actually find?
The numbers first
The 954 formulas contain 2,994 distinct material names across 17,481 occurrences.
Looking each one up (against name and head_synonym, after stripping a trailing dilution marker like "10%"):
| Count | Share | |
|---|---|---|
| Matched on the name field | 1,186 | 39.6% |
| Matched on the synonym field | 199 | 6.6% |
| Missed | 1,609 | 53.7% |
More than half miss. And those misses account for 6,936 occurrences — 39.7% of all occurrences.
That looks bad. It is not a coverage problem.
The top twenty misses
| Occurrences | Name |
|---|---|
| 445 | dipg |
| 165 | hedione |
| 131 | bergamot oil bergaptene reduced |
| 113 | ylang ylang oil |
| 104 | iso e super |
| 93 | cinnamic alcohol |
| 82 | galaxolide 50 ipm |
| 77 | styrallyl acetate |
| 76 | gamma-undecalactone |
| 60 | cis-3-hexenol |
| 52 | orange oil |
| 52 | triplal |
| 50 | lyral |
| 50 | vertofix |
| 49 | phenylethyl alcohol |
| 49 | verdox |
| 42 | linalol |
| 42 | aldehyde c-14 |
Not one of these is a material the database actually lacks.
Six kinds of gap
I resolved the top twenty by hand (using only the name and synonym fields, never supplier text — that layer produces false positives, a trap I walked into in Four ways a material has no data):
1. Abbreviation.
| Formula writes | Database name | Suppliers |
|---|---|---|
| dipg | dipropylene glycol | 37 |
The most frequent name in the whole corpus is an abbreviation. 445 occurrences, 2.5% of everything, and it is dipropylene glycol — not even a material, a solvent.
2. Trade name absent from the name field.
| Formula writes | Database name | Suppliers |
|---|---|---|
| hedione | methyl dihydrojasmonate | 102 |
| iso e super | patchouli ethanone | 79 |
| vertofix | methyl cedryl ketone | 71 |
| triplal | 2,4-ivy carbaldehyde | 54 |
| verdox | green acetate | 52 |
| undecavertol | violet decenol | 29 |
This database uses a chemical description as the primary name and puts the trade name elsewhere. Why Hedione does not come up got its own article.
3. The trade name is there, spelled differently.
| Formula writes | Database name | Suppliers |
|---|---|---|
| lyral | leerall | 40 |
This one is worth pausing on. Lyral and leerall are two trade spellings of the same material, and the database carries the second. String matching will never find it; a person sees it immediately.
4. Spelling variants.
| Formula writes | Database name |
|---|---|
| linalol | linalool |
| phenylethyl alcohol | phenethyl alcohol |
| cinnamic alcohol | cinnamyl alcohol |
| styrallyl acetate | styralyl acetate |
The last one differs by a single L.
5. The database name has an alias embedded in it.
| Formula writes | Database name |
|---|---|
| gamma-undecalactone | gamma-undecalactone (aldehyde C-14 …) |
| aldehyde c-14 | same record |
One record, and neither spelling finds it — while the name contains both. Because the match is whole-string equality, not containment. That record has 119 suppliers; the two spellings together occur 118 times in the corpus.
6. Coarse natural name versus the database's specific one.
| Formula writes | What the database has |
|---|---|
| ylang ylang oil | ylang ylang flower oil, flower oil I / II / III |
| orange oil | orange oil terpenes, blood orange oil italy… |
| bergamot oil bergaptene reduced | bergamot oil bergaptene reduced italy |
The formula names a category; the database carries specific products. The last one differs by an origin word. (Different products sitting under one CAS is something I measured in Records that share a CAS.)
So what does "53.7% miss" mean
It is naming distance, not a gap in coverage.
Of the 1,609 misses, the top twenty I resolved by hand all have a corresponding record, most with a healthy supplier count (37 to 119). Materials genuinely absent from the database certainly exist — newly launched compounded bases, for one — but they are not the bulk of that number.
What this means for you: when a lookup fails, do not start by assuming the database lacks it. Run these six first.
A lookup checklist
- Is it an abbreviation? dipg, IPM, DEP, TEC.
- Is it a trade name? Look up the chemical name. Hedione, Iso E Super.
- Is the trade name spelled the way you think? Lyral / leerall differ by a letter.
- A spelling variant? linalol / linalool, -yl / -ic endings.
- Try "contains" instead of "equals." The database name may have a parenthetical alias inside it.
- For naturals, add origin and plant part and try again. "Neroli oil" becomes "neroli oil france."
If all six fail, then it is worth writing down — at that point it might genuinely be new.
What this doesn't establish
- The six kinds are induced from the top twenty. I did not classify the remaining 1,589 misses, so I do not know their relative proportions.
- The resolution was done by hand, using what I already knew about these trade names, not by an automated match.
- "Genuinely absent materials are not the bulk" is an inference. Proving it would require working through all 1,609 manually.
- The match used only
nameandhead_synonym. Thesynonymsfield holds truncated fragments (things like "3,7-") and cannot be matched against. - The 954-formula corpus is itself biased — publicly shared formulas are not all formulas, and this batch skews toward commercial demonstration formulas.
- Dilution handling only stripped a trailing "N%". Forms like "galaxolide 50 ipm" were not normalised.