Statistical Methodology
Boxless applies eight peer-reviewed statistical screening methods to pricing data to identify patterns consistent with algorithmic coordination. This page documents each test, its academic basis, and the parameters used.
Version History
| Version | Date | Changes |
|---|---|---|
| v1.0 | May 2026 | Initial release. 8 statistical tests, Holm multiple testing correction, seasonal decomposition preprocessing. |
Two-Layer Analysis Framework
The free assessment evaluates your organization's governance practices, data handling policies, and compliance readiness against current regulatory requirements (DOJ settlement terms, CA SB 295, NY Disclosure Act). Based on questionnaire responses only.
The paid analysis applies eight statistical tests to your actual pricing data to detect patterns consistent with algorithmic coordination. Based on uploaded CSV data with date, price, and entity columns.
Statistical Tests (Layer 2)
1. Structural Break Detection
PELT algorithm (Pruned Exact Linear Time)
Identifies inflection points where pricing behavior fundamentally changed. Compares mean price before and after each breakpoint.
Inputs: date, price. Optional: algorithm_adoption_date for temporal comparison.
Parameters: Penalty parameter: 10 (controls sensitivity). Adoption tolerance: 60 days.
Academic basis: Killick, R., Fearnhead, P., & Eckley, I.A. (2012). Optimal detection of changepoints with a linear computational cost. Journal of the American Statistical Association, 107(500), 1590-1598.
Antitrust application: Assad, S., Clark, R., Ershov, D., & Xu, L. (2024). Algorithmic Pricing and Competition: Empirical Evidence from the German Retail Gasoline Market. Journal of Political Economy, 132(3).
2. Granger Causality Analysis
VAR-based F-test with ADF stationarity pre-test
Tests whether one firm's past prices contain predictive information about another firm's future prices. Bidirectional causality is inconsistent with independent pricing.
Inputs: date, price, entity (2+ entities required).
Parameters: Maximum lag: 10 (AIC-selected within range). Stationarity: ADF pre-test with first-differencing. Correction: Bonferroni across entity pairs.
Academic basis: Granger, C.W.J. (1969). Investigating Causal Relations by Econometric Models and Cross-spectral Methods. Econometrica, 37(3), 424-438.
Antitrust application: Standard in antitrust economics for testing whether firms' prices are predictively linked rather than independently determined.
3. Rolling Price Correlation
Pearson correlation on first-differenced prices
Measures whether competitors' price changes move in synchronization over time. Uses first-differenced data to prevent spurious correlation from shared trends.
Inputs: date, price, entity (2+ entities required).
Parameters: Window: 30 observations. Threshold: 0.8 (see note below).
Academic basis: Standard econometric method. First-differencing methodology per Hamilton, J.D. (1994). Time Series Analysis. Princeton University Press.
Antitrust application: Assad et al. (2024) used price dispersion and correlation measures to detect algorithmic coordination in gas station markets.
4. Vector Autoregression (VAR)
VAR model with AIC lag selection
Models how all firms' prices simultaneously predict each other. A high proportion of significant cross-entity coefficients indicates systematic price interdependence.
Inputs: date, price, entity (2+ entities required).
Parameters: Maximum lag: 10 (AIC-selected). Stability check: eigenvalue verification.
Academic basis: Sims, C.A. (1980). Macroeconomics and Reality. Econometrica, 48(1), 1-48.
Antitrust application: Standard in antitrust economics for modeling dynamic price interdependence across firms.
5. Supra-Competitive Margin Analysis (Lerner Index)
Welch's t-test with bootstrap confidence intervals
Computes (Price - Cost) / Price before and after algorithm adoption. Tests whether the margin increase is statistically significant.
Inputs: date, price, cost. Optional: algorithm_adoption_date.
Parameters: Significant indication threshold: >15% margin increase (conservative relative to Assad's 28%). Effect size: Cohen's d reported. 95% confidence intervals.
Academic basis: Lerner, A.P. (1934). The Concept of Monopoly and the Measurement of Monopoly Power. The Review of Economic Studies, 1(3), 157-175.
Antitrust application: Assad et al. (2024) found 28% margin increase in German gas station duopolies after both firms adopted algorithmic pricing.
6. Punishment Pattern Detection
Cross-correlation analysis on price changes
Detects price retaliation: when one firm cuts prices, do competitors systematically respond with retaliatory price drops?
Inputs: date, price, entity (2+ entities required).
Parameters: Retaliation window: 5 trading days. Drop threshold: 2%. Response threshold: 1%.
Academic basis: Calvano, E., Calzolari, G., Denicolò, V., & Pastorello, S. (2020). Artificial Intelligence, Algorithmic Pricing, and Collusion. American Economic Review, 110(10), 3267-3297.
Antitrust application: Calvano et al. demonstrated that Q-learning pricing agents independently develop punishment strategies against competitors who deviate from tacitly collusive prices.
7. Cointegration Analysis
Engle-Granger two-step procedure
Tests whether price series share a long-run equilibrium relationship. Cointegrated prices are structurally bound — deviations are temporary and self-correcting.
Inputs: date, price, entity (2+ entities required).
Parameters: Minimum observations: 50. Correction: Bonferroni across entity pairs.
Academic basis: Engle, R.F. & Granger, C.W.J. (1987). Co-Integration and Error Correction: Representation, Estimation, and Testing. Econometrica, 55(2), 251-276.
Antitrust application: Used by DOJ economic experts in the RealPage matter to establish long-run structural price linkages between competing properties.
8. Price Dispersion Analysis
Coefficient of variation with Mann-Whitney trend test
Measures cross-firm price variation over time. A statistically significant declining trend indicates prices are converging.
Inputs: date, price, entity (2+ entities required). Optional: algorithm_adoption_date.
Parameters: Trend test: linear regression + Mann-Whitney U. Significance: p < 0.05.
Academic basis: Assad et al. (2024) used declining price dispersion as a key indicator of algorithmic coordination.
Antitrust application: In competitive markets, prices vary across firms. Collusive markets show convergence — price dispersion declines as firms coordinate.
Cross-Test Methodology
Multiple Testing Correction
Running 8 tests on the same dataset inflates the probability of false positives. Boxless applies the Holm method (Holm, 1979) to control the family-wise error rate at α = 0.05 across all tests. Bonferroni correction is applied within tests that evaluate multiple entity pairs (Granger causality, cointegration).
Seasonal Decomposition
Price data is preprocessed using STL decomposition (Cleveland et al., 1990) to remove seasonal patterns that could produce spurious correlations. This is applied per-entity when multi-entity data is provided.
Stationarity Requirements
Granger causality and rolling correlation require stationary data. All series are tested for unit roots using the Augmented Dickey-Fuller test. Non-stationary series are first-differenced before analysis. This prevents the well-documented problem of spurious regression in non-stationary time series (Granger & Newbold, 1974).
Composite Risk Classification
Individual test results are combined into an overall categorical classification (Low / Medium / High / Critical) using weighted averaging. Weights reflect the relevance of each test to current enforcement priorities. The composite classification is categorical only — no numerical score is reported. The weighting methodology is documented in the source code and is subject to periodic review.
Parameters Under Review
The correlation threshold (0.8) and composite test weights are based on the development team's judgment informed by published literature. These parameters are flagged for formal validation by an independent economist advisor. Parameter choices and any subsequent changes will be documented in the version history above.
References
- Assad, S., Clark, R., Ershov, D., & Xu, L. (2024). Algorithmic Pricing and Competition. Journal of Political Economy, 132(3).
- Calvano, E., Calzolari, G., Denicolò, V., & Pastorello, S. (2020). Artificial Intelligence, Algorithmic Pricing, and Collusion. American Economic Review, 110(10), 3267-3297.
- Engle, R.F. & Granger, C.W.J. (1987). Co-Integration and Error Correction. Econometrica, 55(2), 251-276.
- Fish, S. et al. (2024). Algorithmic Collusion by Large Language Models.
- Granger, C.W.J. (1969). Investigating Causal Relations by Econometric Models. Econometrica, 37(3), 424-438.
- Holm, S. (1979). A Simple Sequentially Rejective Multiple Test Procedure. Scandinavian Journal of Statistics, 6(2), 65-70.
- Killick, R., Fearnhead, P., & Eckley, I.A. (2012). Optimal Detection of Changepoints. JASA, 107(500), 1590-1598.
- Lerner, A.P. (1934). The Concept of Monopoly and the Measurement of Monopoly Power. Review of Economic Studies, 1(3), 157-175.
- Sims, C.A. (1980). Macroeconomics and Reality. Econometrica, 48(1), 1-48.
Advisory Board
Boxless methodology and outputs are subject to independent review by qualified advisors in antitrust economics and competition law.
Independent economist specializing in antitrust economics and algorithmic pricing. Responsible for validating statistical methodology, test parameters, and composite risk weighting.
Antitrust counsel reviewing report language, disclaimers, Terms of Service, and compliance with UPL requirements across jurisdictions.
This methodology document is provided for transparency. Boxless is not a law firm and this document does not constitute legal or expert economic advice. All statistical findings should be reviewed by qualified counsel.