가격 모니터링 프로젝트는 항상 같은 질문에서 시작한다. 얼마나 자주 확인해야 하는가? 너무 드물게 확인하면 비용을 들여서라도 보고 싶었던 변화를 놓치게 된다. 너무 자주 확인하면 움직이지 않은 가격을 기록하는 데 돈을 쓰게 된다.
답은 실제로 가격이 얼마나 빨리 변하는지에 달려 있으며, 이는 신중하게 측정되어 왔다. 경제학자들은 인플레이션을 연구하기 위해 20년에 걸쳐 대규모로 온라인 가격을 스크래핑해 왔고, 그들의 논문에는 소매업체가 얼마나 자주 가격을 재설정하는지, 그것이 어떻게 변해 왔는지, 그리고 표본 추출 방식이 관측 결과를 어떻게 왜곡하는지에 관한 가장 신뢰할 수 있는 수치들이 담겨 있다.
이 연구는 그런 수치들을 한데 모은다. 아래의 모든 수치는 논문 본문이나 표에서 그대로 가져온 것이며, 출처는 마지막에 정리되어 있다.
핵심 요약
- 온라인 가격은 예전보다 더 빠르게 변한다. 미국의 대형 멀티채널 소매업체에서 정규 가격 변경의 월간 빈도는 2008-2010년 15.4%에서 2014-2017년 27.4%로 상승했다. 일반적인 정규 가격의 지속 기간은 약 6개월 반에서 4개월 미만으로 줄었다.
- 마켓플레이스는 전혀 다른 세계다. 6주 동안 추적한 Amazon 베스트셀러 상품군에서 Buy Box 가격이 그대로 유지된 상품은 13%에 불과했고, 절반은 14회 이상 변경되었다.
- 2022-2023년 인플레이션 급등은 여러 업종과 국가에서 온라인 가격 변경 빈도를 두 배 이상으로 끌어올렸다, 수년간 안정적이던 흐름이 바뀐 것이다.
- 소매업체의 경우 일일 확인과 주간 확인은 거의 동일한 변화를 포착한다. 월간 확인은 많은 변화를 놓치며, 일주일 단위로 가격을 평균 내면 실제로 일어나지 않은 작은 변화를 만들어낸다.
- 적절한 주기는 채널에 따라 다르다: 소매업체 사이트는 주간에서 일간, 경쟁이 치열한 마켓플레이스 리스팅은 시간 단위 또는 그보다 빠른 주기가 필요하다.
가격 변화를 측정하는 방법
연구 전반에 걸쳐 두 가지 측정값이 등장한다.
- **빈도(Frequency)**는 어떤 상품의 가격이 이전 관측치와 다른 관측치의 비율이다. 월간 빈도가 20%라는 것은 일반적인 한 달 동안 상품 다섯 개 중 하나의 가격이 변한다는 뜻이다.
- **내재 지속 기간(Implied duration)**은 빈도를 가격이 일반적으로 얼마나 오래 유지되는지로 변환한 값이다. 대부분의 논문은 -1/ln(1 - f) 공식을 사용하는데, 이는 각 기간마다 변화가 일어날 확률이 일정하다고 가정한다. 일부는 더 단순한 1/f를 사용한다. 동일한 빈도라도 두 방식은 다른 수치를 내므로, 지속 기간은 같은 논문 안에서만 비교해야 한다.
연구는 또한 일시적인 세일을 포함하는 **게시 가격(posted prices)**과 세일을 걸러낸 **정규 가격(regular prices)**을 구분한다. 주말 세일로 가격이 내려갔다가 원래 가격으로 돌아오는 상품은 게시 가격에서는 두 번의 변경으로 집계되지만 정규 가격에서는 변경이 없는 것으로 집계된다.
소매업체 가격은 어떻게 움직이는가
가장 상세한 근거는 MIT의 Alberto Cavallo와 Billion Prices Project의 연구에서 나온다. 이 프로젝트는 2010년까지 50개국 300개 이상의 소매업체로부터 하루 500만 개의 가격을 수집하고 있었다. 일일 데이터를 월간 빈도로 집계한 2018년 연구는 미국 대형 멀티채널 소매업체를 대상으로 했으며, 10년 동안 가격 책정이 얼마나 빨라졌는지를 보여준다.
| 기간 | 정규 가격 변경의 월간 빈도 | 내재 지속 기간 | 가격 인상 | 가격 인하 | 변경의 평균 크기 |
|---|---|---|---|---|---|
| 2008-2010 | 15.4% | 6.5개월 | 6.9% | 8.9% | 17.5% |
| 2011-2013 | 22.4% | 4.5개월 | 10.3% | 12.1% | 16.2% |
| 2014-2017 | 27.4% | 3.7개월 | 12.5% | 15.0% | 15.0% |
출처: Cavallo (2018), “More Amazon Effects”, Table 1. 지속 기간은 1/f를 사용함.
세일을 포함할 경우 같은 기간 동안 월간 빈도는 21%에서 31% 이상으로 상승했다. 변화는 더 잦아지는 동시에 약간 더 작아졌다.
이러한 속도 증가는 모든 카테고리에서 고르게 나타나지는 않았다. 레저와 전자제품의 정규 가격 지속 기간은 13.1개월에서 5.5개월로, 가구와 생활용품은 14.2개월에서 5.9개월로 줄었다. 식품 및 무알코올 음료는 6.4개월로 변함이 없었다. 가장 빠르게 변한 카테고리는 온라인 경쟁이 가장 크게 성장한 카테고리였다.
경쟁은 상품 수준에서도 드러난다. 2016년부터 2018년까지 매일 추적한 약 50,000개의 Walmart 상품 중, Amazon에서도 판매되는 상품은 가격 지속 기간이 나머지 상품보다 약 20% 더 짧았다. 의류 및 신발류에서는 그 격차가 훨씬 더 컸다.
온라인과 오프라인 가격은 많은 사람들의 짐작보다 더 긴밀하게 움직인다. 10개국의 대형 멀티채널 소매업체 56곳을 대상으로 한 별도의 연구에서, 온라인 가격은 72%의 경우 매장 가격과 일치했으며, 온라인에서의 주간 가격 변경 빈도(7.6%)는 오프라인(6.8%)과 유의미하게 다르지 않았다. 온오프라인을 모두 운영하는 소매업체의 경우 웹사이트는 보통 매장 진열대를 신뢰할 수 있게 반영한다. 지역별 맞춤 가격 책정과 동적 가격 책정 탐지에 관한 가이드에서는 그렇지 않은 경우들을 다룬다.
마켓플레이스 가격은 어떻게 움직이는가
마켓플레이스는 가격 책정이 가장 빠르게 일어나는 곳이다. Northeastern University 연구진이 수행한 2016년 연구는 1,641개의 Amazon 베스트셀러 상품을 추적하며, 각 상품의 상위 20개 판매자를 25분마다 기록했다. 6주 동안:
| 측정값 | 결과 |
|---|---|
| Buy Box 가격이 전혀 변하지 않은 상품 비율 | 13% |
| Buy Box 가격 변경이 14회를 초과한 상품 비율 | 50% |
| Buy Box 낙찰자가 전혀 바뀌지 않은 상품 비율 | 31% |
| 알고리즘 가격 책정을 사용한 것으로 감지된 판매자 | 543개, 전체 판매자의 2.4% |
| 한 상품에서 20회 이상 가격이 변경된 판매자 중 알고리즘 방식 비율 | 38% |
출처: Chen, Mislove, Wilson (2016).
일부 상품은 6주 동안 Buy Box 변경이 수백 회에 달해 하루 한 번보다 훨씬 더 잦았던 반면, 대부분의 개별 판매자는 가격을 전혀 바꾸지 않았다. 소수의 알고리즘 판매자 그룹이 대부분의 변동을 주도한다. 알고리즘 판매자가 있는 상품은 고정된 Buy Box 가격을 유지하는 경우가 거의 없었던 반면(2%), 알고리즘 판매자가 없는 상품은 20%가 그러했다.
리프라이싱 도구는 이제 Amazon을 넘어 널리 쓰이고 있다. European Commission의 2017년 전자상거래 조사에서, 소매업체의 53%가 경쟁사의 온라인 가격을 추적한다고 답했다. 그중 3분의 2는 소프트웨어를 이용했고, 소프트웨어를 사용하는 소매업체 중 78%는 이에 대응해 자사 가격을 조정했다. 실제로 이것이 어떻게 적용되는지는 실시간 경쟁사 가격 피드 구축하기 가이드를 참고하라.
인플레이션 급등 기간에 일어난 일
가격 책정 방식은 고정되어 있지 않다. 미국과 여러 유럽 국가의 일일 스크래핑 가격 데이터를 이용해, Cavallo, Lippi, Miyahara는 2021년까지는 온라인 가격 변경 빈도가 대체로 안정적이었으나 이후 “2022년과 2023년에 크게 상승했으며, 모든 업종과 국가에서 두 배 이상 늘었다”는 사실을 발견했다.
출발점은 느렸다. 급등 이전인 2019-2021년에는 식품 및 음료 소매업체가 연평균 약 1.9회 정규 가격을 변경했으며, 영국의 0.8회부터 네덜란드의 2.3회까지 다양했다.
주로 실제 매장을 대상으로 하는 공식 소비자물가 데이터에서도 같은 패턴이 나타난다:
- 미국: 세일을 제외한 가격 변경의 월간 빈도는 팬데믹 이전 약 10%에서 2022년 초 20%를 약간 상회하는 정점을 찍었고, 2024년에는 다시 약 13%로 돌아왔다 (Federal Reserve Board, 2025).
- 유로존: 월간 빈도는 2010-2019년 평균 8%에서 2022년 12%로 상승했다가 2023년과 2024년에 다시 하락했다 (Banca d’Italia, 2026). 같은 연구는 독일 데이터에서 온라인 가격이 오프라인 가격보다 더 자주 변하는 경향이 있다는 것도 발견했다.
2019년에 충분했던 모니터링 주기는 2022년에는 충분하지 않았다. 주기는 한 번 정해놓고 끝낼 것이 아니라 시장이 바뀔 때 다시 검토해야 한다.
온라인과 오프라인 벤치마크 비교
참고로, 미국 소비자물가 데이터에 관한 고전적인 연구들은 세일을 포함한 가격의 중간값 지속 기간을 4.3개월, 제외한 경우 5.5개월로 제시한다 (Bils and Klenow, 2004). 정규 가격만 보면 1988-2005년 기간 동안 중간값은 8개월에서 11개월이었다 (Nakamura and Steinsson, 2008).
이 벤치마크와 비교하면, 2014-2017년 미국 대형 온라인 소매업체의 3.7개월짜리 정규 가격 지속 기간은 대략 2배에서 3배 더 빠르다. 두 연구는 서로 다른 데이터와 방법론을 사용하므로 비교는 근사적이지만, 방향성은 명확하다.
이것이 모니터링 주기에 의미하는 바
모니터링 팀에 가장 유용한 발견은 동일한 스크래핑 데이터를 서로 다른 간격으로 샘플링해 비교한 Cavallo의 2018년 연구에서 나온다.
| 샘플링 | 미국의 내재 지속 기간 | 발생하는 현상 |
|---|---|---|
| 일간 | 2.68개월 | 기준값 |
| 주간 | 2.91개월 | 거의 동일함: “일주일에 한 번 이상 가격이 변하는 상품은 거의 없다” |
| 월간 | 4.7개월 | ”한 달 안에 일어나는 많은 가격 변화가 관측되지 않는다” |
| 주간 평균 | 주간 가격 지속 기간의 약 절반 | 평균을 내면 작고 허위인 변화가 만들어진다 |
출처: Cavallo (2018), “Scraped Data and Sticky Prices”, 출판본.
여기서 네 가지 실용적인 규칙이 도출된다.
- 소매업체 웹사이트의 경우, 주간 수집으로 대부분의 변화를 포착할 수 있고 일간 수집으로는 거의 전부를 포착할 수 있다. 주간에서 일간으로 바꿔도 측정 결과에는 거의 차이가 없다. 반면 주간에서 월간으로 바꾸면 큰 차이가 생긴다.
- 변화를 측정하기 전에 절대 가격을 평균 내지 말라. 주간 평균은 측정된 지속 기간과 변화 크기를 모두 절반으로 줄이는데, 주 중간에 일어난 단 한 번의 가격 인하가 더 작은 두 단계의 변화로 바뀌어버리기 때문이다. 관측된 모든 가격을 저장하라.
- 마켓플레이스에서는 분 단위와 시간 단위가 중요하다. 경쟁이 치열한 Buy Box 가격은 하루에도 여러 번 바뀔 수 있다. Northeastern 연구진은 1분 단위 크롤링이 실제 리프라이싱보다는 마켓플레이스 자체 시스템의 짧은 깜빡임을 주로 포착한다는 사실을 발견한 후 25분 간격으로 정했다.
- 가격뿐 아니라 재고 상태도 기록하라. Cavallo의 일일 데이터에서는 상품 품절이나 페이지 수집 실패로 인해 일일 관측치의 22%에서 37%가 누락되었고, 품절 자체가 유용한 신호로 밝혀졌다. 팬데믹 동안 미국에서 품절 비율은 약 14%에서 35% 이상으로 급증했다. 데이터의 공백은 단순한 잡음이 아니라 하나의 정보다.
| 채널 | 권장 초기 주기 |
|---|---|
| 소매업체 웹사이트, 안정적인 카테고리(식료품, 생활용품) | 주간, 프로모션 기간에는 일간 |
| 소매업체 웹사이트, 빠른 카테고리(전자제품, 가정용품) | 일간 |
| 여러 판매자가 있는 마켓플레이스 리스팅 | 시간 단위, 베스트셀러는 더 빠르게 |
| 항공 요금과 호텔 요금 | 출발일 또는 숙박일 기준 일간, 날짜가 가까워질수록 더 자주 |
자신의 데이터로 직접 측정하기
이미 가격을 수집하고 있다면, 다른 사람의 표본에서 나온 평균값에 의존하는 대신 자신의 시장의 변동성을 직접 측정할 수 있다. 아래 함수는 일일 관측치로부터 빈도, 내재 지속 기간, 인상 비율, 변화 크기의 중간값을 계산한다:
import math
from collections import defaultdict
def change_stats(observations, min_change=0.0):
"""observations: (product_id, day, price) tuples from a daily scrape.
Compares each price with the product's previous observed price on the day
before. Gaps are skipped, not filled: a price carried across a missing day
would hide changes, and an interpolated one would invent small ones.
"""
by_product = defaultdict(dict)
for product, day, price in observations:
by_product[product][day] = price
pairs = changes = increases = 0
sizes = []
for prices in by_product.values():
for day in sorted(prices):
previous = prices.get(day - 1)
if previous is None:
continue
pairs += 1
change = (prices[day] - previous) / previous
if abs(change) > min_change:
changes += 1
increases += change > 0
sizes.append(abs(change))
frequency = changes / pairs if pairs else 0.0
sizes.sort()
return {
"daily_pairs": pairs,
"frequency": round(frequency, 4),
# Mean days between changes if each day were an independent draw.
"implied_duration_days": round(-1 / math.log(1 - frequency), 1) if 0 < frequency < 1 else None,
"share_increases": round(increases / changes, 3) if changes else None,
"median_abs_change": round(sizes[len(sizes) // 2], 4) if sizes else None,
}
이 함수는 각 가격을 전날의 가격하고만 비교한다. 공백은 채우지 않고 건너뛰는데, 마지막 가격을 그대로 이어 붙이면 변화가 가려지고, 추정값으로 공백을 메우면 작은 변화를 만들어내기 때문이다. 이는 평균 처리된 데이터에서 발견된 것과 동일한 왜곡이다.
간단한 예시:
from price_changes import change_stats
observations = [
("sku-1", 1, 19.99), ("sku-1", 2, 19.99), ("sku-1", 3, 17.99), ("sku-1", 4, 17.99),
("sku-2", 1, 5.49), ("sku-2", 2, 5.49), ("sku-2", 4, 5.79), ("sku-2", 5, 5.79),
("sku-3", 1, 249.00), ("sku-3", 2, 239.00), ("sku-3", 3, 249.00), ("sku-3", 4, 249.00),
]
print(change_stats(observations))
{'daily_pairs': 8, 'frequency': 0.375, 'implied_duration_days': 2.1, 'share_increases': 0.333, 'median_abs_change': 0.0418}
두 번째 상품의 가격은 누락된 하루를 사이에 두고 5.49에서 5.79로 올랐으므로, 이 변화는 집계되지 않는다. 실제 데이터에서 누락된 날은 품절일과 수집 실패일에 해당하며, 결과와 함께 누락된 날의 개수도 보고해야 한다. 애초에 깔끔하게 수집하는 것이 도움이 된다. 차단으로 인한 누락 관측치는 품절로 인한 것과 구분되지 않기 때문이다. 클린 레코드 하나당 비용 가이드에서는 실패율이 모니터링 예산에 어떻게 반영되는지를 다룬다.
이 함수를 카테고리별, 경쟁사별로 실행하라. 내재 지속 기간이 며칠에 불과한 카테고리는 일간 또는 그보다 빠른 수집이 필요하다. 지속 기간이 몇 달 단위로 측정되는 카테고리는 아무것도 놓치지 않고 주간으로 확인할 수 있다.
FAQ
온라인 가격은 얼마나 자주 변하는가?
미국의 대형 멀티채널 소매업체에서는 2014-2017년 기준으로 일반적인 한 달 동안 약 27%의 상품이 정규 가격을 변경해, 정규 가격이 약 4개월 동안 유지되었다. 마켓플레이스 가격은 훨씬 더 빠르게 변한다. 한 연구에서 Amazon 베스트셀러 중 절반이 6주 동안 Buy Box 가격을 14회 이상 변경했다.
일간 가격 모니터링이 꼭 필요한가?
대부분의 소매업체 웹사이트의 경우 주간 모니터링으로 대부분의 변화를 포착할 수 있으며, 일간과 주간 샘플링을 비교한 연구에서는 거의 동일한 결과가 나왔다. 빠르게 움직이는 카테고리, 프로모션, 마켓플레이스에서는 일간 모니터링이 중요하다. 월간 모니터링은 많은 변화를 놓친다.
온라인 가격은 매장 가격보다 더 자주 변하는가?
온라인과 오프라인을 모두 운영하는 소매업체에서는 가격이 약 72%의 경우 동일하며 변경 속도도 비슷하다. 가격이 가장 자주 변하는 곳은 온라인 전용 경쟁, 특히 마켓플레이스다.
인플레이션은 가격 변경 빈도를 바꾸었는가?
그렇다. 온라인 가격 변경 빈도는 2022년과 2023년에 두 배 이상 증가했으며, 미국과 유로존의 공식 가격 데이터에서도 비슷한 상승이 나타났고, 이후 이전 수준으로 일부 되돌아갔다.
결론
온라인 가격은 10년 전보다 더 빠르게 변하며, 소매업체 사이트보다 마켓플레이스에서 훨씬 더 빠르게, 그리고 인플레이션이 상승할 때 다시 한번 더 빠르게 변한다. 연구는 모니터링에 관한 명확한 규칙을 제시한다. 소매업체 사이트에서는 주간 수집이 일간 수집이 포착하는 것의 대부분을 포착하고, 월간 수집은 많은 부분을 놓치며, 평균 처리된 데이터는 실제 모습을 왜곡한다. 자신의 카테고리를 직접 측정하고, 실제로 얼마나 빠르게 움직이는지에 따라 주기를 정하며, 시장이 변할 때 다시 검토하라.
출처 및 참고문헌
- Cavallo, A. (2018). More Amazon Effects: Online Competition and Pricing Behaviors. NBER Working Paper 25138.
- Cavallo, A. (2018). Scraped Data and Sticky Prices. Review of Economics and Statistics 100(1).
- Cavallo, A. (2017). Are Online and Offline Prices Similar? Evidence from Large Multi-Channel Retailers. American Economic Review 107(1).
- Cavallo, A. and Rigobon, R. (2016). The Billion Prices Project: Using Online Prices for Measurement and Research. NBER Working Paper 22111, published in the Journal of Economic Perspectives 30(2).
- Cavallo, A., Lippi, F. and Miyahara, K. (2023). Large Shocks Travel Fast. NBER Working Paper 31659.
- Cavallo, A. and Kryvtsov, O. (2023). What Can Stockouts Tell Us About Inflation? Evidence from Online Micro Data. NBER Working Paper 29209.
- Chen, L., Mislove, A. and Wilson, C. (2016). An Empirical Analysis of Algorithmic Pricing on Amazon Marketplace. WWW 2016.
- European Commission (2017). Final report on the E-commerce Sector Inquiry and staff working document.
- Montag, H. and Villar, D. (2025). Post-Pandemic Price Flexibility in the U.S. Federal Reserve Board, FEDS 2025-024.
- Gautier, E. et al. (2026). Consumer price stickiness in the euro area during an inflation surge. Banca d’Italia, Temi di discussione 1524.
- Bils, M. and Klenow, P. (2004). Some Evidence on the Importance of Sticky Prices. Journal of Political Economy 112(5).
- Nakamura, E. and Steinsson, J. (2008). Five Facts About Prices: A Reevaluation of Menu Cost Models. Quarterly Journal of Economics 123(4).
Cavallo의 여러 연구는 그가 공동 설립한 PriceStats의 데이터를 사용하며, 해당 논문들은 이 사실을 명시하고 있다.