{"schemaVersion":"1.0","canonicalUrl":"https://www.iamgeorgekelly.com/field-guide/inventory-aware-ad-spend","markdownUrl":"https://www.iamgeorgekelly.com/field-guide/inventory-aware-ad-spend/index.md","editorialNote":"AI-assisted research and drafting. Provider-specific claims link to primary sources. Frameworks are editorial proposals; worked examples are illustrative and are not employer performance results.","slug":"inventory-aware-ad-spend","title":"Can your stock support more ad spend?","description":"An inventory and ad-spend calculator with daily stock checks, a delayed-delivery example, and a downloadable decision worksheet.","category":"Measurement","status":"published","published":"2026-09-06","updated":"2026-09-06","author":"George Kelly","answer":"Increase spend only when the additional sales can earn positive contribution and leave enough stock for existing demand and a buffer. Check every day before replenishment, not just the final stock total. A profitable historical ROAS does not establish either condition. Use the worksheet to test a proposed increase, then verify its assumptions before release.","sections":[{"id":"worksheet","title":"Test the proposed increase","paragraphs":["Start with one variant and the locations that can fulfill its orders. The starting values are fictional USD examples. Change the delivery day, demand, or cost per additional unit to see which constraint fails. All money inputs must use the same currency."],"inventoryCalculator":true},{"id":"inputs","title":"Count available stock and existing demand once","paragraphs":["Shopify distinguishes available inventory from committed, unavailable, and incoming quantities. If you start from Available, do not subtract commitments again. Enter only an additional buffer that has not already been withheld. Count an incoming shipment on the day it can actually be sold and fulfilled, after receiving and any quality checks.","Baseline demand means expected new units sold with current spend unchanged, including organic, retail, and existing paid activity drawing from this stock. Exclude orders already committed. The proposed increase adds genuinely additional units to that baseline. Attributed orders are not automatically incremental: Google’s Conversion Lift documentation describes estimating causal impact through exposed and control groups."],"sources":["shopify-inventory","google-lift"]},{"id":"worked-example","title":"One delivery changes the decision","paragraphs":["The first two scenarios start with 120 available units and a further 20-unit buffer. Over 14 days, baseline demand is 84 units. An extra 60 USD per day at an assumed 20 USD per additional unit adds 42 units. Each unit contributes 30 USD before ads.","With 60 units received before day 8, the proposed increase leaves 54 units at the end and never breaches the buffer. Its modelled contribution after extra advertising is 42 × 30 − 840 = 420 USD, before fixed overhead. Delay that same receipt to day 15 and the plan crosses the buffer on day 12. The ending balance of −6 represents unmet demand, not negative physical inventory."],"table":{"headers":["Scenario","Stock result","Proposed decision"],"rows":[["Delivery on day 8","No buffer breach; 54 units remain","Test a limited increase after verifying assumptions."],["Same delivery delayed to day 15","Buffer breached on day 12","Hold the increase; the stock-limited extra spend is 22.85 USD/day, rounded down."],["90 available units; no receipt or extra spend","Baseline alone breaches the buffer on day 12","Review a reduction in stock-consuming activity or a change to supply. Identify controllable demand first."]]},"download":{"url":"/downloads/inventory-ad-spend-scenarios.json","label":"Download the three worked scenarios and expected results (JSON)"}},{"id":"method","title":"Check the stock path, then contribution","paragraphs":["For each day d: baseline balance = available units + receipts sellable by d − baseline units per day × d. Planned balance = baseline balance − (extra spend per day ÷ cost per additional unit) × d. A breach occurs when either balance falls below the additional buffer; day 0 means it starts below the buffer.","The stock limit for uniform additional units per day is the smallest value of (baseline balance − buffer) ÷ d across every day in the window, floored at zero. Multiply that unit limit by the assumed cost per additional unit to obtain the stock-limited extra spend per day. If baseline demand already breaches the buffer, zero extra spend is still insufficient to protect it.","For a feasible plan: contribution from the increase = additional units × contribution per unit before ads − extra spend. Use net selling value after expected discounts and refunds, less product and variable costs. Do not count those costs again in advertising. An infeasible plan shows no contribution total; it cannot assume every projected unit will be sold.","These are proposed planning rules, not a platform bidding formula. The model allows 1–90 days, one receipt, and uniform daily demand and spend. Fractional units represent expected averages. It excludes demand variability, shared components, bundles, substitution, cash constraints, and fulfillment limits. Use a dated daily plan when those change the decision."]},{"id":"stress-tests","title":"Stress-test the assumptions that can reverse it","paragraphs":["Run the delayed or missing delivery case first. Then test higher baseline demand, lower unit contribution, and different acquisition costs. A cheaper additional unit consumes stock faster; a more expensive one reduces contribution. A higher dollar stock limit caused by worse efficiency is not permission to spend more.","The worksheet models actual extra spend distributed evenly. A Google Ads average daily budget does not enforce that pattern: for most campaigns, the daily spending limit is twice the average daily budget. Check the applicable campaign rules and early demand spikes before turning a scenario into a platform setting."],"list":["Confirm the inventory snapshot, variant, locations, receipt date, and accountable owner.","Use evidence for marginal unit cost; keep a range when incremental impact is unknown.","Set a review time before the earliest plausible shortage, plus a stop condition tied to available stock.","Recalculate when receipt timing, daily demand, returns, or the offer changes."],"sources":["google-budget"]},{"id":"release-check","title":"Turn the result into a small decision memo","paragraphs":["Record the proposed change, stock evidence, economics, stress cases, owner, and next review time. The CSV and JSON buttons above download your current inputs and daily balances locally. The blank memo below records the evidence the calculator cannot verify.","If you restrict advertising, keep the customer-facing availability truthful. Merchant Center requires availability to agree with the landing page and checkout; its guidance distinguishes pausing promotion from marking an available product out of stock. Recheck the affected variant and destination after an approved change."],"download":{"url":"/downloads/inventory-spend-decision.md","label":"Download the blank inventory and spend decision memo"},"sources":["merchant-availability"]},{"id":"next-decision","title":"Use this alongside the profitability and product-data guides","paragraphs":["The ROAS guide checks the economics of the sales already measured. This worksheet asks whether a proposed increase fits a dated stock plan. The ownership register helps establish which availability and lead-time evidence to trust. Together they support a clearer budget review; they do not prove that an increase will create demand."]}],"sources":[{"id":"shopify-inventory","title":"Shopify: Understanding inventory states","url":"https://help.shopify.com/en/manual/products/inventory/fundamentals/inventory-states","note":"Defines available, committed, unavailable, on-hand, and incoming stock. Does not prescribe this buffer, demand forecast, or spending rule.","checked":"2026-09-06"},{"id":"google-lift","title":"Google Ads: About Conversion Lift","url":"https://support.google.com/google-ads/answer/12003020?hl=en","note":"Explains exposed/control measurement of incremental impact. Does not establish the example’s assumed cost per additional unit or guarantee study access.","checked":"2026-09-06"},{"id":"google-budget","title":"Google Ads: Bidding and budget questions","url":"https://support.google.com/google-ads/faq/10286469?hl=en","note":"Documents daily spending limits for most campaigns and exceptions. The worksheet’s uniform actual spend is an assumption, not a Google Ads budget control.","checked":"2026-09-06"},{"id":"merchant-availability","title":"Google Merchant Center: Availability","url":"https://support.google.com/merchants/answer/6324448?hl=en","note":"Supports accurate availability across offer, landing page, and checkout, and separate controls for pausing promotion. The calculator does not change product feeds or campaigns.","checked":"2026-09-06"}],"related":["roas-poas-profit","returns-adjusted-contribution","product-data-ownership"],"project":"vintage-bath-home"}