OptimizeSpend: Optimize the media budgets in a specified budget period.

Description Usage Arguments Details Value Note Examples

Description

Given a budget period and a set of constraints, find the budget setting and the associated media spend that maximizes the profit (revenue minus cost of production and advertising spend).

Usage

1
2
3
4
OptimizeSpend(object, budget.period = max(GetBudgetIdx(object)),
  t.start = match(budget.period, GetBudgetIdx(object)),
  t.end = object$params$time.n, lower.bound = 0, upper.bound = Inf,
  sum.lower.bound = 0, sum.upper.bound = Inf, scaled.pop.size = 1e+18)

Arguments

object

an object of class amss.sim

budget.period

numeric, the budget period to be optimized, the default being the most current budget period.

t.start

integer, the first time interval over which the result (profit) of the budget settings should be calculated.

t.end

integer, the last time interval over which the result (profit) of the budget settings should be calculated.

lower.bound

numeric vector, the lower bound on the budget for each media channel.

upper.bound

numeric vector, the upper bound on the budget for each media channel.

sum.lower.bound

numeric, the lower bound on the total advertising spend.

sum.upper.bound

numeric, the upper bound on the total advertising spend.

scaled.pop.size

numeric, the population is scaled to this size in order to increase the accuracy of estimated expected profit.

Details

See DefaultSalesModule for details on how the relationship between revenue, profit, units sold, and advertising spend is specified.

Value

OptimizeBudget returns a list with elemtnts

opt.spend

the optimal spend in each media channel.

opt.budget

the optimal budget in the specified budget period.

opt.profit

the profit resulting from the optimal budget.

orig.profit

the profit in the original dataset.

Note

A module does not necessarily force the spend in a budget period to match the budget. For example, in the paid search module, the budget is used as the lever that leads to increasing/decreasing search spend. Users should expect a monotonic relationship between budget and spend, but no more. The budget is useful as a parameter in simulation and optimization, as it is the lever moving advertiser-controlled settings in each media channel. The spend, which may depend on other factors outside of the advertiser's control, cannot be directly optimized; it is not a direct input into the simulator. However, any budget settings can be mapped to a corresponding media spend, and this is reported as the optimal spend. The optimal spend is more meaningful than the budget as a reporting metric, and is the key output of OptimizeSpend.

Examples

1
2
3
4
5
6
## Not run: 
# Use the amss.sim object test.data from the testing suite.
# Find the optimal budget for the third budget period.
OptimizeSpend(test.data, budget.period = 3)

## End(Not run)

google/amss documentation built on May 20, 2019, 5:05 p.m.