<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Optimisation — Abacus Documentation</title>
    <link>/optimization/index.html</link>
    <description>This section covers Abacus budget optimisation workflows for fitted PanelMMM models. It explains the low-level optimisation wrapper, how to inspect optimisation outputs.&#xA;For the higher-level planner service and Dash UI, see Scenario Planning.&#xA;Pages Budget Optimisation - How to run PanelBudgetOptimizerWrapper, set bounds and masks, and define spend over a future window. Interpreting Optimisation - How to read the allocation output, inspect simulated response samples, and use the pipeline optimisation artefacts. Scenario Planning - How to compare current, manual, and fixed-budget optimised scenarios with the planner service and optional Dash UI.</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <atom:link href="/optimization/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Budget Optimisation</title>
      <link>/optimization/budget-optimization/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/optimization/budget-optimization/index.html</guid>
      <description>Use PanelBudgetOptimizerWrapper when you want to optimise spend for a fitted PanelMMM over a future date window.&#xA;The wrapper builds a synthetic future dataset for the requested window, swaps the model’s channel_data for an optimisation variable, and then calls the generic BudgetOptimizer. If you want to compare several plans in total horizon spend units, see Scenario Planning.&#xA;What the optimiser maximises For PanelBudgetOptimizerWrapper, optimize_budget() defaults to:</description>
    </item>
    <item>
      <title>Interpreting Optimisation</title>
      <link>/optimization/interpreting-optimization/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/optimization/interpreting-optimization/index.html</guid>
      <description>After you run budget optimisation, you usually work with three outputs:&#xA;the allocation DataArray the SciPy OptimizeResult a simulated response dataset from sample_response_distribution() This page explains how to read each one.&#xA;Read the optimiser output PanelBudgetOptimizerWrapper.optimize_budget(...) returns:&#xA;allocation, result = wrapper.optimize_budget(...) If you set callback=True, it returns a third value:&#xA;allocation, result, callback_info = wrapper.optimize_budget(..., callback=True) allocation allocation is an xarray.DataArray over the non-date budget dimensions.</description>
    </item>
    <item>
      <title>Scenario Planner</title>
      <link>/optimization/scenario-planner/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/optimization/scenario-planner/index.html</guid>
      <description>The detailed planner documentation now lives in Scenario Planning.&#xA;Use that section for:&#xA;planner concepts and workflow scenario specification classes Python API examples for ScenarioPlanner comparison output tables the optional Dash UI The planner is a higher-level surface than Budget Optimisation:&#xA;PanelBudgetOptimizerWrapper uses per-period spend units ScenarioPlanner uses total horizon spend units Start here:&#xA;Scenario Planning Overview and Workflow Python API Dash App</description>
    </item>
  </channel>
</rss>