MultiDimensionalBudgetOptimizerWrapper.optimizar_presupuesto#

MultiDimensionalBudgetOptimizerWrapper.optimize_budget(budget, budget_bounds=None, response_variable='total_media_contribution_original_scale', utility_function=<function average_response>, constraints=(), default_constraints=True, budgets_to_optimize=None, budget_distribution_over_period=None, cost_per_unit=None, callback=False, **minimize_kwargs)[fuente]#

Optimice la asignación del presupuesto para el modelo.

Parámetros:
presupuesto : float | intfloat | int

Presupuesto total a asignar.

límites_presupuesto : xr.DataArray | Nonexr.DataArray | python:Ninguno

Límites de presupuesto por canal.

response_variablestr

Variable de respuesta a optimizar.

utility_functionTipoDeFunciónUtilidad

Función de utilidad para maximizar.

constraintsSequence[Constraint]

Custom constraints for the optimizer. Each element must be an instance of Constraint.

default_constraintsbool

Si se deben agregar restricciones predeterminadas.

presupuestos_a_optimizar : xr.DataArray | Nonexr.DataArray | python:Ninguno

Máscara que define qué presupuestos optimizar.

distribución_presupuestaria_a_lo_largo_del_período : xr.DataArray | Nonexr.DataArray | python:Ninguno

Fixed temporal distribution of each budget cell across periods. Must have dims ("date", *budget_dims) where "date" has length num_periods. Values must sum to 1 along "date" for every combination of the remaining dims (i.e., budget_distribution_over_period.sum(dim="date") must be all ones). Each value is the fraction of that cell’s total budget assigned to the corresponding period. If None, budget is distributed uniformly (1 / num_periods per period).

cost_per_unitpd.DataFrame or xr.DataArray or None, optional

Cost per unit conversion factors for the optimization period. Converts budgets from monetary units (e.g., dollars) to the model’s native channel units (e.g., impressions).

  • pd.DataFrame: Wide-format with a "date" column matching the optimization window dates, plus one column per channel. Missing channels default to 1.0 (no conversion).

  • xr.DataArray: Must have dims ("date", *budget_dims) where date has length num_periods.

If None, no conversion is applied (budgets are assumed to be in the model’s native units).

This is independent of the historical cost_per_unit.

callbackbool

Si se debe devolver información de seguimiento de la optimización del progreso de la devolución de llamada.

**minimize_kwargs

Argumentos adicionales para el optimizador.

Devoluciones:
tuple

Presupuestos óptimos y resultado de optimización. Si callback=True, también devuelve una lista de diccionarios con información de optimización en cada iteración.