← All insights
    Pricing

    By-the-Glass Margin: How to Stop the Leak

    Over-pours, untracked movement, and gut-feel glass prices quietly bleed wine programs. How to tie by-the-glass pricing to bottle economics at the millilitre.

    Vinius Team

    The most profitable thing on your list is also the leakiest

    By-the-glass is supposed to be the engine room of a wine program. It lets you list bottles guests would never commit to whole, it moves stock faster, and the margins, on paper, are excellent. Pour four to five glasses out of a bottle, charge a sensible price per glass, and the economics look beautiful.

    On paper. The trouble is that by-the-glass runs on the two least reliable things in any restaurant: human pouring and human memory. And both leak.

    The leak is rarely dramatic. No single over-pour sinks a program. It's the aggregate, a few extra millilitres per glass, a comp nobody logged, a "taste" for a regular, a bottle that got opened and forgotten, repeated across every shift, every week, every site. By-the-glass programs commonly lose a meaningful slice of their theoretical margin to exactly this kind of slow, invisible bleed. The number varies by operation, but the mechanism is universal.

    This piece is about closing that gap: where the margin actually goes, why most systems can't see it, and how to anchor glass prices to real bottle economics at the millilitre.

    Where the margin actually goes

    There are three classic leaks. Most programs have all three.

    1. Over-pours

    The intended pour is, say, 125ml or 175ml. The actual pour, free-poured by a busy team under pressure, is whatever gravity and goodwill produce. A generous hand turns a five-glass bottle into a four-glass bottle. That's a 20% hit to the yield on that bottle, and nobody recorded a thing. The sale was rung correctly. The pour just wasn't what the price assumed.

    2. Untracked movement

    The by-the-glass bottle leads a chaotic life. It gets opened. It pours a glass for a guest, a taste for a table considering it, a sample for a new server, a comp for a regular. Some of those ring through the till. Several don't. By the time it's empty, the bottle has dispensed more "value" than the till ever saw, and the difference is pure leakage that looks, in your numbers, like shrink.

    3. Glass prices set by gut feel

    The third leak is upstream of the floor: the price itself. If the glass price was set by eyeballing what feels right, or by copying last year's list, it may have no defensible relationship to what the bottle cost or how many glasses it actually yields. A glass price that doesn't come from bottle cost ÷ glasses-per-bottle × markup isn't a price. It's a guess wearing a price's clothes.

    Why your current setup can't see it

    The reason this leak persists is structural: most tools can't represent a pour.

    A POS records a sale, a glass sold, at a price, at a time. It does not record a draw on a specific bottle, measured in millilitres. To the POS, "one glass of the Chablis" is a line item, not 150ml subtracted from a 750ml bottle that's also serving tastes and comps. It depletes a count when the bottle is marked empty, if it tracks the bottle at all.

    Spreadsheets are worse. A spreadsheet has no concept of a partial bottle at all unless someone manually maintains a fractional column, which nobody does, reliably, in service.

    So the gap is this: by-the-glass is a millilitre-level activity tracked, if at all, by a count-level tool. You can't reconcile what you can't represent. If the system thinks in whole bottles and your reality is partial pours, the variance has nowhere to live except "unexplained shrinkage" at the end of the month.

    This is the same structural problem we describe in your POS isn't a cellar system of record, the POS knows what sold, not what physically remains. By-the-glass is just where that gap costs you the most.

    The fix: tie glass price to bottle economics, at the millilitre

    Stopping the leak takes two things working together: pour-aware tracking and pricing that's anchored to it.

    Track pours in millilitres

    The foundation is representing a pour as what it is, a draw on a specific bottle, in millilitres, not a vague decrement of a count. When the system tracks pours at the millilitre, three things become possible:

    • You can set a configured glass volume (125ml, 150ml, 175ml, whatever your program uses) and hold the price to it.
    • You can reconcile bottle stock against pours: a 750ml bottle should yield a knowable number of glasses, and the movement history shows whether it did.
    • Comps, tastes, and training pours become logged movements, not invisible evaporation. The bottle's history shows every draw, with cause, the audit trail we cover in the wine inventory guide.

    Vinius tracks pours at the millilitre and connects them to configured glass volumes, so by-the-glass stops being a black box. (See inventory management for how movements are modeled.)

    Anchor the glass price to the bottle

    Once you can track the pour, you can price it properly. The logic is simple and worth stating explicitly:

    cost per glass = bottle cost ÷ glasses per bottle
    glass price    = cost per glass, run through your markup rule, then rounded
    

    A worked example, with round numbers for clarity:

    InputValue
    Bottle cost20.00
    Bottle volume750ml
    Glass volume150ml
    Glasses per bottle5
    Cost per glass4.00
    Target markup×4
    Raw glass price16.00
    Rounded (to .50)16.00

    Change any input, a more expensive lot, a larger pour, a different markup, and the price recomputes from the same rule. That's the difference between a pricing engine and a pricing habit. The engine connects glass pricing to real bottle economics and configured glass volumes, so the price always reflects what the wine actually costs and how much of it you're serving.

    Crucially, this is the same rules layer that prices your bottles. Glass and bottle aren't two separate pricing universes maintained by hand, they're two contexts of one pricing engine, which is what keeps them consistent as costs move. (For the full pricing playbook, see how to price a wine list.)

    What changes on the floor

    When pours are tracked and prices are anchored, the program stops leaking in three concrete ways:

    • Over-pours become visible. If a five-glass bottle is consistently yielding four glasses' worth of recorded sales, the variance shows up. You can retrain, switch to measured pourers, or adjust the assumed yield, but you're acting on data, not suspicion.
    • Untracked movement gets a home. Comps and tastes are logged as movements. They might still be losses, but they're known losses you can manage, not shrink you discover too late.
    • Prices stay defensible. When a glass price is questioned, by a manager, an owner, or your own monthly review, the answer is "bottle cost ÷ glasses × markup, rounded," not "it felt right."

    None of this makes the program less hospitable. You can still pour generously for the right guest. The point is that you decide to, and the system records it, rather than the margin evaporating without anyone choosing it.

    A note on consistency across sites

    If you run more than one venue, the by-the-glass leak compounds. The same wine can end up with different glass prices at different sites for no good reason, a separate problem we tackle in multi-venue wine pricing. The fix is the same family of ideas: rules that compute prices consistently, with deliberate local overrides where you actually want them, rather than drift you never chose.

    The takeaway

    By-the-glass is where wine margin quietly disappears, through over-pours, untracked comps and tastes, and glass prices set by feel. The reason it stays hidden is structural: it's a millilitre-level activity tracked by count-level tools that can't represent a partial pour. Close the gap by tracking pours at the millilitre and anchoring glass prices to bottle economics (bottle cost ÷ glasses, through a markup rule, then rounded) using the same engine that prices your bottles. You won't pour less generously, you'll just stop doing it by accident.

    Run your wine program with precision, not guesswork

    Vinius unifies inventory, pricing, wine cards and reordering in one system, for hospitality teams and serious collectors. Access is by invitation, request yours for founding-member onboarding.