meridian_tools.exports

Helpers for manifest-backed Meridian export families.

Module: meridian_tools.exports

Functions

export_model_fit_artifacts

def export_model_fit_artifacts(
    model: Any,
    output_dir: str | Path,
    *,
    fit_config: FitConfig,
    meridian_version: str | None,
) -> dict[str, Path]

Write the stable model-fit artefact set.

Produces:

  • meridian_model.binpb — Serialised Meridian model (Protocol Buffers).
  • fit_metadata.json — Records FitConfig values and Meridian version.

Parameters:

  • model — Fitted Meridian model instance.
  • output_dir — Directory to write artefacts to.
  • fit_config — The FitConfig used for this run.
  • meridian_version — Meridian version string (or None).

Returns: Dictionary mapping artefact names to file paths.


export_model_assessment_artifacts

def export_model_assessment_artifacts(
    model: Any,
    output_dir: str | Path,
    *,
    exports_config: ExportsConfig,
    diagnostics_exporter: Callable,
    model_selection_exporter: Callable,
) -> dict[str, Path]

Write the stable assessment artefact set.

Produces diagnostics bundle, model results summary HTML, and optionally model selection outputs (LOO/WAIC) and diagnostic plots.

Parameters:

  • model — Fitted Meridian model instance.
  • output_dir — Directory to write artefacts to.
  • exports_config — Export switches.
  • diagnostics_exporter — Callable for diagnostics bundle export (typically export_diagnostics_bundle).
  • model_selection_exporter — Callable for model selection export.

Returns: Dictionary mapping artefact names to file paths.


export_decomposition_artifacts

def export_decomposition_artifacts(
    model: Any,
    output_dir: str | Path,
    *,
    exports_config: ExportsConfig,
) -> dict[str, Path]

Write the stable decomposition artefact set.

Produces:

  • summary_metrics.nc — NetCDF decomposition dataset.
  • summary_metrics.csv — Flattened tabular decomposition.
  • plots/ — Channel contribution, waterfall, spend vs. contribution, and ROI charts (when export_plots: true).

Parameters:

  • model — Fitted Meridian model instance.
  • output_dir — Directory to write artefacts to.
  • exports_config — Export switches.

Returns: Dictionary mapping artefact names to file paths.


export_response_curve_artifacts

def export_response_curve_artifacts(
    model: Any,
    output_dir: str | Path,
    *,
    response_curves_config: ResponseCurvesConfig,
    exports_config: ExportsConfig,
) -> dict[str, Path]

Write the stable response-curve artefact set.

Produces:

  • response_curves.nc — NetCDF response curve dataset.
  • response_curves.csv — Flattened tabular response curves.
  • plots/response_curves_plot.png — Response curve visualisation (when export_plots: true).

Parameters:

  • model — Fitted Meridian model instance.
  • output_dir — Directory to write artefacts to.
  • response_curves_config — Response curves settings from YAML.
  • exports_config — Export switches.

Returns: Dictionary mapping artefact names to file paths.


export_optimisation_artifacts

def export_optimisation_artifacts(
    model: Any,
    output_dir: str | Path,
    *,
    optimisation_config: OptimisationConfig,
    exports_config: ExportsConfig,
) -> dict[str, Path]

Write the stable optimisation artefact set.

Produces:

  • optimisation_summary.html — Meridian optimisation summary report.
  • optimised_data.nc / .csv — Optimised budget allocation.
  • nonoptimised_data.nc / .csv — Baseline allocation.
  • optimisation_grid.csv — Full optimisation grid.
  • plots/ — Delta, allocation, spend, and response curve charts (when export_plots: true).

For budget.mode: relative_reference_window_total, the effective budget is computed as value × total_spend_in_reference_window using the model’s media and RF spend data within the start_dateend_date window.

Parameters:

  • model — Fitted Meridian model instance.
  • output_dir — Directory to write artefacts to.
  • optimisation_config — Optimisation settings from YAML.
  • exports_config — Export switches.

Returns: Dictionary mapping artefact names to file paths.


ensure_meridian_schema_support

def ensure_meridian_schema_support() -> Callable

Return Meridian’s schema serialiser or raise a stable runtime error.

Checks for meridian.schema.serde.meridian_serde.save_meridian. If the import fails, raises RuntimeError with guidance to install google-meridian[schema].

Returns: The save_meridian callable.


ensure_altair_png_support

def ensure_altair_png_support() -> Any

Return the Altair PNG backend or raise a stable runtime error.

Checks for vl_convert. If the import fails, raises RuntimeError with guidance to install vl-convert-python.

Returns: The vl_convert module.