Skip to content

Out-of-Box MultiDimensional MMM #1036

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 54 commits into from
Feb 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
007a401
example notebook and code
cetagostini Sep 13, 2024
d10cbe1
pre-commit
cetagostini Sep 13, 2024
bbbf8c5
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Oct 8, 2024
ed4ddbd
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Oct 17, 2024
e97030f
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Nov 7, 2024
c45df33
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Nov 18, 2024
3733544
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Nov 18, 2024
5937e37
Initial approximation on HSGP class
cetagostini Nov 25, 2024
c14af96
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Dec 16, 2024
74952c4
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Jan 20, 2025
a50bc87
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Jan 20, 2025
1d10008
WIP.
cetagostini Jan 20, 2025
a30fe55
WIP (Main model working)
cetagostini Jan 20, 2025
6e30a22
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Jan 20, 2025
3e5dce0
Properly adding scales into model graph
cetagostini Jan 25, 2025
f7738f5
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Jan 25, 2025
1329883
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Jan 26, 2025
2a50ae4
Merge branch 'main' into cetagostini/multidimensionalmediamix
juanitorduz Jan 27, 2025
ca9d7cd
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Jan 30, 2025
1e2fe3b
Working in API and plots
cetagostini Jan 30, 2025
dab173c
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Jan 30, 2025
9311546
Add docstring
cetagostini Jan 30, 2025
d640a4f
Merge branch 'cetagostini/multidimensionalmediamix' of https://github…
cetagostini Jan 30, 2025
a5b8046
rename the module
williambdean Jan 31, 2025
4309896
change the import
williambdean Jan 31, 2025
865b7a3
Pushing changes in call
cetagostini Jan 31, 2025
a7b8a07
Merge branch 'cetagostini/multidimensionalmediamix' of https://github…
cetagostini Jan 31, 2025
dc3c5a8
plot property instead of mixin
cetagostini Jan 31, 2025
fbdcecf
initial set of tests
cetagostini Jan 31, 2025
c725ddb
pre-commit
cetagostini Jan 31, 2025
0deaf47
New test
cetagostini Jan 31, 2025
1fe0c7f
Use ModelBuilder for multidimensional MMM (#1447)
williambdean Jan 31, 2025
47d3f24
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Jan 31, 2025
9dc6fac
Wip
cetagostini Feb 2, 2025
f4c1e36
restore test mini fit.
cetagostini Feb 2, 2025
fd3627b
wip
cetagostini Feb 2, 2025
93e2d56
mini pre-commit
cetagostini Feb 2, 2025
75ef423
Merge branch 'main' into cetagostini/multidimensionalmediamix
cetagostini Feb 3, 2025
3e2e011
Current changes with Will
cetagostini Feb 3, 2025
d5584a8
add the forgotten set_idata_attrs call
williambdean Feb 3, 2025
b68b058
Delete guassian basis
cetagostini Feb 3, 2025
280bc86
add a module warning
williambdean Feb 3, 2025
622e85f
remove the mutable which causes warning
williambdean Feb 3, 2025
cfc4790
Merge branch 'main' into cetagostini/multidimensionalmediamix
juanitorduz Feb 3, 2025
9c79804
Merge branch 'main' into cetagostini/multidimensionalmediamix
juanitorduz Feb 4, 2025
cd282f3
Merge branch 'main' into cetagostini/multidimensionalmediamix
williambdean Feb 4, 2025
6667e9d
move to a dev folder
williambdean Feb 6, 2025
4491b52
pull out into module
williambdean Feb 6, 2025
1abaf61
change the date
williambdean Feb 6, 2025
2e1a73c
change the name of the model
williambdean Feb 6, 2025
3a69ae7
typehint the plot accessory
williambdean Feb 6, 2025
320fda1
add the typehint
williambdean Feb 6, 2025
feb3ec4
use the conftest mocking
williambdean Feb 6, 2025
58c2b18
change the import
williambdean Feb 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6,952 changes: 6,952 additions & 0 deletions docs/source/notebooks/mmm/dev/mmm_multidimensional_example.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/source/notebooks/mmm/mmm_components.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"import xarray as xr\n",
"\n",
"from pymc_marketing import mmm\n",
"from pymc_marketing.mmm.plot import plot_curve\n",
"from pymc_marketing.plot import plot_curve\n",
"from pymc_marketing.prior import Prior\n",
"\n",
"az.style.use(\"arviz-darkgrid\")\n",
Expand Down
4 changes: 2 additions & 2 deletions pymc_marketing/mmm/budget_optimizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,10 +167,10 @@ def __init__(self, **data):
# 1. Prepare model with time dimension for optimization
pymc_model = self.mmm_model._set_predictors_for_optimization(self.num_periods)

# 2. Shared variable for total_budget
# 2. Shared variable for total_budget: Use annotation to avoid type checking
self._total_budget: SharedVariable = shared(
np.array(0.0, dtype="float64"), name="total_budget"
)
) # type: ignore

# 3. Identify budget dimensions and shapes
self._budget_dims = [
Expand Down
2 changes: 1 addition & 1 deletion pymc_marketing/mmm/hsgp.py
Original file line number Diff line number Diff line change
Expand Up @@ -679,7 +679,7 @@ def parameterize_from_data(
eta=eta,
m=m,
L=L,
X=X,
X=X, # store the original reference (even if symbolic)
X_mid=X_mid,
cov_func=cov_func,
dims=dims,
Expand Down
Loading