You are on page 1of 47

Algorithmic Pricing Facilitates Tacit Collusion:

Evidence from E-Commerce


Leon Musolff∗

May 16, 2022

Abstract

As the economy digitizes, menu costs fall, and firms can more easily monitor prices.
These trends have led to the rise of automatic pricing tools. We employ a novel
e-commerce dataset to examine the potential implications of these developments on
price competition. We provide evidence from an RDD that the immediate impact of
automatic pricing is a significant decline in prices. However, repricers have developed
strategies to avoid the stark competitive realities of Bertrand-Nash competition. By
employing plausibly exogenous variation in the execution of repricing strategies, we
find that “resetting” strategies (which regularly raise prices, e.g., at night) effectively
coax competitors to raise their prices. While the resulting patterns of cycling prices are
reminiscent of Maskin-Tirole’s Edgeworth cycles, a model of equilibrium in delegated
strategies fits the data better. This model suggests that if the available repricing tech-
nology remains fixed, cycling will increase, and prices could rise significantly in the future.

JEL Classification: L41, L81, D47


Department of Economics, Princeton University, Julis Romo Rabinowitz Building, Princeton NJ
08544 (e-mail: lmusolff@princeton.edu). I am especially grateful to Jakub Kastl for many meetings full
of insightful comments and stimulating discussions that helped shape this paper. I also thank Bruno
Baranek, Stefano Baratuche, Nick Buchholz, Ana Luiza Dutra, Kate Ho, Kwok-Hao Lee, Adam Kapor,
Nikita Melnikov, Jonas Mueller-Gastell, Christopher Neilson, Franz Ostrizek, Pellumb Reshidi and seminar
participants at Princeton University. Any errors are exclusively mine.

1
With the advent of the digital age, menu costs have been falling, yet little is known about
how the ability to update prices more frequently affects competition between firms. While
there is extensive theoretical literature on dynamic games, the Folk Theorem warns us that
the predictive power of equilibrium reasoning is limited in dynamic environments with brief
periods. Hence, empirical research into the issue of repricing is necessary.
This paper employs extensive data on the pricing decisions made by third-party sellers on a
well-known e-commerce platform to empirically assess and expand the theoretical predictions
of the literature on dynamic pricing. We find that delegation of pricing to simple algorithms
can facilitate tacit collusion by reducing the set of available strategies. Furthermore, the
algorithms currently employed are more straightforward than the Markov-perfect strategies
of Maskin and Tirole (1988) and emerge naturally as the result of a best-response process
once the ability to regularly reprice is introduced into the marketplace. We build a model
that suggests that if this best-response process were allowed to play out without intervention,
the market would fully transition from static to dynamic pricing. Along the transition path,
prices initially fall but eventually rise dramatically.
This paper proceeds as follows. Firstly, we motivate our analysis. Secondly, we introduce
the institutional setting. Thirdly, we will distill our understanding of repricing using model-
free evidence from a regression discontinuity design as well as quasi-random variation in
repricing strategy execution induced by a repricing queue. The former establishes that turning
on repricing lowers a merchant’s prices without adversely affecting market prices, and the
latter that ‘resetting’ strategies (which regularly raise a merchant’s prices) coax competitors
to raise their prices in turn. Fourthly, we will develop a model of equilibrium in delegated
strategies that reflects the limited nature of strategies available to repricing merchants.

1 Motivation
As the economy digitizes, it is changing in three key ways: firms are better able to monitor
rivals’ prices, firms can react faster to price changes, and consumers’ search costs are falling.
These trends are not limited to the world of e-commerce. Rather, they are general consequences
of the spreading use of information technology: retail chains are increasingly posting their
prices online; the adoption of electronic shelf labels is skyrocketing; and consumers have apps
that allow for price comparisons on the spot. This paper analyzes the implications of these
three trends on the intensity of price competition and consumer welfare.
Firstly, it is easy for firms’ to observe rivals’ prices in e-commerce, but monitoring costs
are also declining in offline retail markets. For example, Tesco operated a price-match scheme
from 2013 to 2018 that automatically compared its own prices to those of its competitors

2
at the till, crediting customers for the difference (Ruddick, 2015). Theoretically, the impact
of declining monitoring costs is ambiguous. Empirically, Albaek et al. (1997) find that in
Denmark, the publication of firm-specific transaction prices in the market for concrete led to
decreased price competition.
Secondly, the physical costs of changing prices — menu costs in the literal sense — are
absent in online markets. When viewed in conjunction with decreasing monitoring costs,
the ability to adjust prices quickly may be of concern to economists: collusive schemes are
easier to maintain when rivals’ prices are observable and the discount factor low, enabling
swift punishment for deviations from a collusive equilibrium (Rotemberg and Saloner, 1986;
Green and Porter, 1984). In principle, algorithms can learn to collude in such environments
(Calvano et al., 2020). Indeed, prices of gasoline in Germany increase when both members of
a local duopoly adopt algorithmic pricing strategies (Assad et al., 2020). Even disregarding
collusion, the short-term commitment brought about by pricing algorithms can yield price
increases if these algorithms operate at asymmetric speeds (Brown and McKay, 2020): if one
firm updates prices much more often, competition moves from Bertrand towards Stackelberg
pricing. While asymmetry and short-term commitments also play a significant role in our
analysis, our observation of repricing interfaces allows a more detailed exploration of how
these concepts relate to strategies employed in practice at scale on at least one e-commerce
platform.
Thirdly, the ease of price monitoring on the internet applies not only to firms but also to
consumers. On internet platforms that give consumers access to multiple offers for the same
product, offer-level elasticities can reach -20 and firms react by engaging in price obfuscation
(Ellison and Ellison, 2009).
Taken together, the welfare consequences of these three trends are ex-ante ambiguous.
This theoretical ambiguity is borne out in the data, where we will see that the initial effect
of repricing was almost certainly pro-competitive as the vast majority of merchants chose
to reprice using simple undercutting strategies. More recently, however, the worry of facing
other players employing similar undercutting strategies has led merchants to innovate and
adapt tacitly collusive ‘cycling’ strategies that manifest in Edgeworth-like cycles: infrequent
large price increases alternate with periods of frequent, stable and small price decreases.
Edgeworth cycles were proposed as an alternative to the prediction of stable prices made
by the Cournot model (Edgeworth, 1925). They emerge as Markov-Perfect equilibria in a
dynamic price-setting model in which (i) time is discrete, (ii) firms move alternately, (iii) all
firms are of equal size, (iv) there are precisely two firms, (v) goods are perfect substitutes
and (vi) firms have constant unit cost (Maskin and Tirole, 1988). The prediction of cycles is
robust to alternative timing assumptions and hence does not rely on (i) and (ii), and has been

3
generalized to relax (iii) by allowing for differences in firm size (Eckert, 2003). Furthermore,
computational evidence suggests that cycling MPE survive in a three-firm model, when goods
are only imperfect substitutes or when marginal costs fluctuate (Noel, 2008). However, Noel
also emphasizes that cycling is more likely in markets with high own-price elasticity and weak
capacity constraints.
The experimental evidence for non-delegated cycling is ambiguous: e.g., Leufkens and
Peeters’s (2011) experimental subjects find it easier to coordinate on a focal price equilibrium
than a price cycle. Nevertheless, price cycles have been found1 in gasoline markets across
the world (Noel, 2007; Wang, 2009a,b; Eckert, 2003). Zhang (2005) finds cycles in online
auctions, suggesting there is nothing unique about gasoline except perhaps the frequency at
which prices are observed and set.
While reminiscent of Edgeworth cycles, we show below that our data are not generated by
the MPE strategies proposed in Maskin and Tirole (1988). The assumption of best-responses
in pricing is a natural benchmark but ceases to be realistic when prices are changed as often
as in our dataset: in fact, short- to medium-term decisions about pricing in our data are
delegated to a computer. To the extent that the computer’s strategy space is limited, this
delegation can make a crucial difference for equilibrium outcomes. Although most of the
literature ignores this distinction, there are two notable exceptions. Schlosser and Boissier
(2017) consider a merchants’ (non-delegated) best-response to a specific (delegated) algorithm
and find results that are qualitatively similar to ours in an operations research context.
Popescu (2015) models how simple proportional repricing rules can emerge as the product of
best response dynamics à la Milgrom and Roberts (1990). Both of these papers, however,
stop short of modeling an equilibrium in delegated strategies.

2 Setting
With a revenue of $177 billion in 2017, Amazon is one of the largest e-commerce platforms
worldwide (Amazon, 2018). Its success is built partly on allowing third-party sellers to list
right alongside Amazon’s offers: in 2017, more than half of units sold were from third-party
sellers (Amazon, 2018).
Amazon’s web presence is organized around the concept of a (narrowly-defined) product:
sellers do not create separate listings for the same product (as they would on, e.g., eBay).
Instead, different offers for a product are pooled together on a unique product page. Amazon
enforces this pooling by requiring all products sold to be listed under their UPC; listing a
product without is not permitted.
1
For an overview, see Noel (2018).

4
(a) The Buybox (b) The Featured Merchants Section

Figure 1: How Offers Are Depicted on Product Page.


Notes: The left panel depicts the ‘Buybox’, an area on the product page where the customer can
directly purchase the product without making an explicit choice between different offers. The
right panel illustrates that some additional offers may be listed directly on the product page.

As far as customers are concerned, the fact that there exist multiple offers for most
products often goes ignored: about 80% of purchases go through the “Buybox ”, the framed
section of the product page depicted in Figure 1a which prominently displays “Buy Now” and
“Add to Cart” buttons. Amazon selects which merchant ‘owns’ the Buybox using a (partially
randomized) proprietary algorithm that loads heavily on which offer is the cheapest.
From the perspective of a seller on Amazon, the fact that his offer will be pooled with
those of other sellers on a product page means that winning the Buybox at least some of the
time is crucial to ensuring an ongoing revenue stream from sales. Moreover, as sellers are
aware that winning the Buybox is mostly a matter of having the lowest price, we might expect
intense competition and prices close to marginal cost. Indeed, to a first approximation, we
can think of the Buybox as emulating the way demand behaves in a Nash-Bertrand model of
price competition with homogeneous goods: it simply chooses the cheapest offer and exposes
all demand to it. For tractability, our model below will make exactly this assumption.
This Nash-Bertrand story suggests that markups on Amazon should be low throughout.
However, in our data the median markup2 is 18.82%. Furthermore, there is considerable
mass on even higher markups. So how do sellers avoid prices racing to the bottom? We
will see below that the answer lies partially in the Marketplace Web Services (MWS) API,
2
To be exact, the data contains the sales price p, the fees f paid to Amazon for fulfillment of the sale,
as well as seller-reported cost of the item c. We calculate the markup as µ = [p − (c + f )]/p. The results
are based on 2,845,973 sales observations with non-missing costs and fees. We note that we do not observe
and hence do not include in our calculation two other fees potentially paid by the seller: (i) the monthly
subscription fee (which at $39.99 is negligible) and (ii) potential inventory storage fees (including monthly
storage fees, long-term storage fees and FBA disposal order fees.)

5
which gives sellers the ability to reprice frequently at zero cost. Typically, a seller delegates
repricing to an external repricing company. This company registers with MWS on the sellers’
behalf and subsequently is notified by Amazon whenever there is some change to an offer on
the seller’s products. This notification is near-instant and contains all relevant details for
the repricer: for the twenty most competitive offers (ranked by landed price, i.e. price plus
shipping cost), it provides price, shipping cost, Buybox ownership and more. The repricer
takes this data, calculates a new price according to a predefined rule, and immediately sends
it back to Amazon. We discuss the exact (and limited) available rules in more detail below.
Sellers pay repricers according to a typical ‘digital’ cost structure: sellers in our sample
incur an average fixed (literal) menu cost of 0.04% of their revenue and pay no additional fee
per repricing event. Note that, e.g., Levy et al. (1997) find that supermarkets in 1992 spend
0.70% of revenue on (literal) menu costs: so menu costs on Amazon differ from brick-and-
mortar retail both in their structure (no marginal cost of repricing) and overall level (much
lower).
Given the ability of sellers to reprice their products without incurring any (marginal) menu
cost, standard economic theory suggests we should expect the frequency of price changes
to be high. The ‘push’ nature of the repricing company’s pricing data allows us to confirm
this hypothesis by observing the time elapsed between offer- and product-level price changes.
The median offer updates on average every 15.36 hours. Furthermore, the median product’s
buybox price – arguably the most relevant price for consumers – updates on average every
9.04 hours. The median price spell duration in brick-and-mortar retail ranges from 1.5 months
to 14.7 months (Bank, 2004, Table 3). In stark contrast, the median spell duration for the
Amazon data is just 17.47 minutes.3
While the median offer changes its price frequently, the size of the change is typically
small: the median (absolute) price change is $0.02. Furthermore, 81.21% of price changes are
negative. These facts suggest that price changes are driven by competition: we expect to
see frequent small negative price changes if firms are underbidding each other to gain the
Buybox.
This paper will argue that (i) undercutting is indeed a common phenomenon but (ii) it
is accompanied by less frequent and more sizeable positive price changes. This pattern is
illustrated in Figure 2, which depicts a typical Edgeworth-like cycle in our dataset. The
product in question is a running shoe, and we focus on the (two) offers that manage to obtain
the Buybox at some point during our selected sample period. The figure shows the offer’s
price paths and current possession of the Buybox (in the color strip at the bottom of the
graph). The bottom panel zooms in on the period marked by a grey backdrop in the top
3
Note that the concept of “median spell” pools price spells from different products.

6
panel.
We immediately note that the general pattern of prices matches the predictions of Maskin
and Tirole (1988): we see both prices declining over time, until they jump back up again,
one after the other. Furthermore, if we understand the Buybox as a proxy for demand, we
see plenty of back-and-forth as to which seller faces demand – again as predicted.
However, once we examine the price paths in more detail in the bottom panel, some
discrepancies with theory begin to emerge. Red has an inherent advantage: whenever the
two sellers have the same price, Red is allocated the Buybox. Green, on the other hand, must
undercut Red to gain the Buybox. Furthermore, Red seems aware of this as he always chooses
to match Green’s price while Green is stuck strictly undercutting Red’s price. Furthermore,
at the bottom of the cycle, the war of attrition predicted by Maskin and Tirole (1988) has
been replaced by price leadership: when prices reach the bottom, Red immediately increases
his price, and Green soon follows suit.
The asymmetry in pricing and Buybox dominance criteria suggests that there might be
meaningful differences between the sellers: e.g., there is presumably a reason why Amazon
assigns the Buybox to Red when prices are tied. Indeed, there is a significant difference
between Red and Green: Green is a third-party seller, and Red is Amazon itself. In light of
this information, it is fascinating that the Buybox is roughly equally shared: Green has a
Buybox share of 52.19%. Perhaps the platform realizes that sharing the Buybox is the best
way to ensure that many sellers and buyers use the platform.
Given that the Buybox is essentially allocated to the cheaper merchant, it is easy to see
why neither of the sellers achieves a high share of the Buybox: they have similar reaction
times. In particular, the average reaction time for Green is 197s, and the average reaction
time for Amazon is 247s. The average cycle takes 1.67 hours and has an amplitude of $0.10.
While this might seem small, the cycling itself indicates the presence of potentially collusive
profits: the welfare loss we are concerned with is not so much that of price volatility but that
of high prices in general.
In this vein, we can focus on Green (a seller employing the repricing company’s services)
and exploit the cost information in our dataset as well as publicly available information on
Amazon fees to work out his potential profit margin at the average price in the cycle4 : 35%.
This margin might not seem extraordinary, but note that the seller is in direct competition
with Amazon for this exact product. Thus, there is (i) perfect competition (as both sellers
sell the same shoes in the same brand, size, and color) and (ii) we can expect costs to be
bounded above by Green’s costs for both sellers (as we would expect Amazon to be able to
buy in bulk). Economic theory would thus suggest that profit should be very small (or zero
4
The net profit per sale is $34.21.

7
Figure 2: A Typical Cycle in the Pricing Data.
Notes: The upper panel depicts prices of two separate offers (green and red) for the same product.
Prices decrease slowly over time before jumping back up. The lower panel zooms in on the light
grey region in the upper panel. The bottom of each graph shows which offer has ownership of the
Buybox at a given time.

when considering the seller’s labor value).

3 Descriptive Evidence

3.1 Description of Data


This paper employs proprietary data from a repricing company that offers its services to
Amazon third-party sellers. The company manages offer listings on behalf of its customers,
which allows it to register with Amazon to receive price-change notifications. Notifications
are sent within seconds if any of the offers on a given product changes price. They contain
the price and some other information about the twenty lowest-priced offers on the product.5
Our main data source is the near-complete6 set of 273,005,612 notifications received by the
repricing company between 08/26/2018 and 10/30/2019. These notifications cover 319,514
products, 88,168 merchants and 2,549,651 merchant-product pairs (i.e., offers). We restrict
attention to ‘new’ offers, and focus on each merchant’s lowest-priced offer for a given product.
5
Offers are ranked by ‘landed price’ (i.e. price + shipping cost) and ties are broken randomly.
6
The company data indicates that it received no notifications on 21/09/18 and fewer notifications than
usual on 09/05/18.

8
As Noel (2008) highlights, “in most cases where cycles are newly found, it is because
finer and newly available data reveals previously hidden cycles.” Our data is attractive from
this perspective as it allows us to observe prices at an infinite time resolution. Furthermore,
as offers are grouped by product, we expect them to have high own-price elasticities. Also,
many Amazon merchants are resellers for whom the assumption of a constant unit cost
is an acceptable approximation. Finally, the Amazon data allows us to observe the price
monitoring technology. As confirmed by conversations with the repricing company, it is
exactly the price-change notifications we observe that the company (and supposedly others
like it) uses to calculate and update the offers of their customers. Thus, we observe the
complete information set that repricing strategies condition on.
There are also drawbacks to the data we employ. In particular, both the original Maskin
and Tirole (1988) model and the equilibrium in delegated strategies we discuss below assume
a duopoly – but the median product we observe has 8 offers. However, the number of
competitive offers is typically far lower; and to the extent that additional offers are employing
a “passive” constant-price strategy, we will discuss below how our delegated pricing model
can accommodate them.

3.2 Repricing Interfaces


Merchants can choose from a plethora of potential repricing companies. While these companies
try to differentiate themselves by, e.g., offering strategies “developed with game theory in
mind” (SellerSnap) or “powered by machine learning” (Aura), a closer examination of repricing
interfaces suggests that this wide variety in marketing claims is only partially reflected in the
implemented strategies’ sophistication. Finally, there is a small but burgeoning industry of
sales-driven repricing; as this feature is not very common (e.g., our data source has no such
feature), we will ignore it in this paper and instead focus on competition-based repricing
rules.
We exhibit two standard repricing interfaces in Figure 5: comparing the two, we can see
that the possible strategies are almost identical. While these may be an outlier in terms of
similarity, they embody the general gist of most interfaces well: merchants choose (i) by how
much to undercut their competitors and (ii) what to do when such undercutting would lead
to their price dropping below a pre-specified minimum. In such a case, many (but not all)
repricers allow increasing the price to some pre-specified maximum. Minimum and maximum
prices are specified on a per-product basis, and more advanced repricers often attempt to
attract merchants by offering them some way to calculate these values automatically.
Thus, although the presence of cycles in our dataset might lead one to conclude that

9
(a) Aura Interface (b) Informed Interface

Figure 3: Two Sample Repricing Interfaces.


Notes: These pictures are screenshots of actual interfaces used by two repricing companies.

repricing algorithms are indeed playing the Markov-Perfect strategies proposed in Maskin
and Tirole (1988), the interfaces we observe are not consistent with this interpretation. In
particular, the Maskin-Tirole strategies require merchants to switch from just undercutting
their rival’s price to pricing exactly at marginal cost once prices have dropped far enough.
Furthermore, once and as long as prices are at marginal cost, merchants are required to
randomize between resetting prices or keeping them unchanged, hoping that their rival might
be the one to reset prices. These strategies, however, are outside the space of strategies that
are implementable using the repricing software interfaces.
While there is variation in interfaces and implementable strategies, most repricers fall into
two categories: they either offer an undercutting strategy or a cycling strategy. Both strategies
consist of undercutting the lowest-priced (relevant) competitor up to some minimum price.
Once this minimum is reached, the cycling strategy will reset the price to some maximum
while the undercutting strategy will leave it unchanged.

3.3 Repricer Activation RDD


When a merchant activates the repricer, he gives control of his prices to an algorithm. As a
first step towards understanding the effect this may have on the marketplace, we are interested

10
in the causal effect of activating the repricer on outcomes of the offer for which repricing was
activated. To identify a causal effect, we exploit the fact that merchants typically take time
after signing up with the repricing company before they finally turn on repricing. This delay
occurs because (i) signing up is free but repricing costs money, and (ii) the repricing interface
requires familiarization. We can thus perform a regression discontinuity design around the
activation of repricing.
Formally speaking, we estimate regressions of the form

yit = αi + 1{t ≥ 0} × β + 1{t < 0} × t × γ0 + 1{t ≥ 0} × t × γ1 + it ,

where i refers to an offer and t refers to the number of days since the offer started automatically
repricing. Here, αi is an offer fixed-effect, β is the coefficient of interest and the γ coefficients
allow outcomes to vary smoothly with the number of days since the repricer was activated.
We note that our identifying assumption – that of discontinuous change at the moment of
repricer activation – should be contrasted with the parallel trends assumption that would
underlie an event-study approach. While such an approach yields similar estimate, the
assumption of parallel trends is violated once we expand the time horizon around the repricer
activation sufficiently.
We report the results of running our RDD models in Figure 4, where the lightly shaded
area indicates the period for which we cannot ascertain treatment status due to sampling
frequency restrictions. In the top-left panel, we see that offer-level prices decrease dramatically
on impact by an average of 4%. As indicated by the bottom-left panel, this price decrease
is accompanied by a significant increase in Buybox share of 20%. The additional demand
exposure offsets the lower prices, and hence we see in the bottom-right panel that profits
increase by about 40%. Profits increase because prices do not fall more than ‘necessary’,
i.e. the repricer seems to just undercut the current Buybox price: in particular, on impact,
Buybox prices do not move.
We note that there are some strong post-trends in Figure 4. Therefore, we extend the
post-window in Figure 14 (see appendix) to inspect these post-trends and find that (i) the
own-offer price stabilizes in the long run, (ii) the Buybox price keeps falling for two months
(but never reaches the extent of the decline in own price), (iii) the Buybox share stabilizes
after a month and (iv) profits decline to the pre-repricing level after 1.5 months.
To summarize, Figure 4 tells us that the typical merchants’ offers see their prices drop
when repricing is activated: in particular, the repricer will typically try to target the highest
price that allows the merchant to obtain the Buybox. As discussed above, we will refer to
this kind of strategy as ‘undercutting’ (see below for a more formal definition). For now,

11
Prices Buybox Prices

.01
0

0
−.02

Log Buybox Price


Log Price

−.01
−.04

−.02
−.06

−.03
−20 −10 0 10 20 −20 −10 0 10 20
Days Since Repricer Activated Days Since Repricer Activated

95% CI Fitted values 95% CI Fitted values

Buybox Share Profits


.28

.8 .6
.26

Log(Profits + 1)
Buybox Share

.4
.24

.2
.22

−20 −10 0 10 20 −20 −10 0 10 20


Days Since Repricer Activated Days Since Repricer Activated

95% CI Fitted values 95% CI Fitted values

Figure 4: Activating the repricer lowers prices and increases sales.


Notes: Results from RDD around Repricer activation using transition of 4 048 offers by 88 mer-
chants from non-repricing to repricing. The light-gray area indicates time during which treatment
status cannot be ascertained due to sampling frequency. See Figure 13 in Appendix E for the
distribution of included events over time.

note that while this sort of strategy is bound to perform very well against a marketplace
populated by merchants that are not repricing themselves, it performs poorly against other
agents employing the same strategy: indeed, prices will race down to cost very quickly when
an undercutter faces another undercutter.

3.4 The Importance of Resetting Prices


To avoid price wars, merchants may want to increase prices periodically. Indeed, most
repricing interfaces offer this ability by either letting merchants increase prices at regular
periodicity or in reaction to a select number of events (e.g., when undercutting an opponent’s
price would lead to a price that lies below a pre-specified minimum). We refer to this behavior
as “resetting.”

12
3.4.1 Does Resetting Work?

For resetting to be effective, the opponent must follow the resetting merchant’s price increase
by a price increase of their own. While this may seem to follow trivially from an undercutting
strategy, there are nevertheless reasons we may worry about the success of such a strategy:
e.g., it relies on the opponent’s ability to monitor prices and respond quickly enough to
increase prices of his own.
To determine whether resetting raises prices, we need to disentangle selection and treatment
effects: as resetting is designed to counter opponents that employ an undercutting strategy,
merchants are presumably more likely to activate resetting strategies on products where
they face tough competition. To avoid conflating these effects, we exploit the fact that the
repricing system at our source company sometimes gets overwhelmed and cannot execute
all intended repricings. In such a case, the company employs a queue system. While the
position in the queue is not random, it is determined by the exact time at which a merchant
intended prices to be reset, which is plausibly exogenous. Hence, we consider the repricing
queue to be a natural experiment and utilize the resulting quasi-random variation to identify
the treatment effect of resetting.
We thus restrict attention to the set of offers for which resetting was activated, and run
the following regression
yit = αi + 1{Bump}it × β + it ,

where i refers to an offer and t to a date. Here, yit is one of several outcome dependent
variables, αi is an offer fixed-effect and 1{Bump}it is an indicator for whether or not a
scheduled bump actually took place. If we had access to data on repricing queue positions,
we would have liked to run this model using an instrumental variables approach. However, we
do not observe the position in the repricing queue. Nevertheless, our identifying assumption
that E[1{Bump}it it ] = 0 is plausible in the subset of offers and dates for which resetting
was configured to happen.
Our results are in Table 1, where we separate the effects of resetting on own, competitor,
and market prices. To begin with, note that the effect of a reset on own price is positive
statistically and economically significant: on days on which a reset occurs, the resetting offer’s
price is on average 7.75% higher than on days where no reset occurs. In an IV framework
(where the position in the queue is the instrument), this suggests a solid first stage. The
results of interest are in the second and third columns. Here, we analyze the impact of one
merchant’s resetting on the average competitors’ price and the Buybox price, respectively.
The average competitor price increases by 1.09%, and the Buybox price – our proxy for the
market price – increases by 1.82%. There is thus a strong indication that resetting has the

13
Dependent Variable Bump Happened? Offer FE
(1) Own # Price Changes 1.823*** (0.343) Yes
(2) Competitor # Price Changes 0.267** (0.123) Yes
(3) Own Log Price 0.0774*** (0.010) Yes
(4) Competitor Log Price 0.0123*** (0.004) Yes
(5) Buybox Log Price 0.0194*** (0.007) Yes

Table 1: Price Resets Are Effective At Raising Opponent Prices.


Notes: This table shows the results of regression various dependent variables (one per row) on
an indicator for whether a price reset actually happened in the preceding day, using a sample of
831 products for which a price reset was configured but not always executed. Standard errors are
clustered at the offer level.

desired effect.

3.4.2 Is Resetting Strategic?

Having established that resetting can successfully raise prices, we would like to know whether
merchants think strategically about when to increase prices. In the appendix, we develop an
algorithm that can identify cycling offers and when they are reset. We now present some
descriptive and narrative evidence that there is at least some general awareness that the
exact nature of the cycle played will influence payoffs. This evidence relies crucially on
a key difference between the theoretical model in Maskin and Tirole (1988) and the data
we observe: heterogeneity of sales across time. In particular, sales generally happen when
people are awake. The fact that sales are not common at night has strategic implications for
the sellers: when sales probabilities are low, the costs of ‘resetting’ (i.e., increasing) prices
are also low. Their promotional material confirms that repricing services are aware of this:
e.g., one company promises that it “will allow you to stop automated repricing for a period
every day (normally the late evening and early morning when sales are lowest) and reset to
maximum (if preferred), as this can often help drive prices back up across all competition”
(RepricerExpress, 2018).
Given this, it is not surprising to see that resets of daily cycles do indeed occur during
the night hours when sales probabilities are lowest. Figure 5a depicts histograms of sales
(in blue, measured from the top) and reset times7 (in orange, measured from the bottom) of
approximately day-long cycles by the hour of the day. Sellers seem to reset day-long cycles
almost exclusively between 1am and 9am (Chicago time), with almost all of the mass in an
7
I define the “reset time” as the midpoint between the time at which prices are raised and the time at
which the following reaction occurs.

14
(a) The Reset Times of Daily (b) Typical Day-Long Cycle
Cycles

Figure 5: Daily Cycles.


Notes: The left figure shows the distribution of the reset times of 434,438 day-long cycles (in or-
ange; measured from bottom) and the distribution of 9,687,301 sales (in blue; measured from top)
by hour of day. Clearly, day-long cycles are almost exclusively reset at night when the overall
sales activity is lowest. The right plot shows the price (on vertical axis) of a typical offer that is
cycling daily against the date and time (on horizontal axis). The shaded regions correspond to
2AM-5AM Chicago time, and we see that during those times the offer’s price increases dramati-
cally, only to be lowered dramatically again when the next day begins.

hour-long window around 4am.


As becomes clear when taking a look at the typical day-long cycle depicted in Figure 5b,
the distinct pattern of reset timing is not the only thing that is special about day-long cycles.
These cycles also feature an ‘excessive’ amplitude: the first price decrease after the reset is
much larger than any subsequent price decreases. We would expect the decrease to be the
same at each (decreasing) step of an Edgeworth cycle. Instead, we see a significant decrease
at the first step followed by much smaller subsequent decreases.
The excessive nightly resets may be rational even though they do not yield any benefit on
equilibrium path. This is because nightly resets are essentially free from the perspective of
lost sales. At the same time, if equilibrium is perturbed, there might be a substantial benefit
to briefly raising the price by more than necessary. If a rival had also configured a maximum
price, for instance, a merchant might want a strategy that robustly raises his price to his
maximum without wanting to adjust his strategy every time his rival adjusts his maximum
price.

3.5 Summary Statistics


For those products that have at least one cycle recognized, Figure 11a depicts the distribution
of the average cycle length in hours. There are many products with cycles that take 24h on

15
(a) Distribution of Cycling Period (b) Distribution of Cycling Amplitude

Figure 6: Distributions of Cycle Summary Statistics.


Notes: The left panel shows the distribution of average cycling periods (i.e. the length of time
between resets) for all products. The right panel shows the distribution (black bars: median) of
cycle amplitude as a fraction of the maximum price separately for day-long cycles and cycles of
other period.

average, as discussed above.


We plot the distribution of the average amplitude as a fraction of the mean price of
the offer in Figure 11b. We separate out day-long cycles, which have substantially larger
amplitudes: the median (cycling) product has an average amplitude that is 25.21% of the
mean price. While other cycles have somewhat smaller amplitudes, the median for them is
still 11.06% of mean price. This is only slightly smaller than other cycles documented in the
literature: for comparison, Noel (2018) states that the typical amplitude of cycles found in
gasoline markets is “about ten percent of the price” which is also consistent with the 13%
amplitude found in Noel (2007).
We discuss how the likelihood of cycling varies with the product category in Appendix A.

4 Equilibrium in Delegated Strategies


We will model sellers as choosing between two active repricing strategies (U for undercutting
and C for cycling) and a dominated passive strategy F. Our discussion will assume that the
market starts at t = 0 with all agents choosing prices according to F – this is meant to
resemble the situation before Amazon introduced the API that made repricing possible.
Every period, one agent is allowed to update her chosen repricing technology. Agents
choose myopically, i.e., they do not anticipate the future evolution of the marketplace.
Furthermore, to mirror the heterogeneity in repricing strategies observed in the data, agents
face costs related to the complexity of the repricing technology they are choosing. In particular,

16
agents can choose one of three technologies, each of which maps a sole competitor’s price pj
into the merchant’s own price, potentially as a function of parameters (p, p) to be chosen by
the merchant:

p − k if p − k ∈ (p, p],
j j
rF (pj ) ∼ F (·), rU (pj ; p) = max{pj − k, p}, rC (pj ; p, p) =
p otherwise.

Here k is the minimum unit of currency which is also the minimum amount by which
the price can be decreased. We assume that all agents can access rF for free while the other
technologies are available at costs cU and cC . More realistically, the costs of both repricing
technologies should be declining over time: in particular, Amazon rolled out free access to
their own ‘Automate Pricing’ tool (effectively a repricing algorithm of type U ) in 2016 and
thus effectively set cU = 0.
Each period after making (or not making) their technology choice, agents are randomly
matched in pairs to list offers on the same products. At this stage, they are committed to
their technology but not to its parameters: in particular, they will play a Nash Equilibrium
in parameter choices. Thus, before discussing the dynamic evolution of repricing technology
shares, we need to discuss the within-period equilibria. For brevity’s sake, we will focus on
the pairing (U, C) in the main text; all other pairings are discussed in the appendix as they
do not lead to supra-competitive profits.8

4.1 Within-Period Equilibria


To discuss potential equilibria from the pairing (U, C) and highlight the difference to Maskin-
Tirole strategies, we begin by considering a slight modification of their original example.
There are two merchants who both produce output at marginal cost c = 0 and face industry
demand D(p) = 20 − p. As a first-order approximation of the ‘Buybox’ mechanism, we
assume9 that only the currently lower-priced seller is exposed to this industry demand; the
other seller faces zero demand. Prices must lie on a grid p ∈ N (i.e., k = 1) and can only be
changed in alternating periods: one merchant may only change prices in odd, the other may
only change prices in even periods.
8
The reader may have noticed immediately that (U, U ) pairings lead to pricing at cost; it can be
shown that this also is the case for (C, C) pairings.
9
To be clear, this assumption is wrong in the sense that we know (i) not all consumers purchase
through the Buybox and (ii) the Buybox is not infinitely price elastic (in other research, the author finds
that the price elasticity of the Buybox is around -19). Nevertheless, the assumption serves as a good ap-
proximation, and from interviews with employees of the repricing company, sellers seem to intuitively
utilize a heuristic similar to that embedded in this assumption for assessing how much demand their offer
will be exposed to.

17
Figure 7: Sample Paths under MPE vs Delegated Strategies.
Notes: This figure provides example price paths for cycling under delegated strategies (left panel)
and under Markov-perfect strategies (i.e. the Maskin-Tirole equilibrium).

In Maskin-Tirole, agents’ strategies are response functions ri (pj ), which specify the own
price as a function of the last price set by the opponent. In our setup, however, agents’
response functions are parameterized, and their strategies are the parameters of the functions;
once these parameters are chosen, the response function is implemented mechanically. In line
with our discussion above, the undercutting merchant chooses a minimum price pU , and the
cycling merchant chooses both a minimum pC and a maximum price pC .
We can perform a simple grid search to confirm that the10 equilibrium parameter choices
of the merchants are    
(pC , pC ), pU = (16, 4), 0 .

Furthermore, following Maskin and Tirole (1985) we can find an Edgeworth MPE in this
setup11 . We display simulated sample paths from our delegated strategy equilibrium (left
panel) and an Edgeworth MPE (right panel) in Figure 7. While the delegated strategies
produce a very similar cycling phenomenon, there are two key differences. Firstly, the price
never reaches marginal cost in the delegated strategy sample path. Secondly, there is no war
of attrition at the bottom of the cycle: instead, it is always the same merchant who leads the
cycle back up by resetting prices.
Both of these differences are crucially related to the restricted strategy space that our
delegated strategy model imposes: given the restrictions in the repricing interface, there is
simply no way for merchants to jump down to costs. Note that this means that agents cannot
10
Technically speaking, U has multiple options for pU but they are all payoff equivalent (see discussion
below).
11
Note that there are typically multiple Edgeworth MPEs; all of these exhibit the features we discuss.
For illustration purposes, we chose an MPE in which resets do not take too long to occur.

18
punish opponents for undercutting the cycle; indeed, because of this, the unique equilibrium
amongst C agents is to price at cost (see appendix). However, as long as the opponent plays
a simple undercutting strategy, no punishment is necessary, and a cycle can be sustained.
Given that the price path under delegated strategies avoids perhaps lengthy periods of
pricing at marginal cost, it is natural to suspect that it outperforms the MPE in terms of
profits. Indeed, with δ = 0.99 we find that while the merchants’ joint profit under MPEs is
46% of monopoly profit12 , under delegated strategies, this figure is 88%.
While this is already alarming, we will now see that the closeness of profits to monopoly
profits understates the welfare loss. To this end, we build an analytic model of the parameter
choice game. Moreover, we will make a simplifying assumption that renders the model much
more tractable: we assume that prices are moving smoothly during the decreasing phase
of the cycle. This is not true in the real world: the minimum unit of currency k ensures
that real price paths are characterized by jumps. As these jumps are small, however, we can
appeal to a first-order Taylor approximation to argue that the assumption of smooth price
paths will be accurate for sufficiently small k.
However, we cannot simply let k → 0 to arrive at our continuous approximation: doing
so would distort the incentives of the resetting agent by making resets costless in the limit.
To prevent this, we will reinterpret k as the (fixed) rate at which prices decrease during an
undercutting phase and instead let the time interval ∆ that passes between two subsequent
undercutting steps tend to zero. Thus, repricing agents undercut each other more and more
often but by smaller and smaller amounts. Furthermore, we now introduce a time penalty for
resetting prices: after increasing prices above his rival, a merchant must wait one complete
unit of time until he is allowed to reprice again.
The above discussion implies that the indirect utility from a cycle with peak u and trough
` to a resetting (non-resetting) agent is given by Vr (u, `) (Vnr (u, `)), where
Z u−k
1
Vr (u, `) = π(p)dp,
2(u − `) `
1 n Z u−k o
Vnr (u, `) = π(p)dp + 2kπ(u − k) .
2(u − `) `

Note how the parameter choices translate into the payoffs to the agents. Assuming that
pC > pC > pU (the proof verifies this holds in equilibrium), the price path will be a cycle from
u = pC to ` = pC that is reset by C. Furthermore, the cycle is not influenced by pU other
than that pU needs to be sufficiently low such that C does not have an incentive to abandon
12
Note that Maskin and Tirole show that as δ → 1, in symmetric Edgeworth MPEs both firms must
earn at least 50% of monopoly profits.

19
the cycle and simply set a constant price at pU − k. This gives us the following result:

Proposition 1. When a U agent faces a C agent, there is a continuuum of equilibria given


by n  o
∗ ∗ ∗
(p1 ), (p2 , p2 ) : p1 ≤ x , p2 = u , p2 = `

where (u∗ , `∗ ) = arg max Vr (u, `) and π(x∗ ) = Vr (u∗ , `∗ ). These equilibria all result in identical
price paths and payoffs.

Hence, in equilibrium, C can choose his preferred cycle. Which cycle he prefers is
determined by the trade-off between wanting to reset as seldom as possible and not letting
prices drift too far from the monopoly price. In particular, the shorter the cycle, the closer
profits in most periods stay to monopoly; but also the shorter the cycle, the more often there
is a period in which C must reset the cycle and hence makes no profits at all.

Proposition 2. If π 00 < 0, the solutions to arg max Vr (u, `) must satisfy the FOCs.

Mathematically speaking, we thus have that the optimal cycle is the solution to the
following system of equations:
Z u−k
1
π(u − k) = π(p)dp, (1)
u−` `
Z u−k
1
π(`) = π(p)dp. (2)
u−` `

Both (1) and (2) equate the marginal benefit of extending the cycle (LHS) to the marginal
cost of extending the cycle (RHS). The tradeoff for (2) is illustrated in Figure 8 where the
marginal benefit is shaded green and the marginal cost red (after eliminating the ‘double
counted’ section). From the FOCs, we immediately have the following two results.

Proposition 3. If π(·) is symmetric around the monopoly price pm , the average price during
the decreasing price of the cycle will satisfy pavg = pm .

Proposition 4. If π(·) is symmetric around the monopoly price pm and π̃(p) = g(π(p)) where
g 00 ≥ 0 and g 0 > 0, then `˜∗ ≥ `∗ and ũ∗ ≤ u∗ .

This is the sense in which the situation is even worse than already indicated in the
Maskin-Tirole comparison example above: in equilibrium between C and U , prices will spend
at least half of the time above the monopoly price. From a static perspective, this time is a
Pareto loss to the economy: all merchants and consumers would be better off if prices were
magically lowered. However, in a dynamic setting, keeping prices above monopoly price is a
necessary part of the tacitly collusive scheme between C and U .

20
Figure 8: The FOC for Choice of `
Notes: This figure illustrates the tradeoff that the cycling merchant faces when deciding whether
to extend the cycle by lowering the price ` at which a reset is initiated. The marginal benefit is
shaded green and the marginal is shaded red red. Here, ur = u − k.

4.2 The Evolution of the Repricing Economy


Given our discussion above of the within-period equilibrium between U and C and noting
that the equilibria between other technologies are discussed in the appendix, we can think of
the game of repricer choice as a repeated stage game with the payoffs given by Table 2, where
Z Z

Vf f = π(p)[1 − F (p)]dF (p), Vf = π(p − k)dF (p), Vnr = Vnr (u∗ , `∗ ), and Vr∗ = Vr (u∗ , `∗ ),

are the within-period payoffs that follow from our discussion of within-period equilibria above.
We further introduce cU > 0 and cC > 0 to measure the costs associated with choosing more
complex repricing strategies. Clearly Vf > Vf f but we further put a restriction on costs such
that Vf − cU > Vf f . Furthermore, we will assume that for all α ∈ [0, 1],

max{αVr∗ − cC , (1 − α)Vnr

− cU } > 0

so that it is always better to employ some type of repricer rather than just chose random
prices. Note that this implies that F is never a best response. The unique symmetric Nash
equilibrium of the game is a mixed-strategy equilibrium: both players play U with probability

Vnr + cC − cU
γ= ∗ +V∗
.
Vnr r

In this section, we will analyze the dynamic evolution of the repricing choices in an
evolutionary model. In particular, we will follow the model for the dynamic evolution of play
in general games proposed by Kandori et al. (1993) and generalized in Kandori and Rob

21
Player 2
F U C
F (Vf f , Vf f ) (0, Vf − cU ) (0, Vf − cC )

Player 1 U (Vf − cU , 0) (−cU , −cU ) (Vnr − cU , Vr∗ − cC )
C (Vf − cC , 0) (Vr∗ − cC , Vnr

− cU ) (−cC , −cC )

Table 2: Repricer Choice Stage Game Payoffs.


Notes: This table provides the payoffs to the repricer choice stage game: e.g., if P1 has a fixed
price strategy (F) and P2 has an undercutting strategy (U), the payoff to P1 will be 0 and the
payoff to P2 will be Vf − cU .

(1995). The key assumptions of these papers are threefold: firstly, there is inertia, i.e., agents
only adjust to best responses slowly. Secondly, agents are fundamentally myopic in that they
best respond to the current distribution of strategies in the population but do not anticipate
the future evolution of strategy shares. Finally, there is a small probability that agents make
a (random) mistake in their strategy choice.
Given these assumptions, the dynamic evolution of play can be understood as a Markov
process on the state space in which a state is a triplet (nF , nU , nC ) describing how many players
are playing each of the three strategies. For a given error rate , denote the corresponding
Markov transition matrix by P (). As KMR emphasize, P () is aperiodic and irreducible,
and hence we know from standard Markov theory that there exists a unique stationary
distribution µ() such that µ()P () = µ(). Furthermore, for any initial distribution q over
the state space, we have that limt→∞ qP ()t = µ(), i.e. the stochastic process will converge
to the stationary distribution from any starting point.
With a positive error rate , naturally the stationary distribution µ() will put positive
probability on all possible states. We are more interested in what happens as the error rate
tends to zero. KMR show that in this case the stationary distribution converges to a unique
limit µ∗ . Returning to the game described in Table 2, we have the following trivial extension
of KMR’s Theorem 5:

Proposition 5. Suppose that in each period only one player is allowed to adjust their strategy.
Then the limit distribution puts probability 1/2 on (0, bγN c, N − bγN c) and probability 1/2
on (0, dγN e, N − dγN e).

Corollary 1. The mean price under the limit distribution is given by

p∞ = [1 − 2γ(1 − γ)]c + 2γ(1 − γ)pm ,

where pm is the monopoly price and c is the unit cost.

22
Figure 9: The Third-Party Marketplace Adjusts After Introduction of Repricers
Notes: This figure illustrates the mean adoption paths of the three possible repricing strategies
(left panel) and the resulting path of mean prices.

Thus, no matter at which repricing strategy shares we start, the economy will eventually
converge to a mix of U and C agents. This mix naturally pins down the mean price. Typically
(e.g., if agents were close to pricing at Bertrand-Nash before the introduction of repricers), the
mean price at the stationary distribution will be higher than the initial mean price. However,
the extent to which prices increase is limited by the existence of a coordination problem:
given the current strategy space, cycling can only be achieved by pairs of undercutters and
cyclers.
Staying with the evolution of the mean price for the moment, there is another interesting
and perhaps surprising result: the transitional dynamics are far from monotone.

Proposition 6. If p∞ > p0 and both N and cC − cU are sufficiently high, then prices will
first increase, then decrease and then increase again. Furthermore, prices will dip below the
initial price.

Thus, even when the mean price is currently decreasing due to the introduction of repricers
into the marketplace, such a decrease might merely pave the way for future price increases.

4.3 Simulation
To illustrate the evolution of the repricing economy, we simulate the KMR Markov Process. In
particular, we fix cU = 50, cC = 800, F (p) ∼ U [0, 10] and let π(p) = (100 − p)p. Then it can
be verified that Vf f ≈ 158.33, Vf ≈= 465.767, Vr (u∗ , `∗ ) ≈ 1246.48 and Vnr (u∗ , `∗ ) ≈ 1248.82.
We fill in these values in the payoff matrix above, set the error probability to  = 0.01 and
draw 100 paths simulated from the KMR Markov process for N = 50 players.
The resulting mean sample paths are depicted in Figure 9. The evolution of the repricing
economy follows an intuitive pattern. Initially, the undercutting strategy is the most attractive

23
to agents: their main competitors are fixed pricers which can easily be beaten with this strategy.
However, as undercutters become more common, a problem emerges: when undercutters
are matched against each other, they quickly compete down to costs and then stay there.
We soon see agents switching to cycling strategies to avoid this issue: these strategies allow
agents to extract rent both when competing with undercutters and when competing with
fixed price agents. However, a key problem of the cycling strategy is that it does not perform
well against another cycler. As discussed above, this is because of the cycling strategy’s
inability to punish an opponent that prices below the intended cycle. This inability ensures
that we see the market converging to a mix of undercutting and cycling strategies in the
medium run.
Finally, the example satisfies the conditions of Claim 5 above: and indeed, in the right
panel of Figure 9 the mean price dips briefly after initially increasing, only to shoot up
eventually.

4.4 Empirics
The above discussion suggests that repricing may initially increase welfare; however, if
undercutting turns into cycling, prices will increase, and welfare will decrease. So did cycling
increase over time? We employ historical data from Keepa13 to answer this question. The
advantage of the Keepa data is that it extends back to 2011 (as opposed to our proprietary
data that extends only to 2018).
The dataset we employ consists of the entire price history of the 10,000 best-selling
products (as of July 2019). We employ our price war and cycle recognition algorithms for
each year and product separately to generate a dataset at the product-year level. We then
run regressions of various measures of interest on product-fixed effects and year dummies, i.e.

yit = αt + βi + it

where αt is a set of year dummies and βi is a set of product fixed effects. We report the
coefficients on the year dummies in Figure 10. The dashed grey line marks the introduction
of the Amazon MWS subscription API, which allows repricers to subscribe to pricing change
notifications. As we can see in the figure, the number of price wars and the number of cycles
have increased dramatically over time after MWS API’s introduction.
13
Keepa is a company providing API access to scraped data from Amazon Marketplace. We empha-
size that this dataset is different from the data employed in the rest of the paper (which does not span
sufficiently far backwards in time to answer the question we are interested in answering in this section).

24
Percentage of Products With Any Price War Percentage of Products With Any Cycles

.3

.25
Percentage of Products With Any Price War

Percentage of Products With Any Cycles


.2
.2

.15
.1

.05 .1
0

0
-.1

2011 2012 2013 2014 2015 2016 2017 2018 2011 2012 2013 2014 2015 2016 2017 2018

Figure 10: The Secular Increase in Price Wars and Cycling.


Notes: This figure illustrates how both cycling and price wars have increased since Amazon in-
troduced the Subscription API in2013. Each panel plots the coefficient and standard errors (clus-
tered at the product level) from regressing a measure of cycling or price wars on product fixed-
effects and year fixed-effects.

5 Conclusion
This paper has employed unique high-frequency e-commerce data, a novel algorithmic cycle-
recognition approach, and a model of equilibrium in delegated strategies to argue that
automated repricing on e-commerce platforms may have profound welfare implications. First,
we provided evidence that when a merchant starts repricing, he is likely to substantially lower
his prices by essentially undercutting the lowest price in the market by the smallest possible
amount. Second, in an attempt to avoid the stark Bertrand-Nash competition that emerges
when multiple such ‘undercutting’ merchants meet, repricing companies have developed
‘resetting’ strategies that regularly raise the price if it has fallen below some value. Finally,
exploiting the fact that our source repricing company sometimes becomes overwhelmed with
the number of scheduled repricing requests (and hence fails to execute some), we found
evidence that these resetting strategies effectively raise opponents’ prices.
The resetting strategies create cycles reminiscent of Maskin-Tirole’s Edgeworth cycles.
However, while the theoretical literature has focussed on the possibility of Edgeworth cycles
emerging as Markov-Perfect equilibria, we provide evidence that the cycles on Amazon are
better understood as an equilibrium in delegated strategies. Thus, the chosen prices are not
necessarily optimal in each period. Indeed, cycles are reset either when the price reaches a
pre-specified level (with no war of attrition) or at a particular time of the day (particularly
at night). Furthermore, the interfaces in which merchants have to enter their pricing rules
allow only these kinds of resets, effectively making it impossible to implement Maskin-Tirole

25
strategies.
To what extent can delegated cycling strategies be sustained in equilibrium? To answer this
question, we built a model of equilibrium in delegated strategies. We find that miscoordination
between cyclers and undercutters is a critical ingredient in sustaining cycling. Nevertheless,
in an evolutionary model, the market can support a stable mix of these two strategies in
equilibrium. Thus, the required miscoordination remains plausible as a long-run outcome.
Furthermore, our model predicts that even though the introduction of repricing strategies
may initially lower prices, it can dramatically increase prices in the long run. Crucially, unlike
Maskin-Tirole, our model suggests prices are not anchored by the need for a war of attrition
at marginal cost. Instead, firms choose the cycle such that the average price is close to a
monopolist’s price.
Finally, in Appendix F we take our stylized theoretical model to the data. We compare
the two hypotheses of Bertrand-pricing and “delegated strategy”-pricing by evaluating their
performance in predicting held-out self-reported cost data; the delegated strategy model
performs significantly better. We calculate welfare under both the observed price path and
three counterfactuals: competitive pricing, monopoly pricing, and ‘always cycling’ pricing.
Our results suggest that merchants playing an equilibrium in delegated strategies set prices
in a way that is about as damaging to welfare as pricing at monopoly price would be. To the
extent that price-monitoring and menu costs can be expected to drop in other industries just
as they have dropped in e-commerce, these results suggest that the quality of competition in
those industries may drop in the future.

26
References
Albaek, S., P. Mollgaard, and P. B. Overgaard (1997, December). Government-Assisted
Oligopoly Coordination? A Concrete Case. Journal of Industrial Economics 45 (4), 429–443.

Amazon (2018, April). Annual Report: 2017. Technical report.

Assad, S., R. Clark, D. Ershov, and L. Xu (2020). Algorithmic pricing and competition:
Empirical evidence from the German retail gasoline market.

Bank, E. C. (2004, April). How Frequently Do Prices Change? Evidence Based on the Micro
Data Underlying the Belgian CPI. pp. 1–74.

Berry, S., J. Levinsohn, and A. Pakes (1995, July). Automobile Prices in Market Equilibrium.
Econometrica 63 (4), 841–890.

Blundell, R., R. Griffith, and J. Van Reenen (1999, July). Market Share, Market Value
and Innovation in a Panel of British Manufacturing Firms. The Review of Economic
Studies 66 (3), 529–554.

Brown, Z. and A. McKay (2020). Competition in pricing algorithms. papers.ssrn.com.

Calvano, E., G. Calzolari, V. Denicolo, and S. Pastorello (2020). Artificial intelligence,


algorithmic pricing, and collusion. American Economic Review 110 (10), 3267–3297.

Chevalier, J. and A. Goolsbee (2003). Measuring Prices and Price Competition Online:
Amazon.com and BarnesandNoble.com. Quantitative Marketing and Economics 1 (2),
203–222.

Correia, S., P. Guimaraes, and T. Zylkin (2019, March). Verifying the existence of maximum
likelihood estimates for generalized linear models. pp. 1–47.

De Los Santos, B., A. Hortaçsu, and M. R. Wildenbeest (2012, October). Testing Models
of Consumer Search Using Data on Web Browsing and Purchasing Behavior. American
Economic Review 102 (6), 2955–2980.

DellaVigna, S. and M. Gentzkow (2019, 06). Uniform Pricing in U.S. Retail Chains. The
Quarterly Journal of Economics 134 (4), 2011–2084.

Eckert, A. (2003, February). Retail Price Cycles and the Presence of Small Firms. International
Journal of Industrial Organization 21 (2), 151–170.

27
Edgeworth, F. (1925). The Theory of Pure Monopoly. Papers relating to political economy 1.

Ellison, G. and S. F. Ellison (2009). Search, Obfuscation, and Price Elasticities on the
Internet. Econometrica 77 (2), 427–452.

Gandhi, A., Z. Lu, and X. Shi (2017, April). Estimating Demand for Differentiated Products
with Zeroes in Market Share Data. pp. 1–66.

Green, E. J. and R. H. Porter (1984, January). Noncooperative Collusion under Imperfect


Price Information. Econometrica 52 (1), 87.

Kandori, M., G. J. Mailath, and R. Rob (1993, January). Learning, Mutation, and Long
Run Equilibria in Games. Econometrica 61 (1), 29–56.

Kandori, M. and R. Rob (1995, April). Evolution of Equilibria in the Long Run: A General
Theory and Applications. Journal of Economic Theory 65 (2), 383–414.

Lancaster, T. (2002, July). Orthogonal Parameters and Panel Data. The Review of Economic
Studies 69 (3), 647–666.

Leufkens, K. and R. Peeters (2011, January). Price Dynamics and Collusion Under Short-Run
Price Commitments. International Journal of Industrial Organization 29 (1), 134–153.

Levy, D., M. Bergen, S. Dutta, and R. Venable (1997, August). The Magnitude of Menu
Costs: Direct Evidence From Large U. S. Supermarket Chains. The Quarterly Journal of
Economics 112 (3), 791–825.

Maskin, E. and J. Tirole (1985). A theory of dynamic oligopoly.

Maskin, E. and J. Tirole (1988). A Theory of Dynamic Oligopoly, II: Price Competition,
Kinked Demand Curves, and Edgeworth Cycles. Econometrica 56 (3), 571.

Milgrom, P. and J. Roberts (1990, November). Rationalizability, Learning, and Equilibrium


in Games with Strategic Complementarities. Econometrica 58 (6), 1255–1277.

Noel, M. D. (2007, March). Edgeworth Price Cycles: Evidence from the Toronto Retail
Gasoline Market. The Journal of Industrial Economics 55 (1), 69–92.

Noel, M. D. (2008, June). Edgeworth Price Cycles and Focal Prices: Computational Dynamic
Markov Equilibria. Journal of Economics & Management Strategy 17 (2), 345–377.

Noel, M. D. (2018). Edgeworth Price Cycles. In The New Palgrave Dictionary of Economics,
pp. 3463–3468. London: Palgrave Macmillan, London.

28
Popescu, D. (2015). Repricing Algorithms in E-Commerce. SSRN Electronic Journal .

Quan, T. W. and K. R. Williams (2018, September). Product variety, across-market demand


heterogeneity, and the value of online retail. RAND Journal of Economics 49 (4), 877–913.

RepricerExpress (2018). Repricer Express Front Page. https://www.repricerexpress.com/.


Accessed: 2018-10-18.

Rotemberg, J. J. and G. Saloner (1986, June). A Supergame-Theoretic Model of Price Wars


during Booms. The American Economic Review 76 (3), 390–407.

Ruddick, G. (2015, October). Tesco’s Price Promise replacement could be a game-changer,


say analysts. The Guardian.

Schlosser, R. and M. Boissier (2017, September). Optimal Price Reaction Strategies in the
Presence of Active and Passive Competitors. In 6th International Conference on Operations
Research and Enterprise Systems, pp. 47–56. SCITEPRESS - Science and Technology
Publications.

Wang, Z. (2009a, December). (Mixed) Strategy in Oligopoly Pricing: Evidence from Gasoline
Price Cycles Before and Under a Timing Regulation. Journal of Political Economy 117 (6),
987–1030.

Wang, Z. (2009b, October). Station Level Gasoline Demand in an Australian Market with
Regular Price Cycles. Australian Journal of Agricultural and Resource Economics 53 (4),
467–483.

Wooldridge, J. M. (1999, May). Distribution-free estimation of some nonlinear panel data


models. Journal of Econometrics 90 (1), 77–97.

Zhang, X. (2005). Finding Edgeworth Cycles in Online Advertising Auctions. Mimeo.

A Cycling by Category
Finally, we can see in Figure 11 that some product types are more likely to cycle than others.
Furthermore, the product categories that are more likely to cycle generally match categories
over-represented in our repricer-sourced product sample.
What factors influence the likelihood of cycling? Recall from Noel (2008) that cycling
seems to be easier to maintain if there are high own-price elasticities and weak capacity

29
constraints. This aligns well with our findings. In particular, while ‘small’ items such as
books or DVDs (with negligible storage costs and hence capacity constraints) cycle often,
appliances (which take up more space) cycle much less frequently.
There is, however, one additional factor relative to Noel (2008) that influences cycling
propensity in our data: the extent to which the relevant competition for a product are
other offers on the same product on the same platform. For instance, books are not very
substitutable with each other. The relevant competition for booksellers then is other merchants
making offers on the same book. Furthermore, customers expect Amazon to offer reasonable
prices on books, and hence comparison shop only infrequently. Thus, the relevant competition
is merchants making offers on the same book on the same platform. But it is precisely these
merchants for which pricing according to strategies like those employed by the repricer is
feasible: if the relevant competition included offers on a set of products on the same platform
that were close substitutes, Amazon’s API would not provide the merchants with access to
the required monitoring technology to effectively implement their strategies14 . This may
provide a further reason why big-ticket items (like Electronics and Appliances) are less likely
to cycle: customers are more likely to comparison-shop for these items, thereby ensuring that
offers by merchants on other platforms – offers, i.e., for which Amazon’s API provides no
information15 – must be considered amongst the main competitors.

B Proofs
Proposition 1. When a U agent faces a C agent, there is a continuuum of equilibria given
by n  o
(p1 ), (p2 , p2 ) : p1 ≤ x∗ , p2 = u∗ , p2 = `∗

where (u∗ , `∗ ) = arg max Vr (u, `) and π(x∗ ) = Vr (u∗ , `∗ ). These equilibria all result in identical
price paths and payoffs.

Proof. Without loss of generality, refer to the undercutter as player 1. We proceed by ruling
out equilibria in cases.
14
It should be noted that some repricers have started offering ‘cross-product’ repricing, but the tech-
nique seems not to have caught on, not least because under the API rules the merchant needs to at least
pretend to be selling each product for which he wants to obtain regular pricing information – and being
caught creating ‘fake’ offers can be extremely costly.
15
As of April 2019, Amazon has started providing some information about what it currently considers
to be competitive prices for a given product on other platforms through its API, but this data is naturally
lower quality than the data on its own offers. However, it may be possible for repricers to maintain cross-
platform cycles in the future.

30
(a) Average (b) Distribution Conditional On Not Zero

Figure 11: Fraction of Time Cycling By Product Category.


Notes: We compute the fraction of time spent in cycles (averaged across all offers for a product,
and across products). The left panel shows the mean fraction of time spent cycling and the right
panel shows the product-level distribution of time spent cycling conditional on there being at
least one cycle.

• If p2 ≥ p2 , then p2 ≡ p2 , p1 ≡ p2 − k and player 2 could improve their payoff by setting


p2 = 0.

• If p1 > p2 , then π1 ≡ 0 and she could improve her profits by setting p1 = 0.

• So suppose p2 > p2 > p1 . Then note that P 1’s choice of p1 (subject to the case
constraints) does not influence her payoffs; so she is indifferent. Given p1 , P2 can choose
between setting p2 = p2 = p1 − k for a profit of π(p1 − k) or choosing the optimal cycle
for a value of maxu,` Vr (u, `).

Proposition 2. If π 00 < 0, the solutions to arg max Vr (u, `) must satisfy the FOCs.

Proof. The determinant D of the Hessian of Vr (·, ·) satisfies

−D ∝ [π(`) − π(u − k)]2 + 2(u − `)[π 0 (`)A1 − π 0 (u − k)A2 ] + (u − l)2 π 0 (`)π 0 (u − k),

1
R u−k 1
R u−k
where A1 = u−` `
π(p)dp − π(u − k) and A 2 = u−` `
π(p)dp − π(`). By the FOCs,
A1 = 0 and A2 = 0. Furthermore, π(`) = π(u − k) directly from the FOCs. Thus, imposing
that ` < pm < u − k and using the concavity of π we have that D > 0. Finally, note that

∂ 2 Vr u−` 0
2
∝ A1 + π (u − k) < 0.
∂u 2

31
Proposition 3. If π(·) is symmetric around the monopoly price pm , the average price during
the decreasing price of the cycle will satisfy pavg = pm .

Proof. From the FOCs, π(u − k) = π(`). As π is symmetric around pm ,

pm − ` = (u − k) − pm .

Proposition 4. If π(·) is symmetric around the monopoly price pm and π̃(p) = g(π(p)) where
g 00 ≥ 0 and g 0 > 0, then `˜∗ ≥ `∗ and ũ∗ ≤ u∗ .

Proof. By Jensen’s inequality


u−k Z u−k
u−k−` 
Z
1   1 
g π(p) dp ≥ g π(p)dp
u−` ` u−` u−k−` `
 1 Z u−k 
≥ g π(p)dp
u−` `
= g(π(u − k)) = g(π(`)).

Thus either ` must increase or u decrease, and as π̃(·) will also be symmetric around the
same pm we thus have that both ` must increase and u decrease.

Proposition 5. Suppose that in each period only one player is allowed to adjust their strategy.
Then the limit distribution puts probability 1/2 on (0, bγN c, N − bγN c) and probability 1/2
on (0, dγN e, N − dγN e).

Proof. In the notation of KMR: as F is never a best response, we have vz ≥ 1 for any
z = (nF , nU , nC ) such that nF > 0. However, as in KMR, z = (0, γN, (1 − γ)N ) is a global
attractor for any b(·) and thus vγN = 0.

Corollary 1. The mean price under the limit distribution is given by

p∞ = [1 − 2γ(1 − γ)]c + 2γ(1 − γ)pm ,

where pm is the monopoly price and c is the unit cost.

Proof. This follows trivially as in equilibrium exactly fraction γ of repricers are playing U
and 1 − γ are playing C. The price is c whenever U and U or C and C meet, and it is pm (on
average) when C and U meet.

32
Proposition 6. If p∞ > p0 and both N and cC − cU are sufficiently high, then prices will
first increase, then decrease and then increase again. Furthermore, prices will dip below the
initial price.

Proof. Suppose αi is the fraction of the population playing strategy i. As long as


αC Vnr − cU > αU Vr∗ − cC ,

the best-response to the population distribution of strategies will be U. Note that initially,
αF = 1 and hence this inequality must be satisfied as  → 0. Furthermore, the inequality will
keep being satisfied as long as
cC − cU
αU < αU∗ ≡ .
Vr∗
But when the economy hits this boundary, the mean price will be given by

E[pt ] = (αU∗ )2 × 0 + 2αU∗ (1 − αU∗ )E[p̃] + (1 − αU∗ )2 E[min{p̃1 , p̃2 }].

This will be lower than the starting price as long as

2αU∗ − (αU∗ )2 E[p̃]


∗ ∗ 2
> ,
2αU − 2(αU ) E[min{p̃1 , p̃2 }]

which will be the case if the costs of the repricing types are sufficiently different relative to
the size of the support of the fixed pricers prices.

C Omitted Stage Game Equilibria


Proposition 7. The unique equilibrium amongst undercutting agents is given by p1 = p2 = 0.

Proof. As we have 

 π(p ) if pi < pj ,
 j

ui (pi ; pj ) = 0.5π(p ) if p = p ,
 j i j


0 pi > pj ,

the BR correspondence is is given by

BRi (pj ) = [0, pj ).

33
Proposition 8. If k is sufficiently small, the unique equilibrium amongst two resetting agents
is given by    
(p1 , p1 ), (p2 , p2 ) = (0, 0), (0, 0) .

Proof. We proceed in multiple steps.

• If pi ≥ pi > 0, then pi ≡ pi whence the best response is to set pj = pj = pi − k. Hence,


this cannot be part of an equilibrium.

• If pi > pj , then pj ≡ pj whence the best response is to set pi = pi = pj − k. Hence, this


cannot be part of an equilibrium.

• If pi > pj > pi > pj , then note that player i is choosing the lower end of the cycle and
∂Vr (pj ,pi )
his choice pi must hence satisfy ∂pi
= 0, i.e.

Z pj −k
1
π(pi ) = π(p)dp. (3)
pj − pi pi

To ensure that player j does not have a profitable deviation to pj = pj = pi − , we


must have that Vnr (pj , pi ) ≥ π(pi ). Using (3), this simplifies to

Vnr (pj , pi ) ≥ 2Vr (pj , pi ).

As limk→0 Vnr (pj , pi ) = Vr (pj , pi ) this condition must be violated for sufficiently small k.

• If pi > pj > pj > pi , then note that player j is resetting the cycle and also choosing the
upper end of the cycle. This can never be part of equilibrium as the resetting party has
a strictly higher incentive to extend the cycle upwards:
Z u−k
∂Vre (u) ∂Vnr
e
(u) 1
− ∝ − π(p)dp + π(u − k)
∂u ∂` 2(u − `) `
 1 n Z u−k o 
− − π(p)dp + 2kπ(u) + [π(u − k) + 2kπ 0 (u)]
2(u − `) `
∝ 2k[π(u) − (u − `)π 0 (u)] > 0

34
D Cycle Recognition
This paper differs from past literature on cycling first and foremost in the size of the data
available to us. While previous studies have typically conducted targeted data collection in
small numbers of markets, our approach employs a large quantity of data on prices across
thousands of markets on an e-commerce platform. To make things worse, due to the low setup
costs involved, competition in e-commerce is subject to frequent entry and exit – phenomena
that can suddenly interrupt cycling behavior.
Given these complications, we will require a machine-legible definition of a cycle to have
a chance at analyzing cycling in this data. Any attempt at hand-coding cycling behavior is
doomed to failure. Choosing a fixed definition of cycling makes the classification problem
feasible and has the further benefit of disciplining the analysis by forcing us to use consistent
criteria across markets. As we have the luxury of a large amount of data, we will choose
to minimize the number of false positives by providing a rather strict definition of cycling
behavior.

Definition 1. A sequence of prices between two local maxima is deemed a cycle if and only if

1. the price is strictly decreasing between the local maxima,

2. the reaction time never exceeds 10x the average,

3. the distance between maxima is at most 40% of the amplitude,

4. the distance between minima is unconstrained, and

5. there are at least 7 steps in the cycle.

These criteria will be relaxed by 2% with each consecutive cycle, but the relaxation will top
out when the criterion is multiplied by 5. Furthermore, we will only keep cycles that are part
of a run of at least four cycles.

To illustrate which type of behavior this definition captures (and which it fails to capture),
we provide an example in Figure 12. The blue line indicates the landed price for a given offer,
and a green backdrop indicates periods that the algorithm identifies as cycling. We can see
that while the offer is identified as cycling most of the time, there are some exceptions: e.g.,
at 9 AM on August 29, the offer drops almost all the size of the cycle in just one step. The
classification algorithm expects each cycle to have at least seven steps and hence considers
this anomaly indicative of an end to cycling. More realistically, perhaps, Amazon’s servers
were unusually busy and hence delayed in notifying the repricer of the usual regular price

35
Figure 12: Output of The Cycle Recognition Algorithm.
Notes: This figure illustrates the output of the cycle recognition algorithm using an example price
path. The periods shaded in green are declared to be ones in which the offer is cycling by the
algorithm.

changes. Less obviously, the same problem occurs on August 31 (the cycle briefly takes six
rather than seven steps). As we can see, the algorithm’s cautious approach leads to many
false negatives but also heavily restricts the rate of false positives. Furthermore, as we can
see, e.g., on August 30 in the Figure, the algorithm does not consider comparatively long
stops at the bottom of the cycle evidence against cycling: this is important because we want
to avoid ruling out a war of attrition ex-ante.
Having classified individual offers as cycling or not cycling during a specific period, we can
exploit the fact that cycling is competitive behavior to validate and refine our classification
algorithm. According to theory, we should never observe merchants cycling independently: if
there is any cycling, there should always be at least two cycling merchants. This fact helps us
verify to what extent the classification algorithm is misled by noise: when fooled in this way,
the probability of observing a cycle in one offer would be conditionally independent of that
of observing a cycle in another offer on the same product. Reassuringly, this independence
hypothesis is soundly rejected by our data: we find that there is precisely one offer that is
cycling 2.58% of the time. However, conditional on there being at least one cycling offer, the
probability that there are two cycling offers is 26.38%.
Keeping in mind that we do not observe all offers in all cases (we only see the top twenty
offers), these figures suggest that the algorithm picks up mostly actual cycling even though it
is inevitably picking up a fair amount of noise along the way. To cut down on this noise, we
refine the algorithm by eliminating any identified cycles during times when we observe only a
single merchant cycling.

36
E Additional Figures

800
600
Frequency
400200
0

01apr2019 01jul2019 01oct2019 01jan2020 01apr202


Date

Figure 13: Distribution of Repricer Activation Events


Notes: This figure illustrates distribution of repricer activation events used in the estimation of
the repricer activation RDD.

F Model Validation
As the descriptive evidence on cycles in the data supports our hypothesis that repricing
on Amazon is best described as an equilibrium in delegated strategies, we now move on to
perform structural estimation. Most importantly, we want to perform a validation exercise:
our model suggests that agents caught in cycles should be (approximately) cycling near the
monopoly price. To confirm this hypothesis, we will first estimate demand at the product
level and then invert the first-order conditions for equilibrium in delegated strategies to find
the costs that would rationalize observed behavior. We then examine model fit by comparing
these predicted costs against held-out cost data.

37
Prices Buybox Prices
0

0 −.01
−.02

Log Buybox Price


−.02
Log Price

−.03
−.04

−.04
−.06

−.05
−20 0 20 40 60 80 −20 0 20 40 60 80
Days Since Repricer Activated Days Since Repricer Activated

Buybox Share Profits


.28

.8
.6
.26

Log(Profits + 1)
Buybox Share

.4
.24

.2
.22

−20 0 20 40 60 80 −20 0 20 40 60 80
Days Since Repricer Activated Days Since Repricer Activated

Figure 14: Long-Term Impact of Repricing.


Notes: This figure extends the RDD results from the main paper to show the long-term trends
that follow the activation of the repricer. Results from RDD around Repricer activation using
transition of 4 048 offers by 88 merchants from non-repricing to repricing. The light-gray area
indicates time during which treatment status cannot be ascertained due to sampling frequency.

38
F.1 Demand Estimates
To invert observed prices to costs, we require estimates of consumers’ price sensitivity. We
will continue to maintain the assumption that consumers only consider the offer currently in
the Buybox. Thus, our goal will be to estimate product-level demand: i.e. if a given offer was
the only available offer for a product (and hence in the Buybox by default), what demand
elasticity would this offer face?
In this section, we will find estimates of this elasticity. However, before we proceed to
estimation, we must briefly discuss why our data is not well-suited for the standard tools of
demand estimation that build on Berry et al. (1995). We are plagued by an extreme version
of the excess zeros problem: as sales probabilities are extremely low for most products we
observe, empirical market shares cease to be good proxies for sales probabilities complicating
identification in a BLP-style framework. In particular, as argued in Gandhi et al. (2017) the
standard BLP estimator is not defined for zero market shares, and classic ad-hoc fixes (e.g.,
dropping zero observations) lead to elasticity estimates severely biased towards zero.
While both Gandhi et al. (2017) and Quan and Williams (2018) suggest potential remedies
for excess zeros, neither of them can address the second problem we face: instead of observing
the universe of products for sale on Amazon (which measures about 564 million), we only
observe a 0.05% slice. Furthermore, the selection of products that we observe is rather
haphazard because we do not simply observe all products in one category. Due to this
data limitation, there is little hope of identifying cross-elasticities and substitution patterns
between products as it is extremely unlikely that our sample includes products that are close
substitutes.
However, we have argued above that by far the most relevant competition for the merchants
we observe are other merchants listing offers on the same products. Indeed, if this were not
the case, the repricing software would be useless as it can only gather information on other
offers made on the same product. This suggests estimating a ‘reduced-form’ market demand
relationship in which the demand for a given product only depends on the price of that
product (and not on the price of other, closely related products). In doing so, we effectively
subsume all other products the consumer may be considering when arriving at a product
page into a single outside option. Thus, we abstract away from inter-product competition to
focus on the intra-product competition that is the paper’s main theme.
As our data feature many periods of zero sales, it is natural to specify a joint model of
customer arrival and purchase decisions to avoid attributing all zero sales to utility shocks.
In particular, we will assume that customers arrive at an exogenous Poisson rate λt that
might depend on the time of the day. Furthermore, upon arrival each customer i learns the

39
price of pjt of product j at time t as well as her own utility shock ijt ∼ Exponential(1). She
purchases the product if
αj + ijt − βj log pjt > 0,

where we have normalized the expected utility of the outside option.


Mathematically speaking, sales are the sum of k Bernoulli trials with success probability
exp(αj − βj log pjt ) where k ∼ Poisson(λt ). To simplify, we employ the following lemma:

Lemma 1. If X ∼ Poisson(λ) and Y ∼ Binomial(X, p), then Y ∼ Poisson(λp).

Thus, sjt ∼ Poisson(λt exp(αj − βj log pjt )) whereby we have

log(E[sjt ]) = log(λt ) + αj − βj log pjt . (4)

Before we move on to estimation, we must discuss three complications. First and foremost,
there is the well-known endogeneity problem: prices are determined in equilibrium between
supply and demand, and hence naively running (4) will estimate neither the slope of demand
nor the slope of supply. To address this issue, we follow DellaVigna and Gentzkow (2019) in
assuming that controlling for product-week fixed effects is sufficient in taking care of demand
endogeneity because price reacts to demand shocks only slowly. While such an assumption
may be hard to justify more generally, our setting makes it very plausible: repricing naturally
introduces short-term pricing variation that is driven by competitive considerations (and
hence exogenous to demand).
The next issue arises because our data does not include information on customers who
visited product websites but decided against purchasing the product: λjt is unobserved.
However, if we assume λjt ≡ 1 we run into the problem of daily cycles: some merchants
explicitly reset prices at night when they know sales are low. Thus, omitting the variation
in customers’ arrival rate will lead us to conclude that demand is more price elastic than
it is. To guard against this objection, we employ the comScore dataset (previously used
by De Los Santos et al. (2012)), which records browsing histories for a large representative
sample of the US population. We use the average arrival to Amazon as a whole at a given
hour of the week in the comScore data to proxy the arrival rate, effectively assuming that
λjt ≡ λt .
Finally, we are interested in the market demand curve, not the individual firm’s residual
demand curve. Our working assumption is that a firm that manages to obtain the Buybox
is exposed to all market demand, and hence our estimates should employ data only from
periods in which the firms we observe are in the Buybox. However, we only observe Buybox
status at the time of price changes and the actual (unobserved) Buybox status is in constant

40
flux. Thus, instead of merely subsetting to those periods in which our merchant is recorded
as being in the Buybox, we employ a Poisson model to predict Buybox share r̂jt and flexibly
allow demand elasticity to depend on Buybox status; we only report the implied elasticity
for merchants in the Buybox. In other words, we run the model

log(E[sjt ]) = log(λt ) + αj − βj r̂jt log pjt − βj0 (1 − r̂jt ) log pjt + γr̂jt . (5)

and report βj (but not βj0 ).


We use hourly observations16 on prices and sales to run (4). Crucially, by running (4)
as a Poisson model, we sidestep the issue of excess zeros as we never have to compute
the logarithm of sales. Furthermore, as argued in Wooldridge (1999), the consistency and
asymptotic normality of the fixed-effects Poisson estimator exclusively rely on the correct
specification of the conditional mean. In particular, as established independently by Lancaster
(2002) and Blundell et al. (1999) and in contrast to some other non-linear models, there is no
incidental parameters problem in Poisson FE estimation.
However, there exists a strictly technical existence problem in Poisson models: some
products may not see any demand and hence the likelihood keeps increasing as α̂j → −∞.
As demonstrated by Correia et al. (2019) this issue is purely technical in the sense that
estimates exist in an adequately compactified domain. Nevertheless, the fact that for some j,
α̂j ≈ −∞ suggests that more extensive pooling of demand data is needed when estimating
the scale of demand parameters αj . We detail in the appendix how we employ additional
information on sales ranks (which are less volatile) to perform this pooling and get a more
reliable estimate of the ‘baseline’ attractiveness of each product in our data.

F.1.1 Results

The results of the estimation can be found in Table 3; we provide results employing detailed
category-level fixed effects (1), product-level fixed effects (2), and product-week fixed effects
(3). While employing only detailed category-level fixed effects17 allows us to exploit cross-
sectional variation in identifying price elasticities (and hence yields smaller standard errors),
this approach is subject to a potential omitted variable bias. In particular, unobserved product
quality may be correlated with prices, leading us to underestimate the true elasticities. The
richness of our data allows us to mitigate this issue by introducing product-level fixed effects
in (2): and indeed, we see that nearly all estimated elasticities sharply increase when we do so.
Finally, as discussed above, we are worried about price endogeneity with respect to demand
16
We aggregate our observations to hourly resolution by using the time-weighted mean price and sales.
17
An example category employed is ‘Christian Books’.

41
(1) (2) (3) (4)
Category Coeff. Std. Err. Coeff. Std. Err. Coeff. Std. Err. Coeff. Std. Err.
Beauty & Personal Care -0.92*** (0.1434) -1.50*** (0.4209) -1.77*** (0.4427) -1.60*** (0.4560)
Books -0.76*** (0.0596) -3.11*** (0.3880) -4.65*** (0.3837) -3.23*** (0.3630)
Clothing, Shoes & Jewelry -0.53*** (0.0674) -2.52*** (0.2134) -2.57*** (0.1731) -2.10*** (0.1715)
Grocery & Gourmet Food -0.87*** (0.1631) -0.89** (0.4351) -0.77 (0.5577) -0.56 (0.4936)
Health & Household -0.27** (0.1187) -0.63*** (0.1459) -0.56*** (0.1540) -0.35* (0.1933)
Home & Kitchen -0.58*** (0.1777) -1.36*** (0.4150) -0.59 (0.3972) -0.42 (0.2938)
Office Product 0.29 (0.4429) -0.75 (0.6311) -1.49*** (0.5420) -1.41*** (0.4716)
Patio, Lawn & Garden -0.27** (0.1176) -0.20 (0.2088) -0.19 (0.1501) -0.24* (0.1333)
Sports & Outdoors -0.61*** (0.1081) -2.24*** (0.2385) -2.48*** (0.2934) -1.88*** (0.2595)
Tools & Home Improvement -0.46*** (0.1352) -2.09*** (0.3985) -2.36*** (0.5744) -1.42*** (0.4576)
Toys & Games -0.52*** (0.1050) -1.43*** (0.2684) -1.46*** (0.2850) -1.06*** (0.2414)
Mean -0.50 (0.15) -1.52 (0.34) -1.72 (0.36) -1.30 (0.32)
# not signific. neg. 3 3 3 6
Detailed Category FE 3 7 7 7
Product FE 7 3 7 7
Product-Month FE 7 7 3 7
Product-Week FE 7 7 7 3

Table 3: Demand Estimates


Notes: This table provides the results of the demand estimation. For each model, the first col-
umn provides the coefficient from the Poisson regression of log quantity on log price (i.e., the
coefficient can be directly interpreted as elasticity). The second column provides standard errors
clustered at the product level.

shocks. Hence, we move to product-week fixed effects in (3). As the estimates are relatively
invariant, we conclude that perhaps there was little pricing in reaction to demand shocks in
the data. This absence of endogeneity would be consistent with our observation that most
repricers (including our data source) offer no “demand driven” repricing functionality, opting
instead for price changes purely driven by competitive considerations.

F.2 Inverting Strategies to MC


Restricting attention to the cycling offers, we can now employ our demand estimates and
our knowledge of how the cycling merchant chooses the upper and lower end of the cycle to
find the implied costs that would rationalize his choice given the estimated price elasticity of
demand.
Consider a merchant listing an offer on product j with demand parameters (αj , βj ).
Assuming that his unit costs are given by c and noting that Amazon collects a referral fee of
15%, the profit function that determines the choice of his cycling parameters will be given by

(0.85p − c)α exp(−β p) if p ≤ minf ∈F (j) pf ,
j j
π(p, c) =
0 otherwise,

where F (j) is the set of passive competitors listing offers on product j. Note that here we are
explicitly accounting for the possibility that the cycling may be constrained by the existence

42
of some passive competitors.
Recall that in the continuous repricing model, the cycling merchant chooses his repricing
parameters according to
Z u−k
∗ ∗ 1
(u , ` ) = arg max π(p)dp.
u,` n(u − `) `

However, here a minor complication emerges: as noted above, a nontrivial fraction of our
sample uses a strategy of resetting at a certain time rather than at a specific minimum price.
For these agents, the span of the cycle is not a choice variable. However, given the fixed
span, the rest of the model goes through without problems. Technically speaking, we will
reparameterize to (px , ∆) where px is the mean price during the cycle and ∆ is the span of
the cycle such that
 ∆ ∆
(u, `) = px − , px + .
2 2
We will assume that all firms choose px and take ∆ as given. Then we can find the optimal
implied mean price during the cycle as
Z px + ∆
1 2
p∗x (c) = arg max π̂(p, c)dp.
px 2∆ px − ∆
2

When there is precisely one undercutter and one cycler, this creates a one-to-one (and
hence invertible) mapping from c to px . The intuition is very close to (although not identical)
to that allowing us to identify cost from demand elasticities under monopoly pricing. This
should also reassure us that while a functional form assumption for demand is necessary, it
should not influence results much.
Given these caveats, we restrict attention to the sample of cycles not restricted from
above and hence estimate ĉ as

ĉ = arg min |p∗x (c) − p̂x |.


c

There are two more complications. Firstly, we have shown above that the initial reset
is ‘excessive’ for daily cycles: a linear decrease does not accurately describe the price path
during cycling from px + ∆/2 to px − ∆/2. To avoid this complication, we use the second
period in each cycle as the top of the cycle: as we have also seen above, the excessively high
price is restricted to one period.
Thirdly, our model above was derived under the assumption that different merchants have
identical unit costs for the same product. This is unlikely to be true in the data. However,

43
Predictive Model Expl. Var. R2
Delegated Strategies 0.64 0.49
Bertrand 0.25 -0.40

Table 4: Recovered Cost Estimates Track Reported Cost


Notes: This table compares the predictive performance of Bertrand and Delegated Strategy pric-
ing models on held out cost data. “Expl. Var.” refers to the fraction of variance explained by the
model.

we noticed that equilibrium was typically asymmetrical: one merchant chooses the effectively
binding minimum and maximum prices. The other merchant’s strategy choices are irrelevant
to (on-path) profits. This suggests that if merchants’ costs for the same product differ, we
will only correctly identify one of the agents’ costs. It is thus unlikely we can do better
without employing data on off-equilibrium transitions between different cycles.
With these complications in mind, we can now find the implied cost for cycling products.
As a first sanity check on these estimates, we can compare them to self-reported costs, which
are available for 8.08% of the dataset. In Table 4 we provide measures of fit for two alternative
predictive models of cost. Firstly, under the natural assumption of Bertrand competition,
cost should be equal to the mean price over the cycle.18 Secondly, under our new model of
delegated strategies, we have just derived the implied costs. As we can see in the Table, the
delegated strategy cost predictions yield a much better fit for the cost measure in our data.
This is further confirmed by Figure 15 where we can see that the distributions of reported
and recovered costs match reasonably well, though we tend to slightly underestimate cost.

F.3 Welfare Comparison


We can use the cost and demand estimates to work out welfare. To do this, we simply note
that (expected) welfare is the sum of the integral between the (expected) demand and cost
curves. As we have assumed a constant unit cost c, estimated welfare from product i in
category j at time t is given by:

Di−1 (pit )
−α̂j − log q
Z  
Ŵijt (pit , c) = Dj (q) − ĉi dq, where Dj (q) = . (6)
0 β̂j

To aggregate up to total welfare, we sum across periods (weighting by the customer arrival
rate λjt ) and products.
18
To be exact, it should be equal to the higher of the two merchants’ costs, but as discussed above, we
are assuming that the merchants face identical costs.

44
(a) Distributions are similar. (b) Cost measures are correlated.

Figure 15: Recovered Costs are Correlated with Reported Costs.


Notes: This figure illustrates how the cost estimates obtained from inverting prices using our
model of equilibrium in delegated strategies match the self-reported costs.

With the help of (6) we can now both compute the welfare under the observed price path
as well as run (simple) counterfactuals. In particular, we are interested in the welfare (i)
under Nash-Bertrand pricing (assuming equal costs across firms), (ii) under monopoly pricing,
(iii) if products that were found cycling once were constantly cycling.
As our method of estimating demand has introduced much uncertainty into the product-
level intercepts (and as welfare is highly nonlinear in demand parameters), we will employ
two methods to minimize the influence of sampling error on our welfare estimates. Firstly, we
restrict welfare to be weakly positive for each product: this restriction ensures that welfare
cannot be lost due to products being priced at below what we recover as their cost as such
pricing behavior seems highly unlikely. Secondly, we winsorize welfare at the product level.
As is natural, the counterfactuals will assume that the firm we identified as cycling can set
the consumer-facing price of the product without competition from other firms. However, our
computation of welfare under observed prices makes no such assumption and instead utilizes
the observed path of Buybox prices. Furthermore, we omit the time-variation in the customer
arrival rate in computing the counterfactuals (but not in the ‘observed prices’ calculation).
We display the relevant numbers in Table 5, where the first five rows employ the cost
estimates recovered using our model and the last five rows employ the self-reported costs.
We only conduct welfare analysis for those products identified as having both cycling offers
and self-reported costs. While the latter restriction is made so that we have a benchmark
to assess our model-based estimates against, the former is necessary as we identify the

45
Total Welfare % of Comp.
Recovered Costs
Competitive $1,133,506.34
Always Cycling $870,372.46 76.79%
Monopoly $845,908.74 74.63%
Observed Prices $895,709.71 79.02%
Self-Reported Costs
Competitive $657,939.81
Always Cycling $513,057.26 77.98%
Monopoly $499,505.05 75.92%
Observed Prices $489,274.04 74.36%

Table 5: Welfare Counterfactuals.


Notes: This table provides the implied (integral under demand curve) welfare in various counter-
factual scenarios. The first set of estimates uses costs recovered from inverting prices using our
model of equilibrium of delegated strategies, and the second set of estimates use self-reported
costs as a robustness check.

cost parameters using the cycling behavior and thus have nothing to say about welfare for
non-cycling products. However, cycling is currently still a relatively rare phenomenon on
Amazon. Thus, these welfare numbers are to be understood more as a warning than anything
else: by no means should they be understood as indicative of the total welfare loss on Amazon
due to non-competitive pricing practices.
Moving on to the specific scenarios, we can see that unsurprisingly monopoly pricing
entails heavy welfare losses relative to the competitive benchmark. The welfare loss under
constant cycling is of the same magnitude. However, this scenario still makes a worst-case
assumption: in reality, offers that cycle once are not constantly cycling. This brings us to the
most important welfare number: the observed prices row reports our best estimate of welfare
using the observed price path. We see that there is a welfare loss relative to the competitive
benchmark of about the same magnitude as in the monopoly and always cycling scenarios.
As discussed above, these numbers should be taken with a grain of salt. If additional data
and more careful modeling confirm this analysis, it should be considered a serious warning
about the possible welfare impact of automated repricing software.

G Scale of Demand
While we could use sales data to infer the scale of demand for each product, the resulting
estimates will be highly noisy as here we cannot pool data across multiple products. Hence,
we instead utilize the sales rank information. In particular, Chevalier and Goolsbee (2003)

46
Category η̂ θ̂ R2
Clothing 2.85*** (0.9580) -0.50*** (0.0758) 0.1009
Arts, Crafts & Sewing 7.08*** (0.3145) -0.56*** (0.0295) 0.2941
Baby Products 5.20*** (0.5508) -0.35*** (0.0461) 0.1372
Beauty 7.87*** (0.3252) -0.55*** (0.0288) 0.3544
Industrial & Scientific 7.62*** (0.7362) -0.65*** (0.0704) 0.5315
Books 4.16*** (0.1185) -0.40*** (0.0086) 0.1978
Movies & TV 4.34*** (0.3144) -0.47*** (0.0267) 0.1003
Clothing 2.74*** (0.0946) -0.25*** (0.0076) 0.0574
Grocery 7.59*** (0.7223) -0.57*** (0.0641) 0.2429
Health & Household 5.96*** (0.3082) -0.35*** (0.0257) 0.1506
Garden 6.36*** (0.2773) -0.42*** (0.0213) 0.2017
Home Improvement 7.65*** (0.4029) -0.66*** (0.0324) 0.2668
Office Products 6.44*** (0.7581) -0.60*** (0.0666) 0.2597
Pet Supplies 4.08*** (0.3162) -0.25*** (0.0275) 0.0848
Sports & Outdoors 4.00*** (0.2433) -0.36*** (0.0209) 0.0930
Toys & Games 5.43*** (0.1703) -0.38*** (0.0147) 0.1280
Video Games 5.85*** (0.7415) -0.68*** (0.0970) 0.2322

Table 6: The Relationship Between Sales Ranks And Quantity Sold.


Notes: This table describes the relationship between log sales and log ranks. Standard errors
clustered at the product level in parentheses.

suggest the relationship between log sales and log rank is approximately linear. To estimate
this relationship, we run

log qjt = ηc(j) + θc(j) log(rank)jt + jt ,

where c(i) refers to the category of product i and the unit of observation is a product month.
It is important to allow for (θ, η) to differ across product categories as e.g. the distribution
of sales for different kind of clothes may have a much fatter tail than for Books. We find
estimates that are generally in line with those of past literature and exhibit these in Table 6.
Given θ̂, we can predict each product’s monthly sales using its mean sales rank. We then
estimate the scale of demand α̂ by inverting the demand function, i.e. by solving

α̂j exp(−βj pj ) = q j ,

where pj and q j are the time-weighted mean price and mean predicted monthly sales of
product j over the sample period.

47

You might also like