mergeron 2025.739425.2__py3-none-any.whl → 2025.739439.3__py3-none-any.whl

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.

Potentially problematic release.


This version of mergeron might be problematic. Click here for more details.

mergeron/__init__.py CHANGED
@@ -15,7 +15,7 @@ from ruamel import yaml
15
15
 
16
16
  _PKG_NAME: str = Path(__file__).parent.name
17
17
 
18
- VERSION = "2025.739425.2"
18
+ VERSION = "2025.739439.3"
19
19
 
20
20
  __version__ = VERSION
21
21
 
@@ -233,7 +233,7 @@ class DiversionRatioBoundary:
233
233
  ) -> None:
234
234
  if not (isinstance(_value, decimal.Decimal | float) and 0 <= _value <= 1):
235
235
  raise ValueError(
236
- "Margin-adjusted benchmark share ratio must lie between 0 and 1."
236
+ "Margin-adjusted benchmark diversion share must lie between 0 and 1."
237
237
  )
238
238
 
239
239
  recapture_ratio: float = field(
@@ -324,7 +324,7 @@ class DiversionRatioBoundary:
324
324
 
325
325
  def __attrs_post_init__(self, /) -> None:
326
326
  """Initialize boundary and area based on other attributes."""
327
- share_ratio = critical_share_ratio(
327
+ share_ratio = critical_diversion_share(
328
328
  self.diversion_ratio, r_bar=self.recapture_ratio
329
329
  )
330
330
 
@@ -403,7 +403,7 @@ def guppi_from_delta(
403
403
  )
404
404
 
405
405
 
406
- def critical_share_ratio(
406
+ def critical_diversion_share(
407
407
  _guppi_bound: float = 0.075,
408
408
  /,
409
409
  *,
@@ -425,7 +425,7 @@ def critical_share_ratio(
425
425
 
426
426
  Returns
427
427
  -------
428
- Critical share ratio (share ratio bound) corresponding to the GUPPI bound
428
+ Critical diversion share (diversion share bound) corresponding to the GUPPI bound
429
429
  for given margin and recapture ratio.
430
430
 
431
431
  """
@@ -459,7 +459,7 @@ def share_from_guppi(
459
459
 
460
460
  """
461
461
  return gbfn.round_cust(
462
- (_d0 := critical_share_ratio(_guppi_bound, m_star=m_star, r_bar=r_bar))
462
+ (_d0 := critical_diversion_share(_guppi_bound, m_star=m_star, r_bar=r_bar))
463
463
  / (1 + _d0)
464
464
  )
465
465
 
@@ -228,7 +228,7 @@ def diversion_share_boundary_wtd_avg(
228
228
  Parameters
229
229
  ----------
230
230
  _delta_star
231
- Share ratio (:math:`\overline{d} / \overline{r}`)
231
+ Diversion share (:math:`\overline{d} / \overline{r}`)
232
232
  _r_val
233
233
  recapture ratio
234
234
  agg_method
@@ -461,7 +461,7 @@ def diversion_share_boundary_xact_avg(
461
461
  Parameters
462
462
  ----------
463
463
  _delta_star
464
- Share ratio (:math:`\overline{d} / \overline{r}`).
464
+ Diversion share (:math:`\overline{d} / \overline{r}`).
465
465
  _r_val
466
466
  Recapture ratio
467
467
  recapture_form
@@ -590,7 +590,7 @@ def diversion_share_boundary_min(
590
590
  Parameters
591
591
  ----------
592
592
  _delta_star
593
- Share ratio (:math:`\overline{d} / \overline{r}`).
593
+ Diversion share (:math:`\overline{d} / \overline{r}`).
594
594
  _r_val
595
595
  Recapture ratio.
596
596
  recapture_form
@@ -634,7 +634,7 @@ def diversion_share_boundary_max(
634
634
  Parameters
635
635
  ----------
636
636
  _delta_star
637
- Share ratio (:math:`\overline{d} / \overline{r}`).
637
+ Diversion share (:math:`\overline{d} / \overline{r}`).
638
638
  _
639
639
  Placeholder for recapture ratio included for consistency with other
640
640
  share-ratio boundary functions.
@@ -409,7 +409,7 @@ def diversion_share_boundary_xact_avg_mp(
409
409
  Parameters
410
410
  ----------
411
411
  _delta_star
412
- Share ratio (:math:`\overline{d} / \overline{r}`).
412
+ Diversion share (:math:`\overline{d} / \overline{r}`).
413
413
  _r_val
414
414
  Recapture ratio
415
415
  recapture_form
@@ -534,7 +534,7 @@ def _diversion_share_boundary_wtd_avg_autoroot(
534
534
  Parameters
535
535
  ----------
536
536
  _delta_star
537
- Share ratio (:math:`\overline{d} / \overline{r}`)
537
+ Diversion share (:math:`\overline{d} / \overline{r}`)
538
538
  _r_val
539
539
  recapture ratio
540
540
  agg_method
mergeron/gen/__init__.py CHANGED
@@ -579,14 +579,12 @@ class MarginSampleData:
579
579
  mnl_test_array: ArrayBoolean
580
580
  """Flags infeasible observations as False and rest as True
581
581
 
582
- Applying restrictions from Bertrand-Nash oligopoly
583
- with MNL demand results in draws of Firm 2 PCM falling
584
- outside the feasible interval,:math:`[0, 1]`, depending
585
- on the configuration of merging firm shares. Such draws
586
- are are flagged as infeasible (False)in :code:`mnl_test_array` while
587
- draws with PCM values within the feasible range are
588
- flagged as True. Used from filtering-out draws with
589
- infeasible PCM.
582
+ Applying restrictions from Bertrand-Nash oligopoly with MNL demand results
583
+ in some draws of Firm 2 PCM falling outside the feasible interval, :math:`[0, 1]`
584
+ for certain combinations of merging firms shares as initially drawn. Such draws
585
+ are flagged as infeasible (False) in :code:`mnl_test_array` while draws with
586
+ feaseible PCM values flagged True. This array is used to exclude infeasible draws
587
+ when imposing MNL demand in simulations.
590
588
  """
591
589
 
592
590
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mergeron
3
- Version: 2025.739425.2
3
+ Version: 2025.739439.3
4
4
  Summary: Python for analyzing merger enforcement policy
5
5
  License: MIT
6
6
  Keywords: merger enforcement policy,merger guidelines,merger screening,enforcement presumptions,concentration standards,diversion ratio,upward pricing pressure,GUPPI
@@ -1,20 +1,20 @@
1
- mergeron/__init__.py,sha256=n2XQtW2eHeSFqmCYoKTCM5UPmaBRpJmHVLryZ8WVVRU,6751
1
+ mergeron/__init__.py,sha256=enPqozqe88chTg0uWg_CNBOzm8KBsKCxEkRayBJCt3s,6751
2
2
  mergeron/core/__init__.py,sha256=4Y_q-Qu7gXENVKHS-lNebn5mPZDy9oPHFwUV7fAW9Nw,3269
3
3
  mergeron/core/empirical_margin_distribution.py,sha256=61U-KLB563BPWM5zWyWp82c4PhcsAG-IKI0WWYGjBKg,11740
4
4
  mergeron/core/ftc_merger_investigations_data.py,sha256=oM4cs2PnyeSwyV1LOE_EYCUEzCKPm7lnCGxLIc6JQY8,28820
5
- mergeron/core/guidelines_boundaries.py,sha256=Q_udRryyqQAtoB7x2EYGOxI-8JNuyYgoDbFJ_EZAOnM,15606
6
- mergeron/core/guidelines_boundary_functions.py,sha256=qQbpiNUxsq9AE8SrS628yWlEzqBQdNoVIarFurhuGTY,30304
7
- mergeron/core/guidelines_boundary_functions_extra.py,sha256=hRhROaLJoRtTrtd-dNkpAGPOEeY1w_qXQHKIxfALaG4,22070
5
+ mergeron/core/guidelines_boundaries.py,sha256=PvSOLB6KlXu9KX6NdpStuRluP6nrZqUzSHT6usa5600,15630
6
+ mergeron/core/guidelines_boundary_functions.py,sha256=XdpgwOwcvRHcpzWsX1aMQP656hrMz5kNco4RoLrbCN8,30320
7
+ mergeron/core/guidelines_boundary_functions_extra.py,sha256=g4V4-vxX8g6X-lXUVyU4-yPj5LTjCoRDPQUlbb2bBHY,22078
8
8
  mergeron/core/pseudorandom_numbers.py,sha256=-mPveXjJJ446NrBMAmWIa2jI6j0Px0xcCJTGEEsn3bo,10149
9
9
  mergeron/data/__init__.py,sha256=SAFkR23RBM0zwGam2TeWmw08oHAKmU2YF-Nygj73ies,1845
10
10
  mergeron/data/damodaran_margin_data_serialized.zip,sha256=Wc1v9buSrYTWWAravG8W9nPbgsU07zMtSAR2RvMQU5s,623482
11
11
  mergeron/data/ftc_merger_investigations_data.zip,sha256=tiB2TLFyS9LMSFIv8DBA_oEEx12DU4MyjHni4NlsRMU,24002
12
- mergeron/gen/__init__.py,sha256=3ToWbBcf8SF0r8wxoA3n2GHYYCv1DPvvRC2A7mu-YPE,23842
12
+ mergeron/gen/__init__.py,sha256=apcCVC29yVjIM1yLM-wVpwrIwfi3BvJp_fPThe0Bgoc,23864
13
13
  mergeron/gen/data_generation.py,sha256=pdQl_uBENCjVt2aPtAcus2md4Qx-j5rOWGJJAzdnlO0,17617
14
14
  mergeron/gen/data_generation_functions.py,sha256=hXUq5D2CIUkM4_NdGXiOb4XATYwIUeUcCGadzQGDqLw,26126
15
15
  mergeron/gen/enforcement_stats.py,sha256=etTax-sBSn8DveF-IxuBJDdX0XSBD6oFU9vaZe6cYks,14387
16
16
  mergeron/gen/upp_tests.py,sha256=gRJISQ2jGmIDmFOvaTIkvYooI4mK-QbgkfgL46RrRio,7445
17
17
  mergeron/py.typed,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
18
- mergeron-2025.739425.2.dist-info/METADATA,sha256=iVXVUwjEb8kJSBdzyRO3D53xnIcRU03NHA-R61XPnT8,4270
19
- mergeron-2025.739425.2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
20
- mergeron-2025.739425.2.dist-info/RECORD,,
18
+ mergeron-2025.739439.3.dist-info/METADATA,sha256=aEMS78D0BPKkDIbKkrtLkD8xRO4CWzJtC7oq580DpSg,4270
19
+ mergeron-2025.739439.3.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
20
+ mergeron-2025.739439.3.dist-info/RECORD,,