Skip to main content
ECOMCAAccounting · Tax · Advisory
Menu

Quick-Commerce Ad Spend (TACoS) & Fill-Rate Calculator

Turn quick-commerce dashboard ROAS into real PO profit after margin, GST, cannibalisation and fill-rate penalties.

Reviewed by CA Apurav GargUpdated Calculated in your browser; copied links include your figures

Calculator

Note:
Example values — replace with yours.

Your SKU

Presets are today’s common rates. Use “Custom rate” for any other rate, including special rates and rates for earlier periods.

GST is taken out of the PO price.

Landed cost, ready to dispatch to the platform warehouse.

The share of supplied stock sent back or written off.

Ads this month

As shown on the platform’s ad dashboard.

Cannibalisation: ad-attributed orders from shoppers who would have bought without the ad.

Advanced options

The figures below start with illustrative defaults — replace them with your own data.

Set from your product’s GST rate: on, as it is taxed. Turn it off if your product is GST-exempt, making the GST on ads a real cost.

Consumer discount on MRP while the ads run, if ad sales are at the discounted price.

Extra organic orders over 90 days from each new buyer the ads bring in.

Share of CPC or banner spend wasted while dark stores are out of stock.

Supply this month

The minimum fill rate in your agreement.

Charged on the PO value of the units short, when the fill rate is below the SLA.

Your result

Real incremental

1.94×

The dashboard shows 4.00× at MRP. After the platform margin, GST, returns and cannibalised orders, each ₹1 of ads brings ₹1.94 of extra net realisation, and the campaign loses ₹50,182 a month.

Dashboard ROAS
4.00×
Break-even ROAS
6.02×
Real TACoS
13.7%
Warning:
At this cannibalisation, the ads earn back less contribution than they cost on the first order: a loss of ₹50,182 a month. The dashboard needs to show at least 6.02× to break even.
First order and 90 days with repeat orders
CampaignAmount
Ad cost (GST claimed as ITC)₹1,50,000.00
Campaign loss on the first order−₹50,182.36
Repeat orders over 90 days (0 a buyer)₹0.00
Campaign loss over 90 days−₹50,182.36
Break-even dashboard ROAS (first order)6.02×

Repeat orders are an estimate you enter; the 90-day figure is only as good as that estimate.

What the ads really earn this month
Ad campaignAmount
Units from ads (at MRP)1,202.4
Incremental units after cannibalisation901.8
Incremental net realisation₹2,91,000.00
Incremental contribution₹99,817.64
Less ad spend−₹1,50,000.00
Campaign loss (first order)−₹50,182.36

Net realisation ₹322.69 a unit after the platform margin, GST and RTV; contribution ₹110.69 a unit after your cost.

Fill rate and TACoS this month
Supply and adsAmount
Fill rate (600 units short)85.0%
SLA penalty₹9,980.00
Contribution lost on short supply₹66,412.00
Apparent TACoS (ad spend ÷ supplied units at MRP)8.8%
Real TACoS (ad spend ÷ net realisation)13.7%
Brand contribution after ads and penalty₹2,16,354.67

on MRP looks lower than what the ads really take out of the money you receive.

What this tells you

Quick-commerce ad dashboards report sales at MRP. When you supply against purchase orders, you receive much less than MRP, and part of the ad-attributed sales would have happened anyway.

Enter one SKU’s PO terms, a month’s ad spend and supply to see the real return on the ads, the dashboard ROAS you need to break even, fill-rate penalties and TACoS on what you actually receive.

Assumptions used

  • Product GST rate choices: 0%, 5%, 12%, 18%, 40%, or a custom rate.
  • GST on marketplace, courier, payment gateway and advertising services is 18%.
  • Ad-attributed sales are at MRP including GST, as the platform dashboard shows them.
  • By default the PO price (MRP less margin) includes GST; switch it off if GST is added on top.
  • Returns, damage and expiry (RTV) are debited back at PO value and the stock is not resold.
  • Cost per unit includes landed cost, inbound freight and promotion funding, excluding GST.
  • The penalty applies to the PO value (excluding GST) of the units short, only when the fill rate is below the SLA.
  • GST on ad spend is 18%. It is claimed as input tax credit unless the product is GST-exempt (0%) or you switch it off.
  • Ad units are capped at the units supplied: the ads cannot have sold more than you supplied.
  • Advanced options (campaign discount, repeat orders, stock-out waste) start with illustrative defaults that leave the result unchanged — replace them with your own data.
  • Figures are rounded for display only; ROAS is rounded down and the break-even ROAS up.
Legal references and sources
Product GST rate choices
Notification No. 09/2025–Central Tax (Rate) dated 17 September 2025, effective 22 September 2025, on the recommendations of the 56th GST Council meeting (nil, 5%, 18% and 40%); verified as on 2 November 2026. Use 'Custom rate' for special rates such as 3% or 0.25%, and for 12% or 28% on sales made before 22 September 2025 (28% plus cess continued on tobacco and pan masala until 31 January 2026).
Effective from 22 Sept 2025 · Last verified 27 Oct 2026 · Official source
Default GST on marketplace fees
CGST Act, 2017 read with Notification No. 11/2017–Central Tax (Rate) dated 28 June 2017: 18% on e-commerce marketplace, courier, payment-gateway and advertising services (SAC 9961 / 9962 / 9968 / 9983); verified as on 2 November 2026. Applied as the default GST on marketplace commission, fulfilment and payment-gateway fees. Each fee row in a tool can override it.
Last verified 27 Oct 2026 · Official source

How this is calculated

  1. PO price excl. GST = MRP × (1 − margin) ÷ (1 + GST rate), or MRP × (1 − margin) when the PO price excludes GST.
  2. Net realisation = (1 − RTV %) × PO price excl. GST; contribution per unit = net realisation − cost per unit.
  3. Effective ad cost = ad spend, or ad spend × (1 + GST on ads, 18%) when that GST can’t be claimed as ITC.
  4. Dashboard ROAS = ad sales ÷ ad spend. Selling price = MRP × (1 − campaign discount). Units from ads = ad sales ÷ selling price, capped at units supplied; incremental units = that × (1 − cannibalisation) × (1 − ad spend wasted on stock-outs).
  5. Real incremental ROAS = incremental units × net realisation ÷ ad spend. First-order campaign profit = incremental units × contribution − effective ad cost.
  6. Break-even dashboard ROAS = selling price × (effective ad cost ÷ ad spend) ÷ (contribution per unit × (1 − cannibalisation) × (1 − stock-out waste)).
  7. 90-day campaign profit = first-order profit + incremental units × repeat orders per buyer × contribution per unit.
  8. Fill rate = supplied ÷ ordered. Penalty = units short × PO price excl. GST × penalty %, when below the SLA.
  9. Apparent TACoS = ad spend ÷ (supplied × MRP). Real TACoS = ad spend ÷ (supplied × net realisation).
  10. Brand contribution = supplied × contribution per unit − effective ad cost − penalty.

Worked examples

Example: a ₹499 SKU at 5% GST on a 30% margin

Cost ₹212 a unit, RTV 3%. Ad spend ₹1,50,000, ad sales ₹6,00,000, cannibalisation 25%. 4,000 units ordered, 3,400 supplied; SLA 90%, penalty 5%.

  • PO price excl. GST ₹332.67; net realisation ₹322.69; contribution ₹110.69 a unit.
  • Dashboard ROAS 4.00×. 1,202.4 units from ads, 901.8 incremental: net realisation ₹2,91,000.00, so real ROAS 1.94×.
  • Incremental contribution ₹99,817.64 less ad spend: a campaign loss of −₹50,182.36. Break-even dashboard ROAS 6.02×.
  • Fill rate 85.0% (600 short): penalty ₹9,980.00; contribution lost ₹66,412.00.
  • Net PO realisation ₹10,97,134.67. Apparent TACoS 8.8%, real TACoS 13.7%. Brand contribution ₹2,16,354.67 a month.

Example 2: a GST-exempt staple, with repeat orders

MRP ₹200 at 0% GST, so the GST on ads can’t be claimed. Contribution ₹50 a unit. Ad spend ₹1,00,000 excl. GST, ad sales ₹4,00,000, cannibalisation 20%, 5,000 units supplied, and 1 repeat order per new buyer over 90 days.

  • Effective ad cost ₹1,00,000 × (1 + 18%) = ₹1,18,000.00.
  • Units from ads 2,000; incremental 1,600. First order: 1,600 × ₹50 − ₹1,18,000.00 = −₹38,000.00.
  • Break-even dashboard ROAS 5.90×.
  • Over 90 days: −₹38,000.00 + 1,600 × 1 × ₹50 = ₹42,000.00.

Our MIS & Reporting service covers monthly reporting by channel and SKU, including ad spend.

Questions sellers ask

Why is the real ROAS so much lower than the dashboard?

The ad dashboard counts sales at MRP, including GST and the platform’s margin. You are paid the PO price, less GST and stock sent back. Some ad-attributed orders would also have happened without the ad. Taking those out leaves what the ads actually add to your income.

How do I estimate cannibalisation?

Compare organic sales of the SKU in weeks with and without ads, or pause ads in one city for a short test. If you have no data, try a few values to see how sensitive the result is.

What is TACoS and why are there two?

TACoS is ad spend as a share of all sales of the SKU on the platform. Apparent TACoS uses sales at MRP; real TACoS uses the net PO realisation you actually receive, so it is higher.

What does the break-even ROAS mean?

It is the dashboard ROAS at which the extra contribution from the ads exactly pays for the ad spend, after cannibalisation. Below it, the campaign costs more than it adds.

When is the GST on ad spend a real cost?

Ad spend carries GST (18% in Tool Settings). A brand selling taxed products usually claims it back as input tax credit. If your product is GST-exempt (0%), there is no output tax to set it against, so the GST is part of the ad cost. The calculator assumes this from the product’s GST rate; you can change it under Advanced options.

Why count repeat orders over 90 days?

A first order can lose money on ads and still pay back if the new buyers order again. The 90-day figure adds the contribution from the repeat orders you expect from each incremental buyer. It is only as reliable as that estimate, so compare it with your actual repeat rates.

How is the fill-rate penalty worked out?

When the units supplied fall below the fill-rate SLA in your agreement, the penalty here is the penalty % on the PO value (excluding GST) of the units short. Check your agreement for the exact basis.

Does this cover marketplace sales on the same apps?

No. It covers stock supplied against purchase orders, where the platform buys from you at MRP less its margin. For marketplace sales, use the Marketplace Payout Calculator.

Want our team to look at these numbers alongside your books?

We keep books, file GST and TDS returns and prepare monthly MIS for D2C and marketplace sellers. Share your figures and we will walk you through what we find.

Disclaimer

A planning estimate for general information only, based on the figures you enter. It is not professional advice. Platform terms, penalties and ad attribution differ; check your agreement and ad reports.

Report a problem with this calculator