{"id":887,"date":"2026-07-02T21:00:08","date_gmt":"2026-07-02T19:00:08","guid":{"rendered":"https:\/\/www.chefbase.io\/?p=887"},"modified":"2026-07-22T12:32:56","modified_gmt":"2026-07-22T10:32:56","slug":"pastry-pricing-markup","status":"publish","type":"post","link":"https:\/\/www.chefbase.io\/en\/pastry-pricing-markup\/","title":{"rendered":"Pastry pricing markup: how to calibrate it"},"content":{"rendered":"<style id=\"cb-reading-spacing\">\n.brxe-post-content p{margin:0 0 28px !important;line-height:1.75 !important;}\n.brxe-post-content h2{margin:56px 0 20px !important;}\n.brxe-post-content h3{margin:40px 0 14px !important;}\n.brxe-post-content figure{margin:44px auto !important;}\n.brxe-post-content ul,\n.brxe-post-content ol{margin:0 0 28px !important;line-height:1.75 !important;}\n.brxe-post-content li{margin:10px 0 !important;}\n@media(max-width:600px){\n.brxe-post-content p{margin:0 0 24px !important;}\n.brxe-post-content h2{margin:44px 0 16px !important;}\n}\n<\/style>\n<p class=\"wp-block-paragraph\">A flat 3x markup applied across the entire menu, no distinction by product or channel: it&#8217;s the most common pricing method in pastry, and the most dangerous one. It ignores positioning, sales channel, and product type.<\/p>\n<p class=\"wp-block-paragraph\">The pricing markup is not a fixed constant. It&#8217;s a management tool that should vary with your strategy, your end customer, and your actual food cost. Here&#8217;s how to calibrate it correctly, factor by factor.<\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-cover-chefbase.png\" alt=\"Pastry pricing markup, ChefBase article cover\" class=\"wp-image-884\" srcset=\"https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-cover-chefbase.png 1200w, https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-cover-chefbase-300x169.png 300w, https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-cover-chefbase-1024x576.png 1024w, https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-cover-chefbase-768x432.png 768w\" sizes=\"auto, (max-width: 600px) 50vw, (max-width: 1024px) 40vw, 1200px\" \/><figcaption class=\"wp-element-caption\">Pastry pricing markup, how to calibrate it<\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\">Understand what a pricing markup actually is<\/h2>\n<p class=\"wp-block-paragraph\">The <strong>pricing markup<\/strong> (or multiplier) is the factor that converts your material cost into a net selling price. Base formula: selling price = material cost \u00d7 markup. A markup of 3.5 on an entremets with a 4.20 \u20ac material cost gives a selling price of 14.70 \u20ac net.<\/p>\n<p class=\"wp-block-paragraph\">This figure only makes sense relative to a target food cost. A 3x markup targets a food cost around 33%. A 4x markup targets 25%. If your material cost is miscalculated upstream (yield, losses, sub-recipes not costed), the markup amplifies the error instead of correcting it.<\/p>\n<h2 class=\"wp-block-heading\">Calculate your selling price from food cost<\/h2>\n<p class=\"wp-block-paragraph\">The full formula: <strong>selling price = material cost \u00f7 target food cost (as a %)<\/strong>. For a lemon tart with 1.80 \u20ac material cost and a target food cost of 28%: 1.80 \u00f7 0.28 = 6.43 \u20ac net.<\/p>\n<p class=\"wp-block-paragraph\">Example for a bakery on a premium viennoiserie: material cost 0.62 \u20ac, target food cost 22% (a loss-leader product with a deliberately tight margin), selling price = 0.62 \u00f7 0.22 = 2.82 \u20ac net. The same calculation applied to a signature cake with a 30% target food cost gives an effective markup close to 3.3x.<\/p>\n<h2 class=\"wp-block-heading\">Adapt the markup to your positioning<\/h2>\n<p class=\"wp-block-paragraph\">A neighborhood artisan bakery and a premium pastry house don&#8217;t target the same food cost. Positioning determines what the customer is willing to pay, and therefore the margin you can capture without losing volume.<\/p>\n<table>\n<thead>\n<tr>\n<th>Positioning<\/th>\n<th>Target food cost<\/th>\n<th>Equivalent markup<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Everyday artisan<\/td>\n<td>30 to 35%<\/td>\n<td>2.9x to 3.3x<\/td>\n<\/tr>\n<tr>\n<td>Premium \/ signature<\/td>\n<td>22 to 28%<\/td>\n<td>3.6x to 4.5x<\/td>\n<\/tr>\n<tr>\n<td>High-end pastry \/ MOF<\/td>\n<td>18 to 24%<\/td>\n<td>4.2x to 5.5x<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"wp-block-paragraph\">These ranges are not absolute rules. They serve as a starting point, to be adjusted based on your local market and your actual fixed costs.<\/p>\n<div class=\"cb-testimonial\" style=\"background:#fff;border:1px solid #e8e4e0;border-radius:16px;padding:28px;margin:40px 0;box-shadow:0 4px 16px rgba(0,0,0,0.06);position:relative;overflow:hidden;\">\n<div style=\"position:absolute;top:-10px;left:16px;font-size:100px;color:#f0ece8;line-height:1;font-family:Georgia,serif;pointer-events:none;\">&ldquo;<\/div>\n<div style=\"display:flex;gap:20px;align-items:flex-start;position:relative;z-index:1;\">\n<div style=\"flex-shrink:0;width:60px;height:60px;border-radius:50%;background:linear-gradient(145deg,#2a2a2a,#0F0907);display:flex;align-items:center;justify-content:center;border:2px solid #e0dbd6;position:relative;overflow:hidden;\"><svg style=\"position:absolute;bottom:-2px;width:42px;height:42px;opacity:0.18;fill:#fff;\" viewBox=\"0 0 100 100\"><circle cx=\"50\" cy=\"32\" r=\"20\"\/><ellipse cx=\"50\" cy=\"85\" rx=\"35\" ry=\"28\"\/><\/svg><span style=\"font-size:14px;font-weight:700;color:#fff;position:relative;z-index:2;\">SR<\/span><\/div>\n<div style=\"flex:1;\">\n<p style=\"font-size:15px;line-height:1.68;color:#1a1a1a;font-style:italic;margin:0 0 16px 0;\"><em>I used to set my prices by looking at what others around me were charging. I had no idea if I was actually making a living. Working out my real markup changed everything.<\/em><\/p>\n<div style=\"display:flex;align-items:center;gap:8px;flex-wrap:wrap;\"><span style=\"font-size:18px;\">\ud83c\uddeb\ud83c\uddf7<\/span><strong style=\"font-size:13px;color:#0F0907;\">Saoirse Renard<\/strong><span style=\"color:#ccc;\">\u00b7<\/span><span style=\"font-size:12px;color:#888;\">Artisan pastry chef, Lyon<\/span><span style=\"margin-left:auto;font-size:11px;color:#aaa;\">\u2713 Verified user<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"700\" src=\"https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-positioning-table-chefbase.png\" alt=\"Pastry pricing markup by positioning table, ChefBase\" class=\"wp-image-885\" srcset=\"https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-positioning-table-chefbase.png 1200w, https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-positioning-table-chefbase-300x175.png 300w, https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-positioning-table-chefbase-1024x597.png 1024w, https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-positioning-table-chefbase-768x448.png 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><figcaption class=\"wp-element-caption\">Pricing markup by lab positioning<\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\">Adapt the markup by sales channel<\/h2>\n<p class=\"wp-block-paragraph\">The same product doesn&#8217;t sell at the same markup depending on the channel. In direct retail, you capture the full margin. In hospitality or B2B resale, the intermediary customer takes their own margin, which mechanically compresses your markup if you want to stay competitive on the final price.<\/p>\n<p class=\"wp-block-paragraph\">A lab selling both direct and B2B needs to run two separate markup grids. Applying the retail markup to a high-volume luxury hospitality order leads either to an off-market price or to a crushed B2B margin you don&#8217;t even notice.<\/p>\n<h2 class=\"wp-block-heading\">Handle cases where the standard markup doesn&#8217;t apply<\/h2>\n<p class=\"wp-block-paragraph\">Some products are deliberately sold at low margin: daily bread, loss-leader viennoiserie, a signature item that draws customers toward the rest of the menu. The markup drops below the general target here, deliberately and by design, not by accident.<\/p>\n<p class=\"wp-block-paragraph\">The risk is letting these exceptions multiply unidentified. Without product-by-product tracking, a lab can end up with an average declared food cost of 28% that masks swings of 18 to 40% depending on the item.<\/p>\n<h2 class=\"wp-block-heading\">Track your real markup, not just the theoretical one<\/h2>\n<p class=\"wp-block-paragraph\">A markup calculated on a technical sheet stays theoretical until it&#8217;s checked against actual sales. Breakage, unsold stock, giveaways, and portion drift reduce the effective markup without the sheet ever changing. That&#8217;s exactly the gap documented in our article on real versus theoretical margin in pastry.<\/p>\n<p class=\"wp-block-paragraph\">ChefBase calculates the markup from the real food cost of each technical sheet, sub-recipes included, and lets you track the gap between theoretical markup and actual collected markup, product by product.<\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"720\" src=\"https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-app-mockup-chefbase.png\" alt=\"ChefBase mockup, selling price and food cost markup calculation\" class=\"wp-image-886\" srcset=\"https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-app-mockup-chefbase.png 1200w, https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-app-mockup-chefbase-300x180.png 300w, https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-app-mockup-chefbase-1024x614.png 1024w, https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-app-mockup-chefbase-768x461.png 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><figcaption class=\"wp-element-caption\">ChefBase calculates the real markup per technical sheet, sub-recipes included<\/figcaption><\/figure>\n<blockquote class=\"wp-block-quote\">\n<p><strong>Key takeaway:<\/strong> the pricing markup is not a universal constant. It&#8217;s calibrated by positioning, sales channel, and product, starting from a correctly calculated food cost, then verified against real margin.<\/p>\n<\/blockquote>\n<div class=\"cb-faq\">\n<style>\n.cb-faq{margin:48px 0;}\n.cb-faq h2{font-family:'Space Grotesk',sans-serif;margin-bottom:24px;}\n.cb-faq details{background:#FAF6EF;border:1px solid #E5DDD2;border-radius:10px;margin-bottom:12px;padding:0;overflow:hidden;transition:border-color .2s;}\n.cb-faq details[open]{border-color:#D15927;}\n.cb-faq summary{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;color:#0F0907;padding:18px 52px 18px 20px;cursor:pointer;list-style:none;position:relative;}\n.cb-faq summary::-webkit-details-marker{display:none;}\n.cb-faq summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:'DM Mono',monospace;font-size:22px;color:#D15927;transition:transform .2s;}\n.cb-faq details[open] summary::after{content:'\u2013';}\n.cb-faq .cb-faq-answer{font-family:'DM Sans',sans-serif;font-size:15.5px;line-height:1.7;color:#3A2A20;padding:0 20px 20px;}\n<\/style>\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n<details>\n<summary>What is a pricing markup in pastry?<\/summary>\n<div class=\"cb-faq-answer\">A pricing markup is the factor that converts a product&#8217;s material cost into a net selling price. In pastry, ChefBase calculates this markup automatically from the real food cost of each technical sheet, sub-recipes included.<\/div>\n<\/details>\n<details>\n<summary>What markup should an artisan bakery apply?<\/summary>\n<div class=\"cb-faq-answer\">An artisan bakery typically targets a food cost between 30 and 35%, which corresponds to a markup of 2.9x to 3.3x. These ranges should be adjusted for local market conditions and actual fixed costs.<\/div>\n<\/details>\n<details>\n<summary>What&#8217;s the difference between markup and margin rate?<\/summary>\n<div class=\"cb-faq-answer\">The markup multiplies material cost to reach the selling price, while the margin rate measures the percentage of margin actually collected on sales. A theoretical markup of 3.5x can correspond to a lower real margin if breakage, unsold stock, or portion drift aren&#8217;t tracked.<\/div>\n<\/details>\n<details>\n<summary>How do you calculate selling price from food cost?<\/summary>\n<div class=\"cb-faq-answer\">The formula is: selling price = material cost \u00f7 target food cost (as a percentage). For example, a product with 4.20 \u20ac material cost and a target food cost of 28% gives a selling price of 15 \u20ac net.<\/div>\n<\/details>\n<details>\n<summary>Why doesn&#8217;t the same markup work for every product?<\/summary>\n<div class=\"cb-faq-answer\">The markup varies by positioning (artisan, premium, high-end pastry), sales channel (retail, hospitality, B2B), and product role (signature item vs deliberate loss-leader). Applying a single markup across the whole menu hides food cost swings that can range from 18% to 40% depending on the item, a point covered in the ChefBase article on real versus theoretical margin.<\/div>\n<\/details>\n<\/div>\n<p><script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is a pricing markup in pastry?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"A pricing markup is the factor that converts a product's material cost into a net selling price. In pastry, ChefBase calculates this markup automatically from the real food cost of each technical sheet, sub-recipes included.\"}},{\"@type\":\"Question\",\"name\":\"What markup should an artisan bakery apply?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"An artisan bakery typically targets a food cost between 30 and 35%, which corresponds to a markup of 2.9x to 3.3x. These ranges should be adjusted for local market conditions and actual fixed costs.\"}},{\"@type\":\"Question\",\"name\":\"What's the difference between markup and margin rate?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The markup multiplies material cost to reach the selling price, while the margin rate measures the percentage of margin actually collected on sales. A theoretical markup of 3.5x can correspond to a lower real margin if breakage, unsold stock, or portion drift aren't tracked.\"}},{\"@type\":\"Question\",\"name\":\"How do you calculate selling price from food cost?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The formula is: selling price = material cost \u00f7 target food cost (as a percentage). For example, a product with 4.20 \u20ac material cost and a target food cost of 28% gives a selling price of 15 \u20ac net.\"}},{\"@type\":\"Question\",\"name\":\"Why doesn't the same markup work for every product?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The markup varies by positioning (artisan, premium, high-end pastry), sales channel (retail, hospitality, B2B), and product role (signature item vs deliberate loss-leader). Applying a single markup across the whole menu hides food cost swings that can range from 18% to 40% depending on the item.\"}}]}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The pricing markup is not a fixed constant. Learn how to calibrate it by positioning, sales channel and product, starting from your real food cost.<\/p>\n","protected":false},"author":2,"featured_media":997,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_titles_title":"Pastry Pricing Markup: How to Calibrate It | ChefBase","_seopress_titles_desc":"Pastry pricing markup formula, worked examples, and calibration by positioning and sales channel. Complete guide by ChefBase.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"Pastry Pricing Markup: How to Calibrate It","_seopress_social_fb_desc":"Formula, worked examples, and calibration of the pricing markup by positioning and sales channel.","_seopress_social_fb_img":"https:\/\/www.chefbase.io\/wp-content\/uploads\/2026\/07\/pastry-pricing-markup-cover-chefbase.png","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"pastry pricing markup","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"ai_generated_summary":"","footnotes":""},"categories":[4,19],"tags":[],"class_list":["post-887","post","type-post","status-publish","format-standard","has-post-thumbnail","category-food-cost-gestion","category-food-cost-management"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/posts\/887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/comments?post=887"}],"version-history":[{"count":2,"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/posts\/887\/revisions"}],"predecessor-version":[{"id":1361,"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/posts\/887\/revisions\/1361"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/media\/997"}],"wp:attachment":[{"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/media?parent=887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/categories?post=887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chefbase.io\/en\/wp-json\/wp\/v2\/tags?post=887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}