Restaurant Finance · 2026-07-16 · 13 min
Restaurant Contribution Margin by Menu Item: Formula and Decisions
Restaurant contribution margin by menu item is calculated as the selling price minus the variable cost of that item. For one row, add the costs that change when the order is made—such as ingredients, channel-specific packaging, payment or delivery fees, and an allocated discount—then subtract that total from the selling price. Divide the result by the selling price for contribution margin percentage. For a review period, multiply the per-item contribution by units sold to obtain total contribution. Use the per-sale number to compare individual economics, the period total to understand menu mix, and a separate record of preparation effort, waste and strategic role before choosing an action. This measure shows what remains to cover labour, rent, utilities, tax and profit; it is not a complete net-profit calculation.

The formula: set the cost boundary first
The arithmetic is simple; the cost boundary is where menu reviews become inconsistent. Write down what is included before comparing dishes, and use the same rule for every row in the review.
Then calculate two complementary percentages and totals:
```text Contribution margin per item = selling price − total variable cost per item Contribution margin % = contribution margin per item ÷ selling price × 100 Total contribution for the period = contribution margin per item × units sold ```
Contribution margin percentage makes price points and channels easier to compare. Contribution dollars show how much each sale—or all sales of that item in the chosen period—leaves after the defined variable costs. Food-cost percentage still has a job: it helps monitor recipe and purchasing efficiency. It does not replace contribution dollars when the decision concerns the money generated by a dish.
- **Selling price:** use the price actually relevant to the review, and state how item-level discounts are treated. If tax is excluded from the restaurant's sales figure, exclude it consistently here too.
- **Ingredients:** use the current recipe cost and record any yield or portion assumption. A recipe cost is only as useful as the units and yields behind it.
- **Packaging:** include it for takeaway or delivery when it changes with the order. Do not carry a takeaway packaging cost into a dine-in row without a reason.
- **Payment and delivery fees:** include the transaction-related or delivery charge that is attributable to that channel and sale. Record whether a fee is a percentage, a fixed amount, or an allocation.
- **Other variable costs:** include a cost only when it changes with the sale and when the allocation rule is visible to the reviewer. Avoid hiding fixed overhead inside the item row.
- **Labour:** keep normal period labour outside the simplest contribution calculation. Record extra preparation, dedicated production or a capacity constraint separately when an item creates a meaningful operating burden.
A five-lens framework for the menu meeting
Use the **Boundary–Channel–Scale–Friction–Role** framework. It turns a formula into a decision record without pretending that one number can decide the menu by itself.
| Lens | Question to answer | What to record | |---|---|---| | **Boundary** | Which costs truly change when this item is sold? | The included cost lines, units, yields, discount rule and assumptions. | | **Channel** | Does the item have different economics in dine-in, takeaway or delivery? | A separate row for each relevant channel, or a clearly stated weighted mix. | | **Scale** | How many units were sold in the same review period? | Units sold, per-item contribution and total contribution. | | **Friction** | What does the item demand beyond its ingredients? | Preparation complexity, waste exposure, ticket pressure, extra labour or capacity use. | | **Role** | Why might the restaurant keep this item even if its arithmetic is not strongest? | Strategic role, guest need, concept identity, ingredient utilisation or profitable add-on connection. |
The final decision is the response to all five lenses. A dish with a smaller per-sale contribution may still matter when its volume or role is strong. A dish with attractive contribution percentage may deserve work if its total contribution is small or its preparation consumes scarce capacity. The framework therefore asks for an explanation, not just a label.
Example: a takeaway pasta item
This worked example uses the supplied illustrative pasta figures. It demonstrates the calculation; it is not a target, benchmark or claim about a particular restaurant.
| Input | Amount | |---|---:| | Selling price | $18.00 | | Ingredients | $5.40 | | Takeaway packaging | $0.30 | | Payment-related variable fees | $0.36 | | **Total variable cost** | **$6.06** | | **Contribution margin per item** | **$11.94** | | **Contribution margin percentage** | **66.3%** |
The calculation is:
```text Total variable cost = $5.40 + $0.30 + $0.36 = $6.06 Contribution per item = $18.00 − $6.06 = $11.94 Contribution percentage = $11.94 ÷ $18.00 × 100 = 66.3% (rounded) ```
Because packaging is included, this is a takeaway row. A dine-in row for the same recipe should have its own channel treatment for packaging, fees and discounts; do not copy the takeaway result across. To calculate the period total, multiply `$11.94` by the recorded number of takeaway units in the review period. The worksheet below leaves that volume open because the useful figure must come from the restaurant's own sales record.
The example also shows why the two margin views answer different questions. The percentage describes the share of the selling price left after the listed variable costs. The dollar amount is the input to the period calculation. Neither view, by itself, says whether to promote, reprice or remove the dish: the channel, actual volume, preparation burden and strategic role still need to be recorded.
Menu-Item Contribution Review worksheet
Use one record per item per channel. If a dish is sold in more than one channel, duplicate the item and complete the **channel-comparison row** rather than blending unlike costs without a stated mix. The template is designed to be copied into a spreadsheet or operating review document.
| Field | Entry to capture | Why it matters | |---|---|---| | Item | Dish name or menu code | Keeps the decision tied to a specific recipe and price. | | Channel | Dine-in, takeaway, delivery or another defined channel | Makes packaging, fees and discounts comparable. | | Selling price | Actual price used in the review | Anchors the per-sale calculation. | | Ingredients | Recipe cost, with unit and yield assumptions | Shows the principal recipe input without hiding uncertainty. | | Packaging | Channel-specific per-order packaging cost | Prevents a channel cost from being applied to the wrong sale. | | Transaction or delivery fees | Fee amount or stated allocation rule | Captures costs that occur because the order is processed or delivered. | | Total variable cost | Sum of the included variable-cost lines | Provides the subtraction input. | | Contribution dollars | Selling price minus total variable cost | Shows dollars left from one sale under this definition. | | Contribution percentage | Contribution dollars divided by selling price | Allows a relative comparison between price points and channels. | | Units sold for the review period | Recorded units and the period dates | Converts one-sale economics into period evidence. | | Total contribution | Contribution dollars multiplied by units sold | Shows the item's contribution to the chosen period. | | Preparation complexity or waste considerations | Prep steps, hold risk, waste notes, ticket pressure or extra labour | Brings operating friction into the decision. | | Strategic role | Guest need, concept role, ingredient utilisation or add-on connection | Stops a purely arithmetic decision from losing context. | | Proposed action | Keep, reprice, rework or remove | Makes the review actionable. | | Assumption notes | Discount, yield, fee, tax and allocation choices | Lets the next reviewer reproduce or challenge the row. | | Owner | Person accountable for the next check | Prevents an unassigned decision. | | Test metric | Units, contribution dollars, complaints, substitutions, ticket time or another relevant measure | Defines what will be observed after a change. | | Review date | Date for the next review | Prevents a temporary assumption becoming permanent. | | **Channel-comparison row** | Duplicate the item for each channel and show the different price, packaging, fees and discount treatment | Separates channel economics before a blended conclusion is made. |
Decision table: choose the action only after the row is complete.
| Action | Use it when the record suggests | Check before committing | |---|---|---| | **Keep** | Contribution and volume are useful, friction is manageable, or the item has a clear strategic role. | Confirm that recipe costs, selling price and channel assumptions are current. | | **Reprice** | The item leaves too little contribution for its role and the value proposition can support a price conversation. | Review demand, portion value, positioning, channel fees and the metric that will show whether the change should continue. | | **Rework** | A portion, garnish, recipe, packaging choice or preparation method creates avoidable cost or strain. | Change the smallest defensible input, document the new assumption and observe both economics and service quality. | | **Remove or replace** | Contribution, demand and operating fit are weak and there is no clear strategic reason to retain the item. | Check shared ingredients, guest need, substitutions, add-on effects and what will take the item's place. |
If the cost boundary, channel or units are incomplete, the responsible action is to investigate the row rather than force one of the four labels. A proposed action should always carry an owner, a test metric and a review date.
Implementation: from recipe file to menu meeting
1. **Choose one comparable period.** Record the start and end dates, units sold, actual selling price, discounts and channel. Separate unusual promotions or one-off events in the notes instead of allowing them to look like normal demand. 2. **Lock the cost definition.** List the variable-cost lines that apply to every row. Confirm recipe units, yields, portions, packaging and fee treatment before calculating percentages. 3. **Build channel rows.** Keep dine-in, takeaway and delivery separate when their costs differ. If a combined view is necessary, use a weighted mix based on recorded sales and show the weighting in the assumptions. 4. **Calculate the three outputs.** Fill in per-item contribution, contribution percentage and total contribution for each row. Check that the period for units sold matches the period used for prices and costs. 5. **Add friction and role.** Ask the kitchen and front-of-house teams about prep complexity, waste, ticket pressure, substitutions and the item's purpose. A spreadsheet cannot infer these fields reliably from price and recipe cost alone. 6. **Select one bounded action.** Pick keep, reprice, rework or remove. Do not bundle several changes into one unexplained decision. Assign the owner, choose the relevant observation metric and set the review date. 7. **Reconcile the next review.** Update the row when prices, recipes, portions, supplier costs, packaging, fees or promotions change. Compare the same definitions before drawing a conclusion.
For a quick check of the core price, ingredient-cost and weekly-sales inputs, the [free RestaurantMargin workspace](https://restaurantmargin.com/) is a practical starting point. Its public description says that those fields can be entered to view item-level contribution and weekly contribution; add the channel-specific packaging, fees, assumptions and operating notes from this worksheet before making a menu decision.
Limitations
Contribution margin is a decision aid, not a complete profit-and-loss statement. It does not, on its own, allocate rent, salaried management, utilities, insurance, tax, debt service or other period expenses. A positive item contribution therefore should not be described as the item's net profit.
The variable-cost boundary is a judgement about the operation. A payment charge may be easy to assign to an order, while a shared delivery arrangement, a discount applied to a whole basket or a common prep batch may need an allocation policy. Change the policy and the result changes, so keep the rule visible rather than presenting an allocation as a fact.
Labour needs particular care. A normal service may have the same roster whether one more dish sells or not, which is why a simple contribution view often leaves ordinary labour outside the formula. An item that requires a separate prep shift, slows a bottleneck or creates additional staffing can have a real operating cost that the simple row will not show. Record that burden under friction and model it separately when the decision depends on it.
A recipe average can also conceal yield loss, portion drift, supplier-price movement, spoilage, refunds or recording errors. Reconcile the underlying inputs and label the date of each assumption. A channel blend can conceal a weak delivery result behind a stronger dine-in result, so separate rows are safer whenever the economics differ.
Finally, a price or recipe change can affect units sold, perceived value, complaints, substitutions, quality and preparation time. The arithmetic before a change is not evidence of what will happen afterwards. Use a defined observation period and review metric, and preserve strategic items when their role is clear even if a narrow contribution comparison would otherwise favour another dish.
FAQ
What is the restaurant contribution margin formula for one menu item?
Subtract the item's total variable cost per sale from its selling price. For the percentage, divide that contribution amount by the selling price and multiply by 100. For a period total, multiply the per-item contribution by the number of units sold in that period.
Which costs belong in total variable cost?
Include costs that change with the sale and that you can assign consistently: ingredients, relevant packaging, payment or delivery fees, and a documented treatment for discounts or other order-level costs. Keep fixed overhead out of the simple row. If a cost is uncertain or allocated, record the method in assumption notes.
Should labour be included in contribution margin per menu item?
Not usually in the simplest version when ordinary labour is already scheduled for the service. It should be reviewed separately when the item creates identifiable extra preparation, dedicated labour or a capacity constraint. The right treatment depends on the operating decision and must be stated consistently.
How should I compare dine-in, takeaway and delivery?
Use separate rows whenever price, packaging, discounts or fees differ. If you need one combined view, calculate a weighted mix from actual channel units and show the weighting. Never compare a row with packaging and delivery charges against a row that excludes them without explaining the difference.
What if an item has a strong contribution percentage but sells very little?
Calculate its total contribution for the review period, then examine visibility, value perception, availability, preparation friction and strategic role. A measured change may be appropriate, but do not remove the item from percentage alone. Record the proposed change, the metric and the date for review.
How often should contribution margin be reviewed?
Review it whenever a price, recipe, portion, supplier cost, packaging choice, fee or promotion changes. Also set a recurring review that fits the volatility of the operation. Keep the period, channel definition and assumptions stable enough that one review can be compared with the next.
Next step
Run your menu numbers before changing prices. Use the free calculator, then turn the best opportunities into a weekly margin routine.
Open the calculator