Methods & provenance
Every figure this product shows you is a computed estimate. This page names the methods that compute them and the data they run on, so you can judge the numbers instead of trusting them. The short companion piece, the determinism receipt, draws the exact line between the engine and the language model.
The catalog
The engine runs on a catalog of roughly 260 materials: naturals and aroma chemicals, each carrying descriptor profiles, olfactive family, usage guidance, and physical data (boiling point, molecular weight, vapor pressure, density), keyed to CAS numbers.
That data is hand-curated, and the word is doing real work. Early on we tried bulk-filling physical data from public chemistry databases. It quietly poisoned the engine: reduced-pressure boiling points and modeled vapor pressures made tenacious base materials read as volatile tops. We stopped. Catalog physics is curated by hand against a CAS-keyed master file, and disagreements are settled against primary references rather than whichever database answers first.
The volatility model
How a material behaves over time is modeled with a three-factor volatility index:
| Factor | Weight | Why it matters |
|---|---|---|
| Boiling point | 45% | The strongest single predictor of evaporation behavior at skin temperature |
| Molecular weight | 30% | Heavier molecules leave the skin more slowly; the classic BP-MW framework after Calkin and Jellinek |
| Vapor pressure | 25% | The direct measurement, used where a trustworthy figure exists |
When a curated vapor pressure is missing, the model falls back to the two-factor form rather than inventing one. When physical data is missing entirely, the material falls back to its curated catalog role rather than wearing a guess dressed as a measurement. Metrics that cannot be computed show no data, and a material with no curated density is flagged on the lab sheet.
Roles in context
A material's top, heart, or base reading is not a fixed label. The engine computes the formula's weighted center of volatility and shifts the role thresholds around it, bounded to a small range, so lemon at half a percent in a heavy amber reads as the accent it is, not the driver it is not. If you pin a role by hand on the edit screen, your pin wins and the engine leaves it alone.
Performance estimates
Projection, longevity, and sillage are computed estimates derived from the volatility model and the composition. They are honest about being estimates: the formula page carries a standing note that the numbers are starting points and the bench wins. Studio Pro lets you record your own bench reading beside the estimate; your reading is displayed and exported, and it never feeds back into the engine's math.
Lab math
Lab sheets convert between percentages, grams, and milliliters using a mass-weighted density computed from the actual composition, not an assumed 1.0. Materials with no curated density are flagged on the sheet rather than silently assumed.
Where the language model sits
In a handful of places, each labeled in the interface. Two can propose composition: the plain-language brief box, where the model reads your words and proposes a palette with starting proportions, and the inventory advisor, where it drafts formula ideas from what you own. The rest is prose and naming: the optional AI Insights commentary on a formula (its suggestion changes percentages only when you choose to apply it), scent stories, and name and accord-name suggestions. The structured generator, the computed read-back, and the craft tooling, meaning substitution ranking, the cost optimizer, reformulation, build-check, and the lab math, run with no model in the loop. The full boundary, and how to verify it yourself, is on the determinism receipt.
Engine said, bench said
A model is only worth what the bench confirms. This is a standing public log of computed estimates against real bench readings, hits and misses both, from us and from the perfumers reviewing the product.
Log opened June 2026 · no entries yet
The first entries land here as bench reviewers run formulas at the bench and report back. Misses get logged with the same prominence as hits, alongside what we changed because of them.
Benched something the engine got right or wrong? Send the formula and your reading to [email protected] and it goes in the log, credited if you want.
The limits, stated plainly
- These are models, not measurements. A GC trace and a skin test outrank every number on the screen.
- Naturals vary by lot, origin, and year. The catalog describes a representative material, not your bottle.
- An estimate of projection is not a promise of projection. Skin, weather, and concentration all bend the curve.
- The engine proves a formula is structurally sound and reproducible. Only your nose proves it is good.
Related reading: the determinism receipt · your formulas are yours · the changelog