google-meridian 1.0.6__tar.gz → 1.0.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. {google_meridian-1.0.6/google_meridian.egg-info → google_meridian-1.0.7}/PKG-INFO +11 -10
  2. {google_meridian-1.0.6 → google_meridian-1.0.7}/README.md +1 -1
  3. {google_meridian-1.0.6 → google_meridian-1.0.7/google_meridian.egg-info}/PKG-INFO +11 -10
  4. google_meridian-1.0.7/google_meridian.egg-info/requires.txt +23 -0
  5. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/__init__.py +1 -1
  6. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/data/load.py +10 -7
  7. {google_meridian-1.0.6 → google_meridian-1.0.7}/pyproject.toml +7 -7
  8. google_meridian-1.0.6/google_meridian.egg-info/requires.txt +0 -23
  9. {google_meridian-1.0.6 → google_meridian-1.0.7}/LICENSE +0 -0
  10. {google_meridian-1.0.6 → google_meridian-1.0.7}/MANIFEST.in +0 -0
  11. {google_meridian-1.0.6 → google_meridian-1.0.7}/google_meridian.egg-info/SOURCES.txt +0 -0
  12. {google_meridian-1.0.6 → google_meridian-1.0.7}/google_meridian.egg-info/dependency_links.txt +0 -0
  13. {google_meridian-1.0.6 → google_meridian-1.0.7}/google_meridian.egg-info/top_level.txt +0 -0
  14. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/__init__.py +0 -0
  15. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/analyzer.py +0 -0
  16. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/formatter.py +0 -0
  17. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/optimizer.py +0 -0
  18. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/summarizer.py +0 -0
  19. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/summary_text.py +0 -0
  20. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/templates/card.html.jinja +0 -0
  21. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/templates/chart.html.jinja +0 -0
  22. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/templates/chips.html.jinja +0 -0
  23. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/templates/insights.html.jinja +0 -0
  24. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/templates/stats.html.jinja +0 -0
  25. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/templates/style.scss +0 -0
  26. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/templates/summary.html.jinja +0 -0
  27. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/templates/table.html.jinja +0 -0
  28. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/test_utils.py +0 -0
  29. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/analysis/visualizer.py +0 -0
  30. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/constants.py +0 -0
  31. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/data/__init__.py +0 -0
  32. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/data/arg_builder.py +0 -0
  33. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/data/input_data.py +0 -0
  34. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/data/test_utils.py +0 -0
  35. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/data/time_coordinates.py +0 -0
  36. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/__init__.py +0 -0
  37. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/adstock_hill.py +0 -0
  38. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/knots.py +0 -0
  39. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/media.py +0 -0
  40. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/model.py +0 -0
  41. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/model_test_data.py +0 -0
  42. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/posterior_sampler.py +0 -0
  43. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/prior_distribution.py +0 -0
  44. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/prior_sampler.py +0 -0
  45. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/spec.py +0 -0
  46. {google_meridian-1.0.6 → google_meridian-1.0.7}/meridian/model/transformers.py +0 -0
  47. {google_meridian-1.0.6 → google_meridian-1.0.7}/setup.cfg +0 -0
  48. {google_meridian-1.0.6 → google_meridian-1.0.7}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: google-meridian
3
- Version: 1.0.6
3
+ Version: 1.0.7
4
4
  Summary: Google's open source mixed marketing model library, helps you understand your return on investment and direct your ad spend with confidence.
5
5
  Author-email: The Meridian Authors <no-reply@google.com>
6
6
  License:
@@ -222,12 +222,12 @@ Requires-Dist: arviz
222
222
  Requires-Dist: altair>=5
223
223
  Requires-Dist: immutabledict
224
224
  Requires-Dist: joblib
225
- Requires-Dist: numpy<2,>=1.26
226
- Requires-Dist: pandas<3,>=2.2
227
- Requires-Dist: scipy<1.13,>=1.12.0
228
- Requires-Dist: tensorflow<2.17,>=2.16
229
- Requires-Dist: tensorflow-probability<0.25,>=0.24
230
- Requires-Dist: tf-keras<2.17,>=2.16
225
+ Requires-Dist: numpy<3,>=2.0.2
226
+ Requires-Dist: pandas<3,>=2.2.2
227
+ Requires-Dist: scipy<2,>=1.13.1
228
+ Requires-Dist: tensorflow<2.19,>=2.18
229
+ Requires-Dist: tensorflow-probability<0.26,>=0.25
230
+ Requires-Dist: tf-keras<2.19,>=2.18
231
231
  Requires-Dist: xarray
232
232
  Provides-Extra: dev
233
233
  Requires-Dist: pytest>=8.0.0; extra == "dev"
@@ -237,7 +237,8 @@ Requires-Dist: pyink; extra == "dev"
237
237
  Provides-Extra: colab
238
238
  Requires-Dist: psutil; extra == "colab"
239
239
  Provides-Extra: and-cuda
240
- Requires-Dist: tensorflow[and-cuda]<2.17,>=2.16; extra == "and-cuda"
240
+ Requires-Dist: tensorflow[and-cuda]<2.19,>=2.18; extra == "and-cuda"
241
+ Dynamic: license-file
241
242
 
242
243
  # About Meridian
243
244
 
@@ -392,7 +393,7 @@ To cite this repository:
392
393
  author = {Google Meridian Marketing Mix Modeling Team},
393
394
  title = {Meridian: Marketing Mix Modeling},
394
395
  url = {https://github.com/google/meridian},
395
- version = {1.0.6},
396
+ version = {1.0.7},
396
397
  year = {2025},
397
398
  }
398
399
  ```
@@ -151,7 +151,7 @@ To cite this repository:
151
151
  author = {Google Meridian Marketing Mix Modeling Team},
152
152
  title = {Meridian: Marketing Mix Modeling},
153
153
  url = {https://github.com/google/meridian},
154
- version = {1.0.6},
154
+ version = {1.0.7},
155
155
  year = {2025},
156
156
  }
157
157
  ```
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: google-meridian
3
- Version: 1.0.6
3
+ Version: 1.0.7
4
4
  Summary: Google's open source mixed marketing model library, helps you understand your return on investment and direct your ad spend with confidence.
5
5
  Author-email: The Meridian Authors <no-reply@google.com>
6
6
  License:
@@ -222,12 +222,12 @@ Requires-Dist: arviz
222
222
  Requires-Dist: altair>=5
223
223
  Requires-Dist: immutabledict
224
224
  Requires-Dist: joblib
225
- Requires-Dist: numpy<2,>=1.26
226
- Requires-Dist: pandas<3,>=2.2
227
- Requires-Dist: scipy<1.13,>=1.12.0
228
- Requires-Dist: tensorflow<2.17,>=2.16
229
- Requires-Dist: tensorflow-probability<0.25,>=0.24
230
- Requires-Dist: tf-keras<2.17,>=2.16
225
+ Requires-Dist: numpy<3,>=2.0.2
226
+ Requires-Dist: pandas<3,>=2.2.2
227
+ Requires-Dist: scipy<2,>=1.13.1
228
+ Requires-Dist: tensorflow<2.19,>=2.18
229
+ Requires-Dist: tensorflow-probability<0.26,>=0.25
230
+ Requires-Dist: tf-keras<2.19,>=2.18
231
231
  Requires-Dist: xarray
232
232
  Provides-Extra: dev
233
233
  Requires-Dist: pytest>=8.0.0; extra == "dev"
@@ -237,7 +237,8 @@ Requires-Dist: pyink; extra == "dev"
237
237
  Provides-Extra: colab
238
238
  Requires-Dist: psutil; extra == "colab"
239
239
  Provides-Extra: and-cuda
240
- Requires-Dist: tensorflow[and-cuda]<2.17,>=2.16; extra == "and-cuda"
240
+ Requires-Dist: tensorflow[and-cuda]<2.19,>=2.18; extra == "and-cuda"
241
+ Dynamic: license-file
241
242
 
242
243
  # About Meridian
243
244
 
@@ -392,7 +393,7 @@ To cite this repository:
392
393
  author = {Google Meridian Marketing Mix Modeling Team},
393
394
  title = {Meridian: Marketing Mix Modeling},
394
395
  url = {https://github.com/google/meridian},
395
- version = {1.0.6},
396
+ version = {1.0.7},
396
397
  year = {2025},
397
398
  }
398
399
  ```
@@ -0,0 +1,23 @@
1
+ arviz
2
+ altair>=5
3
+ immutabledict
4
+ joblib
5
+ numpy<3,>=2.0.2
6
+ pandas<3,>=2.2.2
7
+ scipy<2,>=1.13.1
8
+ tensorflow<2.19,>=2.18
9
+ tensorflow-probability<0.26,>=0.25
10
+ tf-keras<2.19,>=2.18
11
+ xarray
12
+
13
+ [and-cuda]
14
+ tensorflow[and-cuda]<2.19,>=2.18
15
+
16
+ [colab]
17
+ psutil
18
+
19
+ [dev]
20
+ pytest>=8.0.0
21
+ pytest-xdist
22
+ pylint>=2.6.0
23
+ pyink
@@ -14,7 +14,7 @@
14
14
 
15
15
  """Meridian API."""
16
16
 
17
- __version__ = "1.0.6"
17
+ __version__ = "1.0.7"
18
18
 
19
19
 
20
20
  from meridian import analysis
@@ -950,7 +950,7 @@ class DataFrameDataLoader(InputDataLoader):
950
950
  raise ValueError('NA values found in the organic_frequency columns.')
951
951
 
952
952
  # Determine columns in which NAs are expected in the lagged-media period.
953
- na_columns = []
953
+ not_lagged_columns = []
954
954
  coords = [
955
955
  constants.KPI,
956
956
  constants.CONTROLS,
@@ -967,12 +967,12 @@ class DataFrameDataLoader(InputDataLoader):
967
967
  for coord in coords:
968
968
  columns = getattr(self.coord_to_columns, coord)
969
969
  columns = [columns] if isinstance(columns, str) else columns
970
- na_columns.extend(columns)
970
+ not_lagged_columns.extend(columns)
971
971
 
972
972
  # Dates with at least one non-NA value in columns different from media,
973
973
  # reach, frequency, organic_media, organic_reach, and organic_frequency.
974
974
  time_column_name = self.coord_to_columns.time
975
- no_na_period = self.df[(~self.df[na_columns].isna()).any(axis=1)][
975
+ no_na_period = self.df[(~self.df[not_lagged_columns].isna()).any(axis=1)][
976
976
  time_column_name
977
977
  ].unique()
978
978
 
@@ -999,13 +999,16 @@ class DataFrameDataLoader(InputDataLoader):
999
999
  # organic_frequency.
1000
1000
  not_lagged_data = self.df.loc[
1001
1001
  self.df[time_column_name].isin(no_na_period),
1002
- na_columns,
1002
+ not_lagged_columns,
1003
1003
  ]
1004
1004
  if not_lagged_data.isna().any(axis=None):
1005
+ incorrect_columns = []
1006
+ for column in not_lagged_columns:
1007
+ if not_lagged_data[column].isna().any(axis=None):
1008
+ incorrect_columns.append(column)
1005
1009
  raise ValueError(
1006
- 'NA values found in non-media columns outside the lagged-media'
1007
- f' period {na_period} (continuous window of 100% NA values in all'
1008
- ' non-media columns).'
1010
+ f'NA values found in columns {incorrect_columns} within the modeling'
1011
+ ' time window (time periods where the KPI is modeled).'
1009
1012
  )
1010
1013
 
1011
1014
  def load(self) -> input_data.InputData:
@@ -30,12 +30,12 @@ dependencies = [
30
30
  "altair >= 5",
31
31
  "immutabledict",
32
32
  "joblib",
33
- "numpy >= 1.26, < 2",
34
- "pandas >= 2.2, < 3",
35
- "scipy >= 1.12.0, < 1.13",
36
- "tensorflow >= 2.16, < 2.17",
37
- "tensorflow-probability >= 0.24, < 0.25",
38
- "tf-keras >= 2.16, < 2.17",
33
+ "numpy >= 2.0.2, < 3",
34
+ "pandas >= 2.2.2, < 3",
35
+ "scipy >= 1.13.1, < 2",
36
+ "tensorflow >= 2.18, < 2.19",
37
+ "tensorflow-probability >= 0.25, < 0.26",
38
+ "tf-keras >= 2.18, < 2.19",
39
39
  "xarray",
40
40
  ]
41
41
 
@@ -65,7 +65,7 @@ colab = [
65
65
  # GPU deps
66
66
  # Installed through `pip install -e .[and-cuda]`
67
67
  and-cuda = [
68
- "tensorflow[and-cuda] >= 2.16, < 2.17",
68
+ "tensorflow[and-cuda] >= 2.18, < 2.19",
69
69
  ]
70
70
 
71
71
  [tool.pyink]
@@ -1,23 +0,0 @@
1
- arviz
2
- altair>=5
3
- immutabledict
4
- joblib
5
- numpy<2,>=1.26
6
- pandas<3,>=2.2
7
- scipy<1.13,>=1.12.0
8
- tensorflow<2.17,>=2.16
9
- tensorflow-probability<0.25,>=0.24
10
- tf-keras<2.17,>=2.16
11
- xarray
12
-
13
- [and-cuda]
14
- tensorflow[and-cuda]<2.17,>=2.16
15
-
16
- [colab]
17
- psutil
18
-
19
- [dev]
20
- pytest>=8.0.0
21
- pytest-xdist
22
- pylint>=2.6.0
23
- pyink
File without changes