[{"data":1,"prerenderedAt":586},["ShallowReactive",2],{"site-chrome-my":3,"site-chrome-en":-1,"site-chrome-th":-1,"glossary-term-my":287,"blog-categories-my":300,"article-glossary-my-\u002Fglossary\u002Fmarginal-roas":320,"og-copy-my":514,"og-posts-my-none":556,"glossary-related-my-marginal-roas":557},{"id":4,"extension":5,"footer":6,"header":116,"indexFacets":202,"meta":243,"notFound":244,"stem":250,"ui":251,"__hash__":286},"chrome_en\u002Fen\u002Fchrome.yml","yml",{"columns":7,"legal":83,"quote":84,"askAi":87,"socials":103},[8,29,47,65],{"label":9,"children":10},"Product",[11,14,17,20,23,26],{"label":12,"to":13},"Ads optimization","\u002Fmy\u002Fblog\u002Fads-optimization",{"label":15,"to":16},"Unit economics","\u002Fmy\u002Fblog\u002Fprofit-margin",{"label":18,"to":19},"Agentic KAM","https:\u002F\u002Flearn.dataglasslabs.com\u002Fdocs\u002Fai-and-api\u002Fassistants",{"label":21,"to":22},"One-click deploy","https:\u002F\u002Flearn.dataglasslabs.com\u002Fdocs\u002Fgrowth\u002Factions\u002Faction-flow",{"label":24,"to":25},"Integrations","https:\u002F\u002Flearn.dataglasslabs.com\u002Fdocs\u002Foverview\u002Fget-started\u002Fsupported-platforms",{"label":27,"to":28},"Pricing","\u002Fmy\u002Fpricing",{"label":30,"children":31},"Resources",[32,35,38,41,44],{"label":33,"to":34},"Blog","\u002Fmy\u002Fblog",{"label":36,"to":37},"Customer stories","\u002Fmy\u002Fcustomers",{"label":39,"to":40},"Research","\u002Fmy\u002Fresearch",{"label":42,"to":43},"Glossary","\u002Fmy\u002Fglossary",{"label":45,"to":46},"Docs","https:\u002F\u002Flearn.dataglasslabs.com\u002Fdocs",{"label":48,"children":49},"Company",[50,53,56,59,62],{"label":51,"to":52},"About","\u002Fmy\u002Fcompany",{"label":54,"to":55},"Contact","\u002Fmy\u002Fcontact",{"label":57,"to":58},"Book a demo","\u002Fmy\u002Fbook-a-demo",{"label":60,"to":61},"Privacy","\u002Fmy\u002Flegal\u002Fprivacy",{"label":63,"to":64},"Terms","\u002Fmy\u002Flegal\u002Fterms",{"label":66,"children":67},"DataGlass for",[68,71,74,77,80],{"label":69,"to":70},"Agencies","\u002Fmy\u002Ffor\u002Fagencies",{"label":72,"to":73},"Brands","\u002Fmy\u002Ffor\u002Fbrands",{"label":75,"to":76},"Planners and optimizers","\u002Fmy\u002Ffor\u002Fplanners",{"label":78,"to":79},"Managers and analysts","\u002Fmy\u002Ffor\u002Fmanagers",{"label":81,"to":82},"Sellers and shop owners","\u002Fmy\u002Ffor\u002Fsellers","© 2026 DataGlass Labs. All rights reserved.",{"text":85,"caption":86},"Measure what you keep, and then grow what you measure.","The DataGlass team",{"label":88,"prompt":89,"assistants":90},"Ask AI about DataGlass","I want to understand DataGlass, a decision engine for Shopee, Lazada and TikTok Shop sellers that optimizes ads, pricing and promotions for true profit. Use web search to read their website at https:\u002F\u002Fwww.dataglasslabs.com (with an agent-readable summary at https:\u002F\u002Fwww.dataglasslabs.com\u002Fllms.txt), then explain what DataGlass does, who it is for and how it differs from an analytics dashboard.",[91,95,99],{"label":92,"icon":93,"url":94},"ChatGPT","chatgpt","https:\u002F\u002Fchatgpt.com\u002F?prompt={prompt}",{"label":96,"icon":97,"url":98},"Claude","claude","https:\u002F\u002Fclaude.ai\u002Fnew?q={prompt}",{"label":100,"icon":101,"url":102},"Perplexity","perplexity","https:\u002F\u002Fwww.perplexity.ai\u002Fsearch?q={prompt}",[104,108,112],{"label":105,"icon":106,"to":107},"LinkedIn","i-lucide-linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fdataglass-labs",{"label":109,"icon":110,"to":111},"Facebook","i-lucide-facebook","https:\u002F\u002Fwww.facebook.com\u002Fdataglasslabsth",{"label":113,"icon":114,"to":115},"Instagram","i-lucide-instagram","https:\u002F\u002Fwww.instagram.com\u002Fdataglasslabs\u002F",{"links":117,"cta":196,"secondaryCta":199},[118,152,191,193,194,195],{"label":9,"to":119,"menu":120},"\u002Fmy",{"layout":121,"heading":122,"cards":123,"groups":135,"footer":142},"cards","What DataGlass does",[124,128,132],{"label":125,"description":126,"to":13,"ui":127},"True profit ads optimization","Budgets, pacing and Target ROAS tuned for profit.","budget-tomorrow",{"label":129,"description":130,"to":16,"ui":131},"Unit economics breakdown","What you actually earn from every sale.","unit-economics",{"label":18,"description":133,"to":19,"motif":134},"An AI agent that knows your shops.",true,[136],{"label":137,"size":138,"links":139},"More","secondary",[140,141],{"label":21,"to":22},{"label":24,"to":25},[143,148],{"lead":144,"label":145,"icon":146,"to":147},"DataGlass v.2.6.","See what's new","i-lucide-box","https:\u002F\u002Flearn.dataglasslabs.com\u002Freleases",{"lead":149,"label":150,"icon":151,"to":37},"Read our","customer stories","i-lucide-book-open",{"label":30,"to":34,"menu":153},{"layout":154,"groups":155},"directory",[156,164,170,182],{"label":66,"size":157,"links":158},"primary",[159,160,161,162,163],{"label":69,"to":70},{"label":72,"to":73},{"label":75,"to":76},{"label":78,"to":79},{"label":81,"to":82},{"label":165,"size":157,"links":166},"Insights",[167,168,169],{"label":33,"to":34},{"label":36,"to":37},{"label":39,"to":40},{"label":171,"size":157,"links":172},"Learn",[173,174,177,180],{"label":45,"to":46},{"label":175,"to":176},"Use cases","https:\u002F\u002Flearn.dataglasslabs.com\u002Fuse-cases",{"label":178,"to":179},"Training","https:\u002F\u002Flearn.dataglasslabs.com\u002Ftraining",{"label":181,"to":147},"Changelog",{"label":183,"size":138,"links":184},"Support",[185,186,189],{"label":42,"to":43},{"label":187,"to":188},"Brand kit","\u002Fmy\u002Fbrand",{"label":190,"to":55},"Contact us",{"label":192,"to":37},"Customers",{"label":27,"to":28},{"label":48,"to":52},{"label":54,"to":55},{"label":197,"to":198},"Start for free","https:\u002F\u002Fapp.dataglasslabs.com\u002Fsign-up",{"label":200,"to":201},"Sign in","https:\u002F\u002Fapp.dataglasslabs.com\u002Fsign-in",{"clear":203,"groups":204},"Clear filters",[205,218],{"key":206,"label":207,"options":208},"platforms","Platform",[209,212,215],{"value":210,"label":211},"shopee","Shopee",{"value":213,"label":214},"lazada","Lazada",{"value":216,"label":217},"tiktok","TikTok Shop",{"key":219,"label":220,"options":221},"format","Format",[222,225,228,231,234,237,240],{"value":223,"label":224},"guide","Guide",{"value":226,"label":227},"article","Article",{"value":229,"label":230},"comparison","Comparison",{"value":232,"label":233},"calculator","Calculator",{"value":235,"label":236},"paper","Paper",{"value":238,"label":239},"survey","Survey",{"value":241,"label":242},"dataset","Dataset",{},{"title":245,"description":246,"cta":247,"errorTitle":249},"Page not found","The page may have moved, or it never existed.",{"label":248,"to":119},"Back to home","Something went wrong","en\u002Fchrome",{"previous":252,"next":253,"pause":254,"play":255,"goTo":256,"expand":257,"close":258,"readMore":259,"learnMore":260,"seeAll":261,"menu":262,"back":263,"share":264,"shareOn":265,"copyLink":266,"copied":267,"onThisPage":268,"minRead":269,"sources":270,"viewMore":271,"searchPosts":272,"allPosts":273,"all":274,"filters":275,"search":276,"searchClose":277,"searchPlaceholder":278,"searchSuggested":279,"searchResults":280,"searchNoResults":281,"searchLoading":282,"relatedTitle":283,"mainNav":284,"footerNav":285},"Previous","Next","Pause","Play","Go to item","Expand","Close","Read more","Learn more","See all","Menu","Back","Share","Share on","Copy link","Link copied","On this page","{n} min read","Sources","View more","Search posts","All posts","All","Filters","Search","Close search","Search DataGlass","Suggested","Results","No results for","Loading","More to discover","Main","Footer","HZQSEulcpFGY0nWnUTNYhG2n06nO97XnUBc_pEVOFxo",{"id":288,"cta":289,"extension":5,"glossary":42,"meta":295,"related":296,"stem":297,"whatIs":298,"__hash__":299},"glossaryTerm_en\u002Fen\u002Fglossary-term.yml",{"headline":290,"description":291,"primaryCta":292,"secondaryCta":293},"Put this number to work on your own shops","See it computed from your orders, fees and ads, with a demo on your data.",{"label":57,"to":58},{"label":294,"to":28},"See pricing",{},"Related terms","en\u002Fglossary-term","What is {term}?","lxyPsyClqTqVxZhmfDihDsuAz7Al3t22gFHKeu2Lza8",[301,304,306,309,312,315,318],{"slug":302,"label":303},"profit","Profit",{"slug":305,"label":27},"pricing",{"slug":307,"label":308},"ads","Ads",{"slug":310,"label":311},"operations","Operations",{"slug":313,"label":314},"market","Market",{"slug":316,"label":317},"data-science","Data Science",{"slug":319,"label":48},"company",{"entry":321,"document":361,"toc":505},{"id":322,"title":323,"aliases":324,"category":307,"cta":325,"date":328,"description":329,"draft":330,"draftReason":324,"extension":331,"meta":332,"navigation":324,"ogImage":324,"path":333,"readMinutes":334,"related":335,"robots":324,"schemaOrg":324,"seo":343,"short":327,"sitemap":345,"sources":346,"stem":359,"updatedAt":324,"__hash__":360},"glossary_en\u002Fglossary\u002Fmarginal-roas.md","Marginal ROAS",null,{"title":326,"body":327},"See it on your own shop, free.","The return on the next baht of ad spend, not the average across all of it. The number that decides whether to scale a campaign.","2026-10-23","Marginal ROAS is the return on the next baht of spend. Why it is always below average ROAS, how saturation curves work, and where to stop scaling.",false,"md",{},"\u002Fglossary\u002Fmarginal-roas",4,[336,337,338,339,340,341,342],"true-roas","break-even-roas","target-roas","ad-waste","thompson-sampling","poas","attribution-inflation",{"title":344,"description":329},"What is Marginal ROAS? Diminishing Returns Explained | DataGlass",{"loc":333},[347,351,355],{"title":348,"url":349,"note":350},"Diminishing returns — overview","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDiminishing_returns","The general economic property that makes marginal return fall below average return whenever a factor of production is increased against fixed complements.",{"title":352,"url":353,"note":354},"Equimarginal principle","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEquimarginal_principle","The allocation rule behind cross-campaign budgeting: total return is maximised when marginal returns are equalised across uses, not when averages are.",{"title":356,"url":357,"note":358},"Jin, Wang, Sun, Chan & Koehler — Bayesian Methods for Media Mix Modeling with Carryover and Shape Effects (Google Research, 2017)","https:\u002F\u002Fresearch.google\u002Fpubs\u002Fbayesian-methods-for-media-mix-modeling-with-carryover-and-shape-effects\u002F","Uses the Hill function to model advertising shape effects and saturation, and discusses the identification difficulty when observed spend does not span the curve.","glossary\u002Fmarginal-roas","InoXDqkx8tBzFhrfne1St9nZBtZLScsEE7rzCumFIMw",{"frontmatter":362,"meta":370,"nodes":399},{"title":323,"description":329,"seo":363,"short":327,"category":307,"related":364,"date":328,"sources":365,"cta":369,"readMinutes":334},{"title":344,"description":329},[336,337,338,339,340,341,342],[366,367,368],{"title":348,"url":349,"note":350},{"title":352,"url":353,"note":354},{"title":356,"url":357,"note":358},{"title":326,"body":327},{"toc":371},{"title":372,"searchDepth":373,"depth":373,"links":374},"",2,[375,378,381,384,387,390,393,396],{"id":376,"depth":373,"text":377},"formula","Formula",{"id":379,"depth":373,"text":380},"example","Example",{"id":382,"depth":373,"text":383},"why-does-marginal-roas-fall-as-you-spend-more","Why does marginal ROAS fall as you spend more?",{"id":385,"depth":373,"text":386},"how-do-you-find-the-profit-maximising-spend","How do you find the profit-maximising spend?",{"id":388,"depth":373,"text":389},"can-you-measure-marginal-roas-without-an-experiment","Can you measure marginal ROAS without an experiment?",{"id":391,"depth":373,"text":392},"why-it-matters","Why it matters",{"id":394,"depth":373,"text":395},"in-dataglass","In DataGlass",{"id":397,"depth":373,"text":398},"where-this-shows-up","Where this shows up",[400,404,407,416,418,423,425,428,430,433,438,440,443,445,448,453,455,458,460],[401,402,403],"p",{},"Marginal ROAS is the additional revenue produced by the next baht of ad spend, as distinct from average ROAS, which divides all revenue by all spend. Because advertising saturates — the cheapest, highest-intent impressions are bought first and each additional baht reaches a progressively less interested audience — marginal ROAS is always lower than average ROAS on a campaign that is spending anything at all. Every scaling decision is a marginal question: not “is this campaign profitable?” but “would one more baht in it be?”. A campaign can have an excellent average ROAS and a marginal ROAS already below break-even, which is the precise condition under which increasing its budget destroys money.",[405,406,377],"h2",{"id":376},[408,409,411],"pre",{"language":410},"text",[412,413,415],"code",{"class":414},"language-text","Marginal ROAS = d(revenue) \u002F d(spend)\n\nSaturating response, Hill form:\n  orders(s) = ceiling × s \u002F (k + s)\n  k = the spend at which response reaches half its ceiling\n\nOptimal spend is where marginal profit = 0, i.e.\n  marginal ROAS × contribution rate = 1",[405,417,380],{"id":379},[408,419,420],{"language":410},[412,421,422],{"class":414},"A Shopee campaign at ฿10,000\u002Fday returns ฿60,000 — average ROAS 6.0.\nRaise it to ฿12,000\u002Fday and revenue moves to ฿66,000.\n\nMarginal ROAS = (66,000 − 60,000) \u002F (12,000 − 10,000) = 3.0\nAt a 20% contribution rate, break-even is 5.0.\nThe average says scale. The margin says the last ฿2,000 lost ฿1,800.",[405,424,383],{"id":382},[401,426,427],{},"Because impressions are not interchangeable. An auction serves the query where your product is the obvious answer before it serves the query where it is a plausible one, and the buyer who searched your exact model number converts at a different rate from the buyer who searched the category. As budget rises the campaign reaches further down that ordering, so each additional baht buys a less valuable click. Modellers capture this with a saturating response curve — the Hill or Michaelis–Menten shape, orders proportional to spend divided by spend plus a half-saturation constant — which rises steeply from zero and flattens toward a ceiling. The important property is not the exact algebra but its consequence: there is always a spend level past which the next baht loses money, and average ROAS gives no hint of where it is.",[405,429,386],{"id":385},[401,431,432],{},"The optimum is where marginal profit crosses zero, which happens when marginal ROAS multiplied by the contribution rate equals one. Above that point the next baht returns less contribution than it costs. Two things follow that surprise people. First, the profit-maximising spend is almost never the ROAS-maximising spend: ROAS is maximised near zero spend, where only the best impressions are bought. Second, when several campaigns share a budget, profit is maximised when their marginal returns are equal, not when their average ROAS figures are equal — the equimarginal principle. A portfolio balanced on average ROAS is systematically mis-allocated.",[408,434,435],{"language":410},[412,436,437],{"class":414},"stop scaling when:  marginal ROAS = 1 \u002F contribution rate\n\n  contribution 20%  →  stop at marginal ROAS 5.0\n  contribution 40%  →  stop at marginal ROAS 2.5\n\nacross campaigns: equalise marginal return, not average ROAS",[405,439,389],{"id":388},[401,441,442],{},"Partially, and the limits matter. Fitting a saturation curve to observed spend and orders gives a usable slope near the range of spend the campaign has actually operated in. Outside that range it is extrapolation, and the ceiling parameter in particular is only identified if the campaign has been pushed near saturation at some point — a campaign that has never spent past the steep part of its curve simply does not contain the information needed to say where its ceiling is. Honest practice is to trust the marginal estimate close to current spend, treat large jumps as uncertain, and use deliberate spend variation, not just historical drift, to learn the shape.",[405,444,392],{"id":391},[401,446,447],{},"Almost every budget conversation in marketplace advertising is conducted in average ROAS, and average ROAS cannot answer the question being asked. “This campaign is at ROAS 6, let us double it” is a marginal claim supported by an average number. The gap between the two is where scaling goes wrong: the average stays respectable for a long time after the marginal return has gone underwater, because it is still being propped up by the cheap conversions bought at the start.",[449,450,452],"blog-callout",{"title":451},"Common mistake","Ranking campaigns by average ROAS and moving budget to the top of the list. If the high-average campaign is already saturated and the low-average one is still on the steep part of its curve, the transfer reduces total profit. Budget should follow marginal return, which frequently points at a campaign that looks mediocre on the dashboard.",[405,454,395],{"id":394},[401,456,457],{},"DataGlass fits a saturating spend-response curve per Shopee campaign and allocates budget by marginal return rather than by average ROAS, so a campaign that is already flat gets held while one still climbing gets funded. The response curve and the implied stopping point are shown as evidence on the recommendation, along with how far the estimate is extrapolating beyond observed spend.",[405,459,398],{"id":397},[461,462,463,469,475,481,487,493,499],"ul",{},[464,465,466],"li",{},[467,468,12],"a",{"href":13},[464,470,471],{},[467,472,474],{"href":473},"\u002Fmy\u002Fblog\u002Fincrease-shopee-profit","Increase Shopee profit",[464,476,477],{},[467,478,480],{"href":479},"\u002Fmy\u002Fblog\u002Fincrease-shopee-sales","Increase Shopee sales",[464,482,483],{},[467,484,486],{"href":485},"\u002Fmy\u002Fblog\u002Fcross-platform-ad-budget-allocation","Cross-platform ad budget allocation for SEA marketplace sellers",[464,488,489],{},[467,490,492],{"href":491},"\u002Fmy\u002Fblog\u002Fhow-to-reduce-shopee-ad-waste","How to reduce Shopee ad waste without killing sales",[464,494,495],{},[467,496,498],{"href":497},"\u002Fmy\u002Fblog\u002Fhow-shopee-ads-bidding-works","How Shopee ads bidding works: what your Target ROAS and budget actually do to a bid",[464,500,501],{},[467,502,504],{"href":503},"\u002Fmy\u002Fblog\u002Fprofit-maximizing-target-roas","Break-even ROAS is the zero line: the Target ROAS that actually maximizes Shopee profit",[506,507,508,509,510,511,512,513],{"id":376,"depth":373,"text":377},{"id":379,"depth":373,"text":380},{"id":382,"depth":373,"text":383},{"id":385,"depth":373,"text":386},{"id":388,"depth":373,"text":389},{"id":391,"depth":373,"text":392},{"id":394,"depth":373,"text":395},{"id":397,"depth":373,"text":398},{"id":515,"categories":516,"domain":523,"extension":5,"fallback":524,"home":527,"industry":536,"meta":541,"pricing":542,"stem":554,"__hash__":555},"og_en\u002Fen\u002Fog.yml",[517,518,519,520,521,522],{"slug":302,"label":303},{"slug":305,"label":27},{"slug":307,"label":308},{"slug":310,"label":311},{"slug":316,"label":317},{"slug":319,"label":48},"dataglasslabs.com",{"title":525,"description":526},"DataGlass","The decision engine for Shopee, Lazada and TikTok Shop sellers.",{"chart":528,"metrics":529},"Net profit, last 30 days",[530,533],{"label":531,"value":532},"Net profit","฿1.24M",{"label":534,"value":535},"Profit ROAS","3.4x",{"axis":537,"point":538},"Ad spend",{"label":539,"value":540},"Next baht still pays","+฿0.42",{},{"plans":543},[544,548,551],{"name":545,"price":546,"period":547},"Free","฿0","\u002Fmonth",{"name":549,"price":550,"period":547},"Standard","฿1,499",{"name":552,"price":553,"period":547},"Pro","฿2,499","en\u002Fog","63L8y4Lv8I2q3NvR26fMXU1sE9Wd7TZaz2l_tV6oZuo",[],[558,562,566,570,574,578,582],{"path":559,"title":560,"short":561,"draft":330},"\u002Fglossary\u002Ftrue-roas","True ROAS","Advertising return after platform fees, COGS, vouchers, and fulfillment — the profit-aware number platform dashboards rarely show.",{"path":563,"title":564,"short":565,"draft":330},"\u002Fglossary\u002Fbreak-even-roas","Break-even ROAS","The platform ROAS at which a campaign returns exactly what it costs. One divided by your contribution rate — the single number every ad target should be built on.",{"path":567,"title":568,"short":569,"draft":330},"\u002Fglossary\u002Ftarget-roas","Target ROAS","The revenue-per-ad-baht goal you hand an automated campaign. A gross-revenue instruction the platform will obey precisely, profitable or not.",{"path":571,"title":572,"short":573,"draft":330},"\u002Fglossary\u002Fad-waste","Ad waste","Ad spend that did not pay back after fees, COGS, and fulfillment — the unprofitable share of a marketplace ad budget.",{"path":575,"title":576,"short":577,"draft":330},"\u002Fglossary\u002Fthompson-sampling","Thompson Sampling","A way to keep learning about uncertain campaigns while still funding the proven ones — exploration without a fixed test budget.",{"path":579,"title":580,"short":581,"draft":330},"\u002Fglossary\u002Fpoas","POAS","Profit on ad spend — contribution earned divided by ad spend, where ROAS uses revenue. A POAS of 1.0 is break-even; a ROAS of 1.0 is a large loss.",{"path":583,"title":584,"short":585,"draft":330},"\u002Fglossary\u002Fattribution-inflation","Attribution inflation","The ratio of GMV a platform credits to your ads to the GMV your ads actually caused. It is a multiplier on every ad target you set, and it cannot be read off any dashboard.",1792785007663]