売り手が世界中で一律の価格を設定することはめったにない。経済学者はこれを価格差別と呼ぶが、市場をまたいで価格インテリジェンスを行う人にとっては、これこそがある国の価格が他国の価格についてほとんど何も教えてくれない理由である。では、その差はどれほど大きいのか。
これを数値化するため、市場ごとに明確な価格を公開しているストアを選び、20カ国にわたる10本のゲームを同じ日に比較した。同じゲームが、ある国では別の国より最大4.1倍高かった。
何を測定したか
- 対象商品: Steam上の有名ゲーム10本。いずれもその日はセール対象外。
- 対象国: 6大陸にわたる20カ国。
- 日付: 2026年11月5日。通貨はその日の欧州中央銀行の参考レートで米ドルに換算した。
- 価格: 各国で表示されている定価。
- 確認方法: 各国について1本のゲームを選び、その国のレジデンシャルプロキシの出口を経由して公開ストアページを読み込み、出口を確認した上で価格を比較した。20カ国すべてで一致した。
使用したのは公開ページのみで、アカウント登録や購入は行っていない。
結果
1つ目の表は、各国の10本のゲーム価格の中央値を、米国価格に対する割合として示したものである。2つ目の表は、各ゲームについて最も安い国と最も高い国を示している。
FX: ECB reference rates, 2026-11-05
country currency vs US
IN INR 0.47
ID IDR 0.47
TR USD 0.48
PH PHP 0.50
BR BRL 0.55
ZA ZAR 0.61
TH THB 0.61
MX MXN 0.62
MY MYR 0.62
JP JPY 0.72
KR KRW 0.81
NZ NZD 0.83
CA CAD 0.93
US USD 1.00
AU AUD 1.02
PL PLN 1.06
DE EUR 1.08
GB GBP 1.12
NO NOK 1.16
CH CHF 1.32
game US $ lowest highest gap
Portal 2 9.99 ID 5.15 CH 12.21 2.4x
Stardew Valley 14.99 BR 4.57 CH 18.34 4.0x
Terraria 9.99 ID 5.04 CH 13.44 2.7x
Hades 24.99 TR 8.25 CH 34.22 4.1x
Celeste 19.99 ID 9.35 CH 22.00 2.4x
Hollow Knight 14.99 TR 5.99 CH 20.53 3.4x
Factorio 35.00 PH 15.87 CH 48.91 3.1x
Slay the Spire 24.99 TR 11.49 CH 27.50 2.4x
Cities: Skylines 29.99 ID 18.76 CH 39.11 2.1x
Civilization VI 59.99 BR 23.60 CH 85.52 3.6x
中央値は、インドとインドネシアの米国水準の47%から、スイスの132%まで幅がある。1本のゲームに限れば差はさらに大きく、Hadesはトルコで約8.25ドル、スイスで34.22ドルと、4.1倍の開きがある。
トルコはこの中で米ドル建て価格の唯一の市場だが、それでも米国水準の約半分であり、同じ通貨だからといって同じ価格になるわけではないことがわかる。スイスは10本すべてのゲームで最も高い市場だった。
なぜ差が生じるのか
Steamでは開発者が自ら価格を設定し、Valveは推奨換算レートを提供している。その文書では3つの方式が説明されている。単純な為替レート、購買力のみ、そして「現地の購買力、同等の娯楽商品の想定コスト、為替レート」を考慮する複数変数方式である。結果はこの説明と一致しており、安価な市場はおおむね平均所得が低い国々だが、そのパターンはきれいな直線ではなく、同じ市場内でもゲームごとにかなりのばらつきがある。
税金もこの構図の一部である。 Steamの規約によれば、EUと英国の価格はVATを含んでおり、一方で米国の販売税は別途加算され得るため、これらの行は単純には比較できない。標準税率でVATを除くと、ドイツは1.08から約0.91に、英国は1.12から約0.93に下がり、どちらも米国を上回るのではなく下回る水準になる。他の国については、各国の価格が税金をどう扱っているか確認できなかったため、調整していない。
この調査の限界
これは1つのストア、10本のゲーム、1日分のデータにすぎない。ゲームは追加1本あたりのコストがほとんどゼロに近いデジタル商品であり、売り手は市場ごとに価格を設定する異例の自由度を持つ。送料や輸入コストを伴う物理的な商品では事情が異なるだろう。これらの数値は、小売全体の平均ではなく、差がどこまで広がりうるかの規模として読んでほしい。
危うく陥りかけた落とし穴
最初の試みでは、きれいで一見完全に見える、しかし誤ったデータが得られた。各国の出口を経由してSteamの価格APIに価格を問い合わせたが、国を明示的に指定せず、IPによって自動判定されることを期待していた。すべての呼び出しは成功し、出口もすべて正しかったが、英国は米ドル、日本はニュージーランドドル、ブラジルはユーロで返ってきた。
理由は分かっていない。ストアページでは正しい通貨が表示されていたため、問題は出口ではなくそのAPI呼び出しの側にあった。このデータは破棄し、ccパラメータで国を明示的に指定して再度収集した。
from __future__ import annotations
import requests
API = "https://store.steampowered.com/api/appdetails"
def list_price(app_id, country):
"""A game's list price for one country, named explicitly with cc=."""
r = requests.get(API, params={"appids": app_id, "filters": "price_overview", "cc": country},
timeout=40)
r.raise_for_status()
entry = r.json()[str(app_id)]
if not entry.get("success") or not entry.get("data"):
return None
price = entry["data"]["price_overview"]
return {"currency": price["currency"], "list": price["initial"] / 100,
"discount": price["discount_percent"]}
if __name__ == "__main__":
for country in ("us", "de", "br", "ch"):
print(country.upper(), list_price(413150, country))
US {'currency': 'USD', 'list': 14.99, 'discount': 0}
DE {'currency': 'EUR', 'list': 13.99, 'discount': 0}
BR {'currency': 'BRL', 'list': 24.99, 'discount': 0}
CH {'currency': 'CHF', 'list': 15.0, 'discount': 0}
これらは現地の出口を経由してストアページで表示される内容と一致している。もし何もエラーが出なかったからという理由で最初の実行結果を信用していたら、ここでの比較はすべて誤りになっていたはずで、奇妙な通貨表示だけがそれに気づく手がかりだった。
価格モニタリングへの示唆
- 各市場を個別に測定する。 1つの価格を為替レートで換算するだけでは、この表が示す内容のほとんどを見落とすことになる。地域別パーソナライズ価格と動的価格の検出に関するガイドで、そうしたチェックの設計方法を扱っている。
- 通貨、日付、税の基準を記録する。 通貨や税の基準が不明な価格は比較できない。為替レートとその日付を記録とともに保持する。
- 通貨の妥当性を確認する。 市場ごとに想定される通貨といった単純なルールがあれば、今回の不良データは即座に発見できたはずである。
- 2つの経路を相互に確認する。 APIとレンダリングされたページの間に食い違いがあることほど有用な警告はない。
- セールに注意する。 ある市場での割引を地域価格と取り違える可能性がある。今回はどのゲームも割引されていないことを確認したが、同様の確認を記録しておくべきである。
調査であって、割引ルートではない
地域ごとの価格を確認することと、プロキシを使ってその価格で支払うことは別の話である。Steamの購読者契約には、「ゲームコンテンツの地理的制限を回避するため、居住地に適用されない価格で注文・購入するため、またはその他いかなる目的であれ、IPプロキシやその他の手段を用いて居住地を偽らないこと」と定められている。他のストアにも同様の規定がある。公開ページを市場調査目的で観察することと、実際に購入することは異なる行為であり、自分のプロジェクトがどちらに該当するか不明な場合は、法務担当者に確認すべきである。
結論
あるストアの、ある1日において、同じ商品の価格は国によって最大4.1倍も異なり、為替レートも、ましてや共通通貨の有無もその差を説明しなかった。海外の競合がいくら請求しているかに価格判断が左右されるのであれば、各市場を直接測定し、通貨・日付・税の基準をすべての数値とともに記録し、きれいに見えるデータであっても、別の経路で裏付けが取れるまでは未検証として扱うべきである。
出典と参考文献
- Valve, Steamworks pricing documentation: partner.steamgames.com
- Valve, Steamworks supported currencies documentation: partner.steamgames.com
- Steam Subscriber Agreement: store.steampowered.com
- European Central Bank, euro foreign exchange reference rates: ecb.europa.eu