Skip to content

Sketch: Plot Results (`plot_results.py`)

Purpose: decomposition and ROI visualisation functions for fitted AMMM models.

Preferred:

from sketch.plot_results import (
all_contributions_plot,
plot_channel_contributions,
plot_roi,
plot_roi_distribution,
plot_waterfall_components_decomposition,
)

Compatibility:

from src.sketch.plot_results import (
all_contributions_plot,
plot_channel_contributions,
plot_roi,
plot_roi_distribution,
plot_waterfall_components_decomposition,
)

Functions operate on the V2 model implementation core.mmm_model_v2.DelayedSaturatedMMMv2 (aliased in plot_results.py).

all_contributions_plot(model, config, results_dir)

Section titled “all_contributions_plot(model, config, results_dir)”

Builds merged contribution data for media and baseline components.

Output:

  • No figure is saved by the current implementation.

plot_channel_contributions(model, config, results_dir)

Section titled “plot_channel_contributions(model, config, results_dir)”

Saves stacked media-channel contribution plot.

Output:

  • 40_decomposition/weekly_media_contribution.png

plot_roi(model, data, config, results_dir)

Section titled “plot_roi(model, data, config, results_dir)”

Saves summary ROI/efficiency charts.

Outputs:

  • 40_decomposition/media_performance_mean.png
  • 40_decomposition/media_performance_median.png

plot_roi_distribution(model, data, config, results_dir)

Section titled “plot_roi_distribution(model, data, config, results_dir)”

Saves posterior ROI/efficiency distribution visual.

Output:

  • 40_decomposition/performance_distribution.png

plot_waterfall_components_decomposition(...)

Section titled “plot_waterfall_components_decomposition(...)”

Builds decomposition chart data (absolute or incremental mode) and returns a figure object.

Outputs:

  • 40_decomposition/waterfall_decomposition_data.csv (when results_dir is provided)
  • Figure is returned; caller saves it if required (for example as waterfall_plot_components_decomposition.png in depict.py).
  • File writes use save_figure and save_csv from utils.file_utils.
  • Stage routing is 40_decomposition/ for this module.