Catalog profitability traffic light
All your recipes ranked by real margin, in red, amber and green: which ones lose you money, which have a thin margin, and which have a healthy margin.
What it is
A single screen with your whole catalog ranked by real margin. In red, the recipes selling below their cost; in amber, the ones with a thin margin; in green, the ones with a healthy margin. Money-losing recipes come first, worst on top.
- Path:
https://app.areacacao.com/costs/profitability - How to get there: Sidebar → FORMULATION → Costs → Profitability tile, the second in the hub (the first one is Express costing).
- Screen title: Catalog profitability — "All your recipes ranked by real margin. In red, the ones losing you money."
- Credits: none. The calculation runs in your browser with the same engine as the recipe's Costs tab.
What a recipe needs to be classified
Two pieces of data, and only two:
- Its complete cost — the same fully loaded cost as the cost breakdown: ingredients, supplies and packaging, labor (including payroll taxes and benefits), equipment and overhead. Every ingredient must have a cost.
- Its real selling price — the manual price of one of its sales channels.
If something is missing, the recipe gets no color: it lands in one of two states, each with its own call to action. The traffic light never makes up a number.
| Status | When | Call to action |
|---|---|---|
| Incomplete cost | An ingredient has no cost, imported ingredients are still pending, or something else needed to complete the cost is missing (overhead, for example). Even if the recipe has a price, it is not classified. | "Resolve N pending ingredients" (opens the recipe), "Set the cost of N ingredients" (opens its Costs tab) or "Review pending costs". |
| Unclassified | The selling price is missing, or the engine gets no cost at all. | No price: "Add the selling price", next to the row's price field. No cost: the link "Set up your costs in 1 minute", which opens Express costing. |
On an incomplete-cost row, the Cost/unit column shows the partial cost in gray with its coverage, for example (3/4 costed), so nobody reads it as the real cost.
Why the target margin doesn't count as a price
If a recipe only has a target margin (say, "I want 60%"), the traffic light does not classify it using the price derived from that margin. The reason is mathematical: that price is computed so that the margin comes out at 60%, so the screen would hand you back exactly the number you typed as a wish — an always-green traffic light that measures nothing. Only the price you actually sell at produces a real margin.
The three colors
| Status | Criterion | What it means |
|---|---|---|
| 🔴 Losing money | margin < 0% | The price doesn't even cover the fully loaded cost: every sale loses money. |
| 🟠 Thin margin | 0% – 25% | Covers the cost, but the cushion is thin for a workshop. |
| 🟢 Healthy margin | > 25% | Reasonable margin on the selling price. |
The margin is computed on the selling price (not on cost — the margin vs. markup difference is explained in Margin, markup, channels and break-even).
The list is ordered: red (worst margin on top), amber, green, incomplete cost and unclassified.
Setting prices without leaving the screen
Every unpriced row has an inline Price (EUR) field (the parentheses show your profile's currency code): type the price and press Enter (or leave the field). The price is saved as the manual price of the recipe's first sales channel, the row reclassifies instantly and the header counters update. It's the fastest way to go from "91 unclassified recipes" to a traffic light with real information: walk the list and type the prices you sell at.
Each recipe name links to its Costs tab. On a phone, the table turns into one card per recipe with the same data.
Prices from your purchase book
If a recipe has unpriced ingredients but your book already has a price for them (purchases from the Operations module, prices registered under Ingredient prices or the price you set on your own ingredient sheets), the traffic light uses that price to compute the cost. When that happens, the row says so: "N prices from your purchase book", and a line above the table says how many recipes it applies to.
Important: those prices are used only for this screen's calculation — the saved recipe is not modified. Prices you type in the recipe always win over the book's.
What you see at the top
Six counters: Recipes (total), Losing money, Thin margin, Healthy margin, Incomplete cost and Unclassified. Below them, depending on the state of your catalog:
- If any recipe is in the red, a headline says it plainly: "N of your recipes sell below their real cost. They're at the top of the list."
- If no recipe is classified yet, a note reminds you of the two pieces of data needed and that the price goes right here, in the Price column.
- If some recipes have an incomplete cost, another note says how many and why they aren't classified: "… a margin computed from partial costs would be a made-up margin."
If you don't have any recipes yet, instead of the table you'll see "This is where you'll see what makes money and what doesn't" with two buttons: Create my first recipe and Import one I already have.
Plan availability
The traffic light is available on every plan. The only exception is the old free accounts (created before sign-up required choosing a plan): instead of the table you'll see the notice "The profitability traffic light is included in the Starter and Pro plans." and the See plans button.
Current limitations
- The traffic light measures margin per unit, not how much money you lose per month: that would require sales volume per product, which the app doesn't know.
- Sub-recipes without their own cost produce a row warning (same behavior as the cost breakdown).