Florist Pricing Formula for Bouquets and Arrangements, Built With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Florist Pricing Formula for Bouquets and Arrangements, Built With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Florist Pricing Formula for Bouquets and Arrangements, Built With AI.

A florist should price each piece from its own costs: stems, grossed up for waste, then consumables, labour and overhead for the minutes it takes, all divided by one minus the profit and card-fee percentages. A flat multiple is only a starting point. AI can build the sheet, but only from your own numbers.

Published guides disagree on the multiple. One florist-software company's wedding guide recommends 3.5 to 4.5 times wholesale cost for stems and sundries, with a labour fee on top, while another publishes no standard markup at all and uses 3.2 times only to show the arithmetic, not as a recommendation. A multiple is the result of your costs, not an input, which is why an assistant asked for "the right markup" hands back a generic one.

Follow me on Instagram@sagnikteaches

Why a flat multiple misleads, and the five lines that replace it

A multiple hides a promise: that every dollar of stems needs the same amount of work wrapped around it. Three times stem cost is a 66.7% gross margin (one minus one third) and 4.5 times is 77.8%, yet neither number tells you whether the margin pays the rent. A buttonhole with $1.90 of stems and a vase arrangement with $26 of stems need very different amounts of work per dollar of flowers, so no single multiple can suit both.

Connect on LinkedInSagnik Bhattacharya

The replacement is a build-up, one product at a time.

Subscribe on YouTube@sagnikteaches
  1. Stem cost. Quantity times landed cost per stem, for every stem in the recipe.
  2. Waste. Divide the stem cost by one minus your waste rate.
  3. Consumables and hard goods. Paper, ribbon, water bag, flower food, a vase, pins, wire.
  4. Labour and overhead. The minutes the piece takes, times your labour rate plus your overhead per productive hour, divided by 60.
  5. Shelf price. Total cost divided by one minus your profit margin and your card-fee percentage, rounded up.

Every input comes from your shop rather than a guide. The examples that follow use one set of illustrative settings, which also become the Settings tab of the sheet.

SettingIllustrationWhere yours comes from
Waste rate12%Value of stems binned divided by value bought, over four weeks
Labour rate$26 an hourWage plus employer costs; pay the owner's hours at a real rate too
Overhead per productive hour$45 an hour$6,300 of monthly fixed costs divided by 140 productive hours
Card fees and other percentage-of-sale costs3%Your processor's statement, plus any marketplace or order-gatherer fee
Target profit margin10% of the priceA decision, not a measurement

The last two settings sit in the divisor because they are percentages of the price you charge, not of your cost. Here the divisor is 1 − 0.10 − 0.03 = 0.87. Adding 13% to cost is the common shortcut, and it falls short. A bouquet costing $48.66 plus 13% is $54.99; the card fee takes $1.65 of that and leaves $4.68, which is 8.5% of the price, not the 10% you wanted.

Measure your waste rate from the bin, not from a guide

Waste rate is the value of stems you throw away divided by the value of stems you buy. Over four weeks a small shop might buy $2,400 of stems and bin $288 of them: $288 ÷ $2,400 = 12%. That is an illustration; yours comes from a tally sheet by the cooler door where whoever bins stems writes down the flower and the count. Multiply each count by its landed cost per stem and add up the week. An assistant will do the multiplying if you type the tally in, and the longer stock routine is in Florist Inventory Management: Use AI to Track Stems and Waste.

Apply the rate as a divisor, not an add-on. At 12% waste you buy about 100 stems to sell 88, so a $1.40 rose really costs $1.40 ÷ 0.88 = $1.59 per rose sold. Adding 12% instead gives $1.57, which looks close, but the two drift apart as waste climbs: at 25% waste the divisor gives $1.87 and the add-on gives $1.75.

Waste hides in three places. Monday's leftovers from the weekend rush. Buckets opened for one bouquet and never used again. And the sprig of greenery tucked into every order as a free extra. Count all three. Event work behaves differently: one florist-software guide says wedding florists typically overbuy by 15 to 25%, so give event quotes their own waste setting instead of borrowing the retail rate. Until four weeks of tallies exist, use a deliberately cautious placeholder and label it as one.

Time the labour, then add overhead for each productive hour

Time five of each product you sell with a phone stopwatch, from picking the stems to a wrapped, carded piece. Stripping leaves and cutting stems count. Answering the phone does not, because phone time lives in overhead. If your own hands make half the stock, your own time needs a rate too: a shop that pays the owner nothing is subsidising every price with unpaid work.

For overhead, add a month of fixed costs: rent, utilities, insurance, software and website, phone, accountancy, marketing, cooler servicing and card-terminal rental. Divide by the hours your team actually spends making and serving. In the illustration, $6,300 ÷ 140 productive hours = $45 an hour. Use productive hours rather than paid hours, because an idle paid hour still costs the rent.

A minute of making therefore costs ($26 + $45) ÷ 60 = about $1.18, which becomes about $1.36 on the shelf price once you divide by 0.87. That one figure explains most of florist pricing. Five extra minutes on a design add $6.80 to the price, and the stems are often the cheap part of the sum.

One medium hand-tied bouquet, line by line

The recipe is five stems of rose, four of lisianthus, three of alstroemeria, three of eucalyptus and two of waxflower, built in 20 minutes. Stem prices come from the Stems tab: each is the bunch price plus a $1.50 freight share, divided by ten stems. All figures are illustrative.

LineWorkingAmount
Rose, 5 stems5 × $1.40$7.00
Lisianthus, 4 stems4 × $1.50$6.00
Alstroemeria, 3 stems3 × $0.95$2.85
Eucalyptus, 3 stems3 × $0.80$2.40
Waxflower, 2 stems2 × $1.10$2.20
Stem cost$20.45
Stems with 12% waste$20.45 ÷ 0.88$23.24
Paper, ribbon, water bag and flower food, care card$0.70 + $0.35 + $0.55 + $0.15$1.75
Labour20 min × $26 ÷ 60$8.67
Overhead20 min × $45 ÷ 60$15.00
Total cost$48.66
Price before rounding$48.66 ÷ 0.87$55.93
Shelf price, rounded up$56

Check the result from the other side. Card fees at 3% take $1.68, which leaves $5.66 of profit, or 10.1% of the price. The raw stems are 36.5% of the shelf price, and the shelf price is 2.7 times the raw stems. That is below the published ranges, which is a prompt to look, not a mistake: it might mean a lean overhead, or an overhead you have not fully counted. If your own sheet lands far from the guides, check the inputs before you either copy the guide or trust the sheet.

Four products, one formula, four different multiples

The same settings price four very different products. The last column shows what a flat 3.5 times on stems would have charged.

ProductStem costMinutesTotal costShelf priceMultiple on stemsFlat 3.5x charges
Market bunch, ten mixed stems$7.008$18.32$223.1x$24.50
Medium hand-tied bouquet$20.4520$48.66$562.7x$71.58
Vase arrangement, vase included$26.2035$79.69$923.5x$91.70
Buttonhole$1.9012$17.16$2010.5x$6.65

A flat 3.5 times overprices the bouquet by $15.58, is right for the vase arrangement by luck, and sells every buttonhole $10.51 below its cost. The third problem stays hidden until a wedding order for twelve buttonholes arrives. The totals include $0.90 of paper and flower food for the market bunch and $0.80 of pins, wire and tape for the buttonhole. The vase arrangement's $8.50 of hard goods is the $7.50 vase plus $1.00 of consumables, with the vase carried at cost; if you also sell vases separately, give them their own line.

Delivery stays outside these prices. For the vase arrangement, 25 minutes of driver time at $26 an hour is $10.83, plus $3.00 of fuel and wear, so $13.83 of cost. Divide by 0.87 and the fee is $15.90, which you charge as $16. Customers who collect do not pay it.

Small, medium and large from one recipe

Customers like a ladder of sizes, and the formula builds one without guesswork. Scale the recipe, re-time it, and let the sheet price each rung. In the illustration the small bouquet drops to three roses, two lisianthus, two alstroemeria, two eucalyptus and one waxflower; the large rises to eight, six, five, four and three.

SizeStem costConsumablesMinutesTotal costShelf priceMultiple on stems
Small$11.80$1.4514$31.43$373.1x
Medium$20.45$1.7520$48.66$562.7x
Large$31.45$2.2028$71.07$822.6x

The multiple falls as the bouquet grows, because labour and overhead follow minutes and minutes grow more slowly than stems. A flat 3.1 times taken from the small bouquet would charge $97.50 for the large one, $15.50 more than the sheet. Read the ladder as a customer would: $37, $56, $82. If a step looks odd, re-time the pieces before you move a price by hand.

The prompt that builds the sheet

Any of the main assistants (ChatGPT, Claude, Gemini or Copilot) can write this sheet. If yours cannot create a file, ask for tab-separated text and paste each tab into Excel or Google Sheets. The prompt that matters is the one that gives your structure and forbids the generic answer.

Build a pricing spreadsheet for a small florist as four tabs I can paste into Excel or Google Sheets.
Return each tab as tab-separated text with the formulas written out.

Tab 1, Stems: Stem, Bunch price, Stems per bunch, Freight share per bunch,
Cost per stem = (Bunch price + Freight share) / Stems per bunch.
Tab 2, Recipes: Product, Item, Qty, Unit cost (VLOOKUP from Stems), Line cost = Qty x Unit cost.
Tab 3, Settings: Waste rate, Labour rate per hour, Overhead per productive hour,
Card and other percentage-of-sale costs, Target profit margin. Leave the values blank.
Tab 4, Prices: one row per product with stem cost (SUMIFS on Recipes), stem cost with waste
= stem cost / (1 - waste rate), consumables and hard goods (typed), minutes (typed),
labour, overhead, total cost, price before rounding = total cost / (1 - profit - card costs),
shelf price rounded up to the next whole dollar, multiple on stems, and a margin check.

Rules: do not invent any price or percentage. Do not use a fixed markup multiplier anywhere.
Refer to Settings cells instead of typing numbers into formulas. Use VLOOKUP and SUMIFS, not XLOOKUP.
Put a one-line note above every formula column saying what it does.

Each rule answers a failure. "Do not invent any price" stops the assistant filling the Stems tab with plausible costs. "No fixed markup multiplier" stops the generic answer. "Refer to Settings cells" means changing your labour rate once changes every price. VLOOKUP and SUMIFS work in every spreadsheet you are likely to use, while XLOOKUP is missing from older versions of Excel. If you want to go deeper on getting an assistant to write and check spreadsheet formulas, the ChatGPT for Excel guide covers the routine.

What the first draft looked like, and what I'd fix

Ask an assistant "what should a florist charge for a medium bouquet?" with no costs and you get arithmetic on a rule of thumb. An illustrative reply: "Most florists multiply wholesale flower cost by 3 to 3.5, then add labour. For $20.45 of stems that is roughly $61 to $72 before labour." It has no way to know your rent, your wages or your bin, so it cannot do better.

A first draft of the sheet written without those rules can look like this: a cell labelled "industry standard markup" holding 3.5, labour set at 20% of materials, and a price of materials times 3.5 plus labour. For the bouquet, materials (stems plus consumables) are $22.20, so the price is $22.20 × 3.5 = $77.70 plus $4.44 of labour, which is $82.14. For the buttonhole, materials of $2.70 give $9.45 plus $0.54, or $9.99, against a true cost of $17.16.

  • Delete the multiplier. The price comes from the Settings tab and the divisor.
  • Replace "labour as a percentage of materials" with minutes times the labour rate. Labour follows time, not stem value.
  • Add the waste line and the overhead line, which the draft omitted.
  • Make every recipe read its unit costs from the Stems tab, so one invoice update reprices everything.
  • Check the assistant's stems-per-bunch assumptions. Where you did not state a count, it may quietly assume ten.
  • Test one row by hand before trusting any of it.

The finished tabs, cell by cell

This is the layout that survives the fixes, with the Settings tab holding the five values in cells B2 to B6 in the order shown earlier: waste rate, labour rate, overhead per productive hour, card and other costs, target profit. The Prices tab formulas below are for row 2.

Tab and columnHeaderFormula or entry
Stems, ECost per stem=(B2+D2)/C2
Recipes, DUnit cost=VLOOKUP(B2,Stems!$A:$E,5,FALSE)
Recipes, ELine cost=C2*D2
Prices, BStem cost=SUMIFS(Recipes!E:E,Recipes!A:A,A2)
Prices, CStems with waste=B2/(1-Settings!$B$2)
Prices, D and EConsumables and hard goods; minutesTyped: 1.75 and 20
Prices, FLabour=E2/60*Settings!$B$3
Prices, GOverhead=E2/60*Settings!$B$4
Prices, HTotal cost=C2+D2+F2+G2
Prices, IPrice before rounding=H2/(1-Settings!$B$5-Settings!$B$6)
Prices, JShelf price=CEILING(I2,1)
Prices, KMultiple on stems=J2/B2
Prices, LMargin check=(J2*(1-Settings!$B$5)-H2)/J2

With the bouquet's recipe on the Recipes tab, B returns 20.45, H returns 48.66, J returns 56 and L returns about 10.1%. Those four numbers are your hand-check, and they match the table above.

Let the assistant fill the Stems tab from supplier invoices

Typing dozens of stem prices by hand is the dull part, and an assistant can read the invoice lines for you. Supplier invoices carry no customer data, so pasting them is fine. The instruction is what matters.

Here are last week's supplier invoice lines. For each flower give: stem name, bunch price,
stems per bunch, freight share per bunch (split the freight total evenly across bunches).
If the invoice does not state the stems per bunch, write UNKNOWN. Do not guess.
Return tab-separated rows for my Stems tab.

Suppose the invoice shows five bunches at $12.50, $13.50, $8.00, $6.50 and $9.50 plus a $7.50 freight line. The reply should give each bunch a $1.50 freight share. If the eucalyptus line says only "1 bunch", a good reply returns UNKNOWN for the count, and you check the box or ring the supplier. A careless one writes 10, and every recipe using eucalyptus is then wrong by a factor you cannot see.

Does the sheet match the shop? Five checks

  1. Hand-calculate one product. The bouquet's total cost should be $48.66 to the cent.
  2. Break it on purpose. Set waste to 0%. Total cost should fall by $2.79 to $45.87 and the unrounded price to $52.72. If it does not, a formula is pointing at the wrong cell.
  3. Compare a week of recipes with a week of invoices. Multiply each product's stem cost by the number sold, add the total, and set it against that week's stem purchases. I'd investigate any gap bigger than about 10%: it usually means recipes have drifted or waste is above the setting. Drift looks like this: staff add two extra roses to every medium bouquet because it looks better. That is $2.80 of stems, $3.18 with waste and $3.66 of shelf price. At 25 bouquets a week it is about 50 roses, or $79.55 of stems a week that no price ever charged for.
  4. Test the minutes. Re-time one product every quarter. If it now takes 24 minutes instead of 20, the price has been wrong by about $5.44 since the change (four minutes at $1.36).
  5. Compare with competitors. Give the assistant your shelf prices and three competitors' published prices for similar sizes, and ask where you differ by more than about 15%. A gap is a reason to look, not an order to match.

Discounts, peak weeks, budgets and weddings: four what-ifs

A discount is where a healthy margin disappears. The bouquet at $56 leaves $5.66 after cost and card fees. Take 10% off and the price is $50.40, the card fee $1.51, and the profit $0.23. At 15% off the shop loses $2.49 on every bouquet. If you want to reward loyalty, give a free card or a small upgrade that costs you a stem or two, not a percentage.

Give every product a floor price: total cost divided by one minus the card-fee percentage, =H2/(1-Settings!$B$5). It is the price at which you earn nothing. For the bouquet it is $50.16, so the 10% discount lands barely above it. Show the floor next to the shelf price on the Prices tab so staff can see how far a price can move before it loses money, and treat any sale below the floor as marketing spend that someone chose on purpose.

Peak weeks move the Stems tab. Suppose roses rise from $1.40 to $2.20 in the run-up to a major holiday. Five roses add $4.00, stems become $24.45, the unrounded price becomes $61.15, and the shelf price $62, an increase of $6. Keep a peak copy of the Stems tab, refresh it from the actual invoice, and reprice before orders open. How Florists Can Prepare for Valentine's and Mother's Day With AI covers the preparation, and Supplier Price Increases: Update a Wholesale Price List With AI shows the update routine.

Customers often start from a budget: "I have $60 for a hand-tied bouquet." Run the formula backwards. Stems allowed = (budget × (1 − profit − card fees) − consumables − labour − overhead) × (1 − waste rate). With $60 and the usual 20 minutes that is ($60 × 0.87 − $1.75 − $8.67 − $15.00) × 0.88 = $23.57 of stems at landed cost, a little above the $20.45 recipe, so $60 buys a slightly fuller bouquet. At $40 the same 20-minute design leaves $8.26 for stems, which is not a bouquet; a simpler ten-minute design leaves $18.67. In the sheet it is one more column, =(M2*(1-Settings!$B$5-Settings!$B$6)-D2-F2-G2)*(1-Settings!$B$2), with the budget typed into M2, and it lets counter staff offer the right size in seconds.

Weddings need their own sheet layout. They add consultation time, setup, delivery, hire items and a larger waste setting, and many florists charge labour as a separate line. The same build-up works, with each of those as its own row. Florist Wedding Quote Template: Price Stems, Labour and Hire With AI carries the formula into a quote.

Florist pricing questions the formula raises

Is a flat 3x markup on stems enough for a florist?

Only by accident. A 3x multiple gives a 66.7% gross margin on stems, but it says nothing about the minutes a design takes or what your rent adds to each minute. In the worked example a bouquet lands at 2.7x, a vase arrangement at 3.5x and a buttonhole at 10.5x, all from the same formula.

Should delivery be built into the price of an arrangement?

Charge it as its own line so customers can see it and so collection orders do not carry it. Cost it from the driver's minutes plus fuel and wear, then divide by the same profit and card-fee divisor. In the worked example, 25 minutes at $26 an hour plus $3.00 gives a $16 fee.

How often should I update the stem price list?

Update any stem whose invoice price moved, every time an invoice arrives, and keep a separate peak-week copy of the tab for the run-up to the busiest holidays. A stale Stems tab is the most common way a sheet drifts, because every recipe reads from it and the error spreads quietly to every price.

What waste rate should I use before I have any data?

Use a cautious placeholder, label it as one in the Settings tab, and replace it after four weeks of bin tallies. Do not copy a rate from a guide as if it were measured. One florist-software guide quotes 15 to 25% overbuying for weddings, which is event work and a poor stand-in for a shop's daily retail waste.

Further reads

Sources: Curate's wedding florist pricing guide (March 2026) and Florist Heaven's floral pricing formula guide, read for the published markup, labour and overbuy ranges. All shop figures in the worked examples are illustrative.

Want your price list built from your real costs?

On a 1:1 call we'll look at how you price today, set up a stem-cost and labour sheet in the tools you already use, and decide which prices to test first.

Book a 1:1 call with me