Depict (sketch.depict)¶
This module provides functions to describe model training, predictions, inputs, and configuration, generating textual summaries and saving plots/data into your results directory.
Key functions
describe_mmm_training(config, processed_data, mmm, results_dir)Runs core training-time outputs and saves:
model_summary.csv(ArviZ summary)all_decomp.csv(per-date mean contributions, with date column)media_contribution_mean.png,media_contribution_median.pngDelegates to plotting helpers to create:
weekly_media_and_baseline_contribution.pngweekly_media_contribution.pngmedia_performance_mean.png,media_performance_median.pngperformance_distribution.pngresponse_curves.png
describe_mmm_prediction(config, input_data_processed, mmm, results_dir)Generates predictive diagnostics and components summary for the holdout split:
waterfall_plot_components_decomposition.pngmodel_fit_predictions.pngCSVs for ROI/efficiency summaries:
Revenue target:
media_contribution_per_spend.csv,media_cost_per_revenue_unit.csvConversion target:
media_conversion_efficiency.csv,media_cost_per_conversion.csv
describe_input_data(input_data, results_dir, suffix)Plots all metrics and writes outlier summaries:
metrics_{suffix}.pngOutlier report via preprocessing module
describe_config(output_dir, config, git_sha)Writes reproducibility artifacts
git_sha.txtandconfig.txt
Convenience helpers (selected)
get_media_effect_df(model)→ wide DataFrame of mean per-date channel attributions (original scale)compute_roi_summary(model, data, config)→ per-channel ROI/efficiency stats (0.05, 0.95, median, mean, plus blended)compute_cost_per_target_summary(model, data, config)→ per-channel cost per revenue unit (or per conversion)quick_stats(model)→ ArviZ summary of key parametersweekly_spend_by_channel(model)→ figure showing weekly spend on each channel vs. its curve
Usage example
from src.sketch.depict import describe_mmm_training, describe_mmm_prediction
# Training-time outputs
describe_mmm_training(config, processed_data, mmm, results_dir)
# Predictive diagnostics and component summary
describe_mmm_prediction(config, processed_data, mmm, results_dir)
Notes
Theme is controlled via
config['plot_theme'](“dark” or default)Date columns are added to CSVs where available from
model.X[date_col]Graphviz is required for structure plots via
plot_diagnostics.plot_model_structure