Únete a la comunidad recientemente lanzada de
Discord para participar en debates en tiempo real, obtener asistencia de otros miembros y comunicarte directamente con el equipo de Meridian.
ROI, mROI y curvas de respuesta
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Resultado incremental
Para un canal de medios \(q\)determinado, el resultado incremental se define de la siguiente manera:
\[\text{IncrementalOutcome}_q = \text{IncrementalOutcome} \left(\Bigl\{
x_{g,t,i}^{[M]} \Bigr\}, \Bigl\{ x_{g,t,i}^{[M](0,q)} \Bigr\} \right)\]
Donde:
- \(\left\{ x_{g,t,i}^{[M]} \right\}\) son los valores de medios observados.
- \(\left\{ x_{g,t,i}^{[M] (0,q)} \right\}\) denota los valores de medios observados para todos los canales, excepto el canal \(q\), que se establece en cero en todas partes. Más específicamente:
- \(x_{g,t,q}^{[M] (0,q)}=0\ \forall\ g,t\)
- \(x_{g,t,i}^{[M](0,q)}=x_{g,t,i}^{[M]}\ \forall\ g,t,i \neq q\)
ROI
El ROI del canal \(q\) se define de la siguiente manera:
\[\text{ROI}_q = \dfrac{\text{IncrementalOutcome}_q}{\text{Cost}_q}\]
Aquí se considera lo siguiente: \(\text{Cost}_q= \sum\limits _{g,t} \overset \sim x^{[M]}_{g,t,q}\)
Ten en cuenta que el denominador del ROI representa el costo de medios durante un período especificado que se alinea con el período durante el cual se define el resultado incremental.
En consecuencia, el resultado incremental en el numerador incluye el efecto rezagado de los medios ejecutados antes de este período y, de manera similar, excluye el efecto futuro de los medios ejecutados durante este período. Por lo tanto, el resultado incremental en el numerador no se alinea perfectamente con el costo en el denominador.
Sin embargo, esta falta de alineación será menos significativa en un período razonablemente largo.
Ten en cuenta que la situación contrafáctica de los medios (\(\left\{ x_{g,t,i}^{[M](0,q)}
\right\}\)) podría no estar representada realmente en los datos. Si esto sucede, se requiere realizar una extrapolación basada en los supuestos del modelo para inferir el resultado contrafáctico.
Curvas de respuesta
Cuando se generaliza la definición de resultado incremental, la curva de respuesta para el canal \(q\) se expresa en una función que devuelve el resultado incremental como una función de la inversión en el canal \(q\):
\[\text{IncrementalOutcome}_q (\omega \cdot \text{Cost}_q) =
\text{IncrementalOutcome} \left(\left\{ x^{[M](\omega,q)}_{g,t,i} \right\},
\left\{ x^{[M](0,q)}_{g,t,i} \right\}\right)\]
Aquí \(\left\{ x^{[M](\omega,q)}_{g,t,i} \right\}\) indica los valores de medios observados para todos los canales, excepto el canal \(q\), que se multiplica por un factor de \(\omega\) en todas partes. Más específicamente:
- \(x^{[M](\omega,q)}_{g,t,q}=\omega \cdot x^{[M]}_{g,t,q}\ \forall\ g,t\)
- \(x^{[M](\omega,q)}_{g,t,i}=x^{[M]}_{g,t,i} \forall\ g,t,i \neq q\)
ROI marginal (mROI)
El ROI marginal (mROI) del canal \(q\) se define de la siguiente manera:
$$
\text{mROI}_q = \left(\dfrac{1}{\delta \cdot \text{Cost}_q} \right) \text{IncrementalOutcome} \left( \left\{ x^{[M](1+\delta,q)}_{g,t,i} \right\},
\left\{x^{[M](1,q)}_{g,t,i}\right\} \right)
$$
Aquí, \(\delta\) es una cantidad pequeña, como \(0.01\).
Ten en cuenta que las definiciones de curva de respuesta y de ROI marginal suponen implícitamente un costo constante por unidad de medios que es igual al costo promedio histórico por unidad de medios.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-30 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-30 (UTC)"],[[["\u003cp\u003eIncremental outcome measures the change in outcome attributed to a specific media channel by comparing observed media values to a scenario where that channel's values are zero.\u003c/p\u003e\n"],["\u003cp\u003eROI is calculated by dividing the incremental outcome of a media channel by its cost, reflecting the return on investment for that channel.\u003c/p\u003e\n"],["\u003cp\u003eResponse curves illustrate the relationship between media spend on a specific channel and the resulting incremental outcome, providing insights into channel effectiveness at different investment levels.\u003c/p\u003e\n"],["\u003cp\u003eMarginal ROI measures the incremental outcome gained by increasing spend on a specific channel by a small percentage, indicating the return on additional investment in that channel.\u003c/p\u003e\n"],["\u003cp\u003eThese metrics rely on counterfactual scenarios, sometimes requiring model-based extrapolation when observed data doesn't fully represent those scenarios.\u003c/p\u003e\n"]]],["Incremental outcome for a media channel is calculated by comparing observed media values to a scenario where that channel's values are zeroed out. ROI is the incremental outcome divided by the channel's cost. Response curves show how incremental outcome changes with varying spend on a channel. Marginal ROI (mROI) measures the change in incremental outcome from a small increase in channel spend, assuming a constant cost per media unit. Counterfactual scenarios where channels are zeroed out might need to be inferred by the models.\n"],null,["This section covers the key metrics of Meridian - Return on Investment (ROI),\nmarginal ROI (mROI) and response curves.\n\nQuick Takeaways\n\nIncremental Outcome, return on Investment (ROI), marginal ROI (mROI), and\nresponse curves are the tools that turn your model's findings into actionable\nbusiness strategy. They help you answer the most critical marketing questions:\n\"How well did my channels perform?\" and \"Where should I spend my next dollar?\"\n\nBy understanding these metrics, you can identify your most efficient channels,\nunderstand current saturation levels, and optimize your budget to maximize\nyour business outcomes. Response curves, in particular, provide a powerful\nvisualization of how the incremental outcome responds to more spending, which is\nthe foundation of data-driven budget allocation.\n\nMarketing Example\n\nImagine you run an online shoe store. You spend \\\\$10,000 on a video media\nchannel. After running your Meridian model, you find that the channel\ncaused \\\\$25,000 in incremental sales.\n\n- **Incremental Outcome** is the value your marketing caused. For example, your total sales were \\\\$150,000, but Meridian estimates that without the campaign, sales would have been \\\\$125,000. The Incremental Outcome is the difference: \\\\$25,000.\n- Your **ROI** is \\\\$2.50 (\\\\$25,000 sales / \\\\$10,000 cost), meaning you earned \\\\$2.50 for every dollar spent. (See [Considerations for interpreting ROI\n and response curves](#considerations_for_interpreting_roi_and_response_curves) for more details on how this is calculated).\n- The **response curve** shows you how your sales would change at different spend levels. It shows that spending even more money yields progressively smaller returns.\n- Your **mROI** is the return you'd get from some small increase in spend (for example, the next dollar). If your channel is nearing saturation, the mROI might be only \\\\$0.80, signaling it's time to invest elsewhere.\n\nRule-of-Thumb Recommendation\n\n- **Use ROI to evaluate historical performance**: It gives you a clear, overall grade for how effective your past spending was on a given channel.\n- **Use response curves to optimize future budgets**: They visualize the point of diminishing returns, helping you understand how much you can invest in a channel before it becomes inefficient.\n- **Use mROI to evaluate saturation level**: If the mROI is much lower compared to the ROI, then the channel is beginning to saturate at historical spend level. Channels with the highest mROI are the best for investing additional funds.\n\nComparison Table\n\n| Metric | Best For | Definition |\n|---------------------|--------------------------------------------------------------|---------------------------------------------|\n| **ROI** | Evaluating past performance. | A historical, channel-wide average. |\n| **Response Curves** | Optimizing future spend and visualizing diminishing returns. | Incremental outcome as a function of spend. |\n| **mROI** | Understanding current saturation level. | The return on the next dollar spent. |\n\nCode Examples\n\nRefer to [Example - ROI, mROI \\& Response Curves in Meridian](/meridian/notebook/ROI_mROI_Response_Curves)\nfor working code examples.\n\nDetailed Explanation\n\nThis section provides a deeper dive into the definitions and methodologies\nbehind ROI, mROI, and response curves.\n\nIncremental Outcome Explained\n\nThe foundation for ROI, mROI, and response curves is **incremental outcome** .\nThis is the portion of your outcome, such as sales or\nconversions, that was caused by a specific marketing activity.\nMeridian calculates this by comparing the actual outcome to a **counterfactual**\nscenario where the marketing activity never happened.\nFor paid media, the incremental outcome can be further contextualized by\nits spend in the following ways:\n\n- The response curve estimates the incremental outcome at any given spend level.\n- ROI is the incremental outcome at your historical spend level divided by the spend.\n- mROI is the incremental outcome on your next dollar spent above the historical budget level.\n\nHow Response Curves Are Generated\n\nA response curve visualizes the relationship between spend and incremental\noutcome for a single channel, assuming all other channels' spending remains\nthe same.\n\nMeridian generates this curve at different spending levels for a\nchannel. It scales the channel's historical spend up or down by a factor\n(for example, from 1.2x the historical spend) and estimates the incremental\noutcome at each level. The historical distribution of spending over time and\ngeography (the **flighting pattern**) is preserved\nduring this scaling. This process reveals the point at which a channel becomes\nsaturated and further investment yields diminishing returns.\n\nConsiderations for interpreting ROI and response curves\n\n- **Lagged effects**: The ROI definition uses a channel's total cost over a specific period as the denominator. The numerator is the incremental outcome accrued during that same period. This numerator includes lagged effects from ads that ran before the period but excludes future effects from ads that ran during the period. Over a long time window (for example, one year), this has a minor effect on the ROI estimate. However, for shorter periods, the effect can be more meaningful.\n- **Extrapolation risk**: Calculating the incremental outcome requires the model to estimate what would have happened if spend was zero. If you have always spent consistently on a channel, the model has little data for this zero-spend scenario and must extrapolate based on its learned assumptions. Extrapolation risk also affects incremental outcome estimation for points on the response curve that are greater than historical spend, and the risk increases the further out you go.\n\nMathematical Appendix\n\nThis section contains the mathematical underpinnings behind ROI, mROI and\nresponse curves.\n\nIncremental outcome\n\nFor a given treatment variable \\\\(q\\\\), the incremental outcome is defined as:\n\n\\\\\\[\\\\text{IncrementalOutcome}_q = \\\\text{IncrementalOutcome} \\\\left(\\\\Bigl\\\\{\nx_{g,t,i}\\^{\\[M\\]} \\\\Bigr\\\\}, \\\\Bigl\\\\{ x_{g,t,i}\\^{\\[M\\](0,q)} \\\\Bigr\\\\} \\\\right)\\\\\\]\n\nWhere:\n\n- The function $\\\\text{IncrementalOutcome}()$ is defined [here](/meridian/docs/basics/incremental-outcome-definition) and is a more generic function that represents the incremental outcome between any two media counterfactual scenarios (not necessarily the incremental outcome of one isolated treatment variable).\n- \\\\(\\\\left\\\\{ x_{g,t,i}\\^{\\[M\\]} \\\\right\\\\}\\\\) are the observed treatment values\n- \\\\(\\\\left\\\\{ x_{g,t,i}\\^{\\[M\\] (0,q)} \\\\right\\\\}\\\\) denotes the observed treatment values for all treatments except treatment \\\\(q\\\\), which is set to its baseline value \\\\(b_q\\\\) everywhere. More specifically:\n - \\\\(x_{g,t,q}\\^{\\[M\\] (0,q)}=b_q\\\\ \\\\forall\\\\ g,t\\\\)\n - \\\\(x_{g,t,i}\\^{\\[M\\](0,q)}=x_{g,t,i}\\^{\\[M\\]}\\\\ \\\\forall\\\\ g,t,i \\\\neq q\\\\)\n\nFor paid and organic media, the baseline values \\\\(b_q\\\\) are zero. For\nnon-media treatment variables, the baseline value can be set to the observed\nminimum value of the variable (default), the maximum, or a user-provided float.\n\nROI\n\nThe ROI of channel \\\\(q\\\\) is defined as:\n\n\\\\\\[\\\\text{ROI}_q = \\\\dfrac{\\\\text{IncrementalOutcome}_q}{\\\\text{Cost}_q}\\\\\\]\n\nWhere \\\\(\\\\text{Cost}_q= \\\\sum\\\\limits _{g,t} \\\\overset \\\\sim x\\^{\\[M\\]}_{g,t,q}\\\\)\n\nNote that the ROI denominator represents media cost over a specified time period\nthat aligns with the time period over which the incremental outcome is defined.\nAs a result, the incremental outcome in the numerator includes the lagged effect\nof media executed prior to this time window, and similarly excludes the future\neffect of media executed during this time window. So, the incremental outcome in\nthe numerator does not perfectly align with the cost in the denominator.\nHowever, this misalignment will be less material over a reasonably long time\nwindow.\n\nNote that the counterfactual media scenario (\\\\(\\\\left\\\\{ x_{g,t,i}\\^{\\[M\\](0,q)}\n\\\\right\\\\}\\\\)) may not actually be represented in the data. When this happens,\nextrapolation based on model assumptions is necessary to infer the\ncounterfactual.\n\nResponse curves\n\nGeneralizing the incremental outcome definition, the response curve is defined\nfor channel \\\\(q\\\\) as a function which returns the incremental outcome as a\nfunction of the spend on channel \\\\(q\\\\):\n\n\\\\\\[\\\\text{IncrementalOutcome}_q (\\\\omega \\\\cdot \\\\text{Cost}_q) =\n\\\\text{IncrementalOutcome} \\\\left(\\\\left\\\\{ x\\^{\\[M\\](\\\\omega,q)}_{g,t,i} \\\\right\\\\},\n\\\\left\\\\{ x\\^{\\[M\\](0,q)}_{g,t,i} \\\\right\\\\}\\\\right)\\\\\\]\n\nWhere \\\\(\\\\left\\\\{ x\\^{\\[M\\](\\\\omega,q)}_{g,t,i} \\\\right\\\\}\\\\) denotes the observed\nmedia values for all channels except channel \\\\(q\\\\), which is multiplied by a\nfactor of \\\\(\\\\omega\\\\) everywhere. More specifically:\n\n- \\\\(x\\^{\\[M\\](\\\\omega,q)}_{g,t,q}=\\\\omega \\\\cdot x\\^{\\[M\\]}_{g,t,q}\\\\ \\\\forall\\\\ g,t\\\\)\n- \\\\(x\\^{\\[M\\](\\\\omega,q)}_{g,t,i}=x\\^{\\[M\\]}_{g,t,i} \\\\forall\\\\ g,t,i \\\\neq q\\\\)\n\nMarginal ROI (mROI)\n\nThe marginal ROI (mROI) of channel \\\\(q\\\\) is defined as: \n$$ \\\\text{mROI}_q = \\\\left(\\\\dfrac{1}{\\\\delta \\\\cdot \\\\text{Cost}_q} \\\\right) \\\\text{IncrementalOutcome} \\\\left( \\\\left\\\\{ x\\^{\\[M\\](1+\\\\delta,q)}_{g,t,i} \\\\right\\\\}, \\\\left\\\\{x\\^{\\[M\\](1,q)}_{g,t,i}\\\\right\\\\} \\\\right) $$\n\nWhere \\\\(\\\\delta\\\\) is a small quantity, such as \\\\(0.01\\\\).\n\nNote that the response curve and marginal ROI definitions implicitly assumes a\nconstant cost per media unit that equals the historical average cost per media\nunit."]]