{
  "slug": "wine-markup-calculator",
  "title": "Wine Markup Calculator",
  "heading": "Restaurant Wine Markup Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/wine-markup-calculator",
  "summary": "Set bottle and by-the-glass wine prices from wholesale cost and target margin.",
  "description": "Wine pricing works differently than most menu categories because the markup multiple typically decreases as bottle cost increases, since a flat 3-4x multiple on an expensive bottle would be unsellable. Common structure: 2.5-3x wholesale cost for bottles under $20 wholesale, 2-2.5x for $20-50 wholesale, and 1.8-2.2x for anything above that. By-the-glass pricing usually targets pouring 4-5 glasses per 750ml bottle (about 5oz pours) with each glass priced near a quarter to a third of the bottle price, which effectively recovers the full bottle cost by the second or third glass poured and profits on the rest, hedging against an opened bottle not fully selling. This calculator takes wholesale cost and your markup multiple to generate bottle price, then splits into glass pricing and shows the pour cost percentage for both formats.",
  "formula": "Bottle price = wholesale cost × markup multiple. Glass price = bottle price ÷ glasses per bottle × glass markup factor.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=wine-markup-calculator",
  "inputs": [
    {
      "id": "wholesaleCost",
      "label": "Wholesale bottle cost",
      "kind": "number",
      "hint": null,
      "default": 14,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "markupMultiple",
      "label": "Bottle markup multiple",
      "kind": "number",
      "hint": null,
      "default": 2.5,
      "unit": null,
      "min": 1,
      "max": 5
    },
    {
      "id": "glassesPerBottle",
      "label": "Glasses poured per bottle",
      "kind": "number",
      "hint": null,
      "default": 5,
      "unit": null,
      "min": 2,
      "max": 8
    },
    {
      "id": "glassMarkupFactor",
      "label": "Glass price factor (vs. even split)",
      "kind": "number",
      "hint": null,
      "default": 1.15,
      "unit": null,
      "min": 0.8,
      "max": 1.5
    }
  ],
  "outputs": [
    {
      "id": "bottlePrice",
      "label": "Bottle price",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "glassPrice",
      "label": "By-the-glass price",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "bottlePourCostPct",
      "label": "Bottle pour cost %",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "glassPourCostPct",
      "label": "Glass pour cost %",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "revenueIfAllByGlass",
      "label": "Revenue if entire bottle sold by glass",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Wholesale bottle cost: 14 $",
      "Bottle markup multiple: 2.5",
      "Glasses poured per bottle: 5",
      "Glass price factor (vs. even split): 1.15"
    ],
    "outputs": [
      "Bottle price: $35.00",
      "By-the-glass price: $8.05",
      "Bottle pour cost %: 40.0%",
      "Glass pour cost %: 34.8%",
      "Revenue if entire bottle sold by glass: $40.25"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter wholesale bottle cost ($).",
      "Enter bottle markup multiple.",
      "Enter glasses poured per bottle.",
      "Enter glass price factor (vs. even split).",
      "Read your bottle price on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "wholesaleCost": 8,
        "markupMultiple": 1.5,
        "glassesPerBottle": 3,
        "glassMarkupFactor": 0.8
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "wholesaleCost": 14,
        "markupMultiple": 2.5,
        "glassesPerBottle": 5,
        "glassMarkupFactor": 1.15
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "wholesaleCost": 22,
        "markupMultiple": 4,
        "glassesPerBottle": 8,
        "glassMarkupFactor": 1.5
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Why does markup multiple shrink on expensive bottles?",
      "a": "A flat 3x multiple on a $60 wholesale bottle would price it at $180, which most guests won't order regardless of quality. Restaurants compress the multiple to 1.8-2.2x on premium bottles to keep prices sellable, making up the percentage-margin loss with the larger dollar margin per bottle."
    },
    {
      "q": "How many glasses should I plan per bottle?",
      "a": "5oz pours yield 5 glasses per 750ml bottle with minimal loss; some programs use slightly smaller 4-4.5oz pours to get 5-6 glasses, especially for premium by-the-glass offerings where waste from an unsold bottle is costlier."
    },
    {
      "q": "Why is by-the-glass pricing higher per-ounce than the bottle?",
      "a": "Selling by the glass carries the risk that the rest of an opened bottle won't sell before it oxidizes, typically within 2-3 days for reds and 1-2 for whites without preservation systems like Coravin or inert gas. The higher per-glass rate compensates for that spoilage risk."
    },
    {
      "q": "What pour cost percentage should wine target?",
      "a": "30-35% blended across bottle and glass sales is typical, higher than liquor because wine's dollar cost per unit is higher and menu prices can't scale as aggressively without losing sales, especially in the $10-15 by-the-glass range where most guests order."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/pour-cost-calculator",
    "https://www.revenuelab.fyi/toolbox/keg-yield-calculator",
    "https://www.revenuelab.fyi/toolbox/bar-inventory-variance"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Wine Markup Calculator (https://www.revenuelab.fyi/toolbox/wine-markup-calculator)"
}