Marketing campaign budget allocation problem is formulated as a constrained optimization problem. The objective is to optimize the ROI from allocating the total budget to various promotional channels for all the company’ products. The constraints regulate the relationship (1) between promotional spending on each pair of (product, channel) and potential customer impression, (2) between the impression and actual purchase, (3) between purchase and profit, and finally the budget constraint. Both the objective function and the constraints are nonlinear. The solver uses a simplex search within the feasible region to find the optimal solution.

A user is allowed to give an initial allocation as the starting point. As we limit the solution time, the software returns the best solution found within the allowable time. An optional heuristic procedure then takes the current best solution and tries to improve on it within a shorter allowable time. Due to the nonlinear nature of the problem, different starting points may result in different best solutions (local optimum or near-optimum). However, all the solutions found have a significantly better ROI than that from the user’s initial allocation. Although the phenomenon of a nonlinear optimization solution being trapped at a local optimum is not a desirable result from a mathematical perspective, it does provide an improved solution closer to the user’s choice of the initial allocation than a global optimum. Thus, the local optimum is often more acceptable to the user as it makes more sense within the context of the user’s interpretation of the market response.