---
title: "ソシャゲのガチャの仕組み｜抽選アルゴリズム・ガチャテーブル・排出率から確率操作の実態まで"
url: "https://www.issoh.co.jp/tech/details/2648/"
published: 2024-06-19
updated: 2026-10-12
categories: ["アーキテクチャ"]
publisher: "株式会社一創"
---

# ソシャゲのガチャの仕組み｜抽選アルゴリズム・ガチャテーブル・排出率から確率操作の実態まで

ソシャゲのガチャは、代表的な実装では、ボタンを押すとサーバーが乱数を引き、アイテムごとに設定した重み（排出率）に照らして結果を決める仕組みです。ただし「ガチャテーブル」という言葉には、開発者が言う「排出率の設定表」と、にゃんこ大戦争などのプレイヤーが言う「この先に出る結果の並び」の2つの意味があり、後者は乱数のシード値で結果が前もって決まっている作品で生まれます。この記事では、重み付き抽選の実装、テーブルが存在する理由、確率1%を何回引けば当たるかの計算、表示と違う抽選で消費者庁の措置命令が出た事例、排出率表示のルールまでを、システム開発の視点で順に整理します。

## まとめ：ガチャの仕組みの要点

- **抽選の本体は重み付き乱数**。重みの合計を上限に整数の乱数を1つ引き、累積和がそれを超えた行を当選にする。抽選はサーバーで行い、端末には結果だけを返す。
- **ガチャテーブルには2つの意味がある**。開発では排出率の設定表、プレイヤーの間ではシード値から決まる「次に出る結果の並び」。後者は乱数の状態が予測できる作品でだけ見える。
- **単体の確率が表示どおりでも、抽選方法が違えば違法になりうる**。全員共通の並びリストから順に配っていた幻影戦争のガチャは、2021年6月28日に消費者庁から優良誤認で措置命令を受けた。
- **確率1%を100回引いても、約37%の人は1個も当たらない**。独立抽選で当選確率が毎回1%なら、459回以内に1個以上当たる確率が99%を超える。天井がある場合の平均回数は (1-(1-p)^N)/p で見積もれる。
- **排出率の表示は日本では法律の義務ではない**。業界ガイドライン（JOGA・CESA）とストア規約が表示を求め、表示と実際の違いが著しく優良・有利と誤認させるものなら景品表示法の不当表示になる。韓国は2024年3月22日から法律で表示を義務化した。

## ソシャゲのガチャの仕組み｜サーバー抽選の流れと実装

### サーバー抽選の処理順序と二重実行の防止

プレイヤーがガチャを引くと、端末はサーバーに「このガチャを1回引く」という要求だけを送ります。サーバーは石（有償通貨）の残高を確認して減算し、そのガチャの設定表（排出対象のアイテムと重みの一覧）を読み込み、乱数を1つ引いて当選アイテムを決め、所持品に書き込んでから結果を返します。

抽選をサーバーで完結させるのは、端末内の処理や設定は改ざんできるからです。さらに、石の減算とアイテムの付与は1つのトランザクションで行い、通信が切れて端末が要求を再送したときは要求IDで重複を見分けて二重に処理しないようにします。そうしないと「石だけ減ってアイテムが届かない」「1回分の石で2回引けた」という不整合が起きます。Azure PlayFab のようなゲーム向けバックエンドがカタログやインベントリをサーバー側に持つのも同じ理由で、[PlayFabの料金プランとUnity SDKの導入手順](/tech/details/4904/)で構成を確認できます。

### 重み付き抽選のPython実装と100万回の検証

排出率の違うアイテムから1つを選ぶ標準的な方法が、重み付き抽選（weighted random selection）です。各アイテムに整数の重みを持たせ、0から「重みの合計-1」までの整数乱数を1つ引き、上から重みを足していった累積和がその乱数を初めて超えた行を当選にします。

```
import secrets
from collections import Counter

# ガチャテーブル：重みの合計を10000にそろえ、重み30＝0.30%と読めるようにする
GACHA_TABLE = [
    ("SSR_キャラA", 30),
    ("SSR_キャラB", 30),
    ("SSR_その他", 240),
    ("SR", 1700),
    ("R", 8000),
]
TOTAL = sum(w for _, w in GACHA_TABLE)  # 10000

def draw():
    r = secrets.randbelow(TOTAL)  # 0〜9999 の整数（OSの乱数源を使う）
    upto = 0
    for item, w in GACHA_TABLE:
        upto += w
        if r < upto:
            return item

N = 1_000_000
c = Counter(draw() for _ in range(N))
for item, w in GACHA_TABLE:
    print(f"{item}: 設定 {w / TOTAL:.2%} / 実測 {c[item] / N:.2%}")
```

Python 3.9.6で100万回実行した結果の一例です。実行のたびに小数第2位が少し揺れます。

```
SSR_キャラA: 設定 0.30% / 実測 0.30%
SSR_キャラB: 設定 0.30% / 実測 0.30%
SSR_その他: 設定 2.40% / 実測 2.42%
SR: 設定 17.00% / 実測 17.09%
R: 設定 80.00% / 実測 79.89%
```

重みを整数で持つのは、0.003のような小数を足し合わせると浮動小数点の誤差で合計がぴったり1にならず、末尾の行の確率がわずかにずれるからです。合計を10000にそろえれば、設定表をそのまま提供割合の表示（0.30%）に変換でき、表示と実装の食い違いを機械的に検査できます。

乱数には `random` モジュールでなく `secrets` を使いました。Python公式ドキュメントは、[randomモジュールの擬似乱数は「セキュリティ目的に使うべきではない」](https://docs.python.org/3/library/random.html)と警告し、暗号用途には secrets を案内しています。中核のメルセンヌ・ツイスタは出力を十分な数だけ観測すると内部状態を復元でき、以後の出力を予測できるためです。乱数の使い分けは[ランダムサンプリングの5種類とPythonのやり方](/column/details/6944/)にもまとめています。

### 「乱数の偏りを読む」攻略が成り立たない理由

「無料ガチャで当たりが続いたら乱数が当たり側に偏っている合図なので、そこで有料ガチャを引く」という攻略が検索上位にも載っています。上の実装は1回ごとに新しい乱数を引き、前回の結果をどこにも使っていないので、当たりが続いた直後でも次の1回の確率は設定どおりです。当たりが固まって見えるのは、独立な抽選を長く続けると連続が自然に起きるからで、偏りの証拠にはなりません。

例外は、乱数の状態が端末に保存されていて、次に出る結果が先に決まっている作品です。この場合は「偏り」ではなく「並び」を読む攻略が成り立ちます。これがプレイヤーの言う「ガチャテーブル」で、次の章で扱います。

## ガチャテーブルとは｜設定表と「結果の並び」の2つの意味

開発者が「ガチャテーブル」と言うときは、前章のコードの `GACHA_TABLE` のような排出率の設定表を指します。一方、にゃんこ大戦争のプレイヤーが言う「テーブル」は、この先1回目、2回目、3回目…に何が出るかが前もって決まっている結果の一覧です。同じ言葉で別のものを指しているので、どちらの意味かを分けて読む必要があります。

### にゃんこ大戦争などで言う「テーブル」はシード値で決まる結果の並び

擬似乱数は、シード値（初期値）が同じなら毎回まったく同じ数列を出します。乱数の状態を毎回の抽選でリセットせずに保存し続け、そこから順に乱数を取り出して抽選すると、結果の並びはシード値を知った時点で先まで計算できます。これが「テーブル」の正体です。

にゃんこ大戦争の排出順を予測する有志の非公式ツール「[Battle Cats Rolls](https://gitlab.com/godfat/battle-cats-rolls)」のソースコードを読むと、その仕組みが具体的にわかります。乱数は32ビットの xorshift32（左に13、右に17、左に15ビットずらして排他的論理和を取る操作）でシードを1歩ずつ進めて作り、1回のガチャでは、1つ目の値を10000で割った余りでレアリティを、次の値で同じレアリティ内のどのキャラかを決めています。直前と同じレアキャラが出る場合は値を進めて引き直し、同じキャラが候補に複数含まれていれば、別のキャラになるまで引き直しを繰り返します（進む値の数は一定ではありません）。プレイヤーが直近の結果を入力すると、ツールは約43億通り（2の32乗）のシードから結果が一致するものを探し、この先の並びを表示します。PONOSは抽選方式を公表しておらず、これは解析に基づく再現です。

「テーブルずらし」と呼ばれる攻略は、この並びの上で、どの回にどのガチャを引くかを選んで欲しいキャラの位置に合わせる遊び方です。乱数そのものは変えられないので、確率を上げているのではなく、決まっている並びのどこで引くかを選んでいるだけです。

### シード値と擬似乱数による結果列のPython再現例

同じ考え方を最小のコードで確かめます。レアリティの重みは説明用の値で、実在のゲームの排出率ではありません。

```
def xorshift32(x):
    x ^= (x << 13) & 0xFFFFFFFF
    x ^= x >> 17
    x ^= (x << 15) & 0xFFFFFFFF
    return x

RATES = [("レア", 6970), ("激レア", 2500), ("超激レア", 500), ("伝説レア", 30)]  # 合計10000（説明用）

def roll(seed):
    seed = xorshift32(seed)
    score = seed % 10000          # 1つ目の値でレアリティを決める
    upto = 0
    for name, w in RATES:
        upto += w
        if score < upto:
            return name, seed

def table(seed, n):
    out = []
    for _ in range(n):
        rarity, seed = roll(seed)
        seed = xorshift32(seed)   # 2つ目の値はキャラ枠の決定に使う
        out.append(rarity)
    return out

print(table(12345, 8))
print(table(12345, 8))  # 同じシードなら同じ並び
print(table(12346, 8))  # シードが1違えば別の並び
```

```
['激レア', 'レア', '激レア', '激レア', 'レア', 'レア', '超激レア', 'レア']
['激レア', 'レア', '激レア', '激レア', 'レア', 'レア', '超激レア', 'レア']
['激レア', 'レア', 'レア', '激レア', 'レア', 'レア', 'レア', 'レア']
```

1行目と2行目が完全に一致し、7回目に超激レアが来ることが引く前からわかります。このコードが示しているのは結果列の再現性で、シードと乱数の式に加えて重みや候補の設定もわかれば、プレイヤーは次の結果を知ったうえで引けます。

テーブルを読ませたくないなら、乱数の状態をサーバーにだけ置き、状態を推測できない乱数源（前章の `secrets`）を使います。

### 結果の並びを先に作る設計の落とし穴（幻影戦争の措置命令）

結果の並びを先に作って配る方式は、表示の書き方を誤ると景品表示法違反になります。消費者庁は2021年6月28日、スクウェア・エニックスとgumiに対し、「WAR OF THE VISIONS ファイナルファンタジー ブレイブエクスヴィアス 幻影戦争」の1周年記念ガチャ5種の表示が優良誤認に当たるとして[措置命令](https://www.caa.go.jp/notice/assets/representation%5F210629%5F03.pdf)を出しました。

画面には「召喚は１回ごとに、その提供割合にもとづいて抽選を行います。」と表示されていました。実際の抽選は、たとえばURユニットなら、提供割合3.33333%のキャラを2体ずつ、1.66666%のキャラを1体ずつ、計60体をランダムに並べたリストを2種類だけ作り、どちらのリストを使うかを抽選したうえで、そのリストの続きから連続する5体を配る方式でした。リストはプレイヤー全員に共通で、前の人が引いた続きから次の人の結果が決まり、1周すると先頭に戻ります。リスト内の構成比は、29種類が各2体で約3.333%、残る2種類が各1体で約1.667%となり、表示された割合に対応しています。それでも消費者庁は、出てくる組合せが限られ、1枠ごとに抽選していれば出る可能性があった組合せの「ほとんどが、絶対に提供されないもの」だったと認定しました。

この差を数で確かめるため、上の条件（31種・60体・リスト2種・前の人の続きから5体ずつ）を単純化して数えると、リスト方式で出うる5体の組合せは、リスト1本あたり60÷5＝12か所の切れ目しかないため最大24通りです。1枠ごとに31種から独立に抽選した場合は、並び順を区別せず同じキャラの重複を許して数えても324,632通り（重複組合せ 35C5）あります。単体の確率が合っていても、組合せの確率はまったく別物です。並びを先に作る方式を採るなら、表示を実際の抽選方法に合わせるか、方式を1枠ごとの独立抽選に戻すかのどちらかしかありません。

## 排出率とは｜提供割合の意味と確率表示の見方

排出率とは、1回のガチャで特定のアイテム（またはレアリティ）が出る確率です。業界ガイドラインでは「提供割合」と呼び、ガチャ画面の「提供割合」「排出確率」などのリンクから一覧で確認できます。押さえるべきは、表示の数字が「1回あたりの確率」で、外れ続けても上がっていかないことです。SSR全体が3%なら、9回続けて外れても10回目のSSRの確率は3%のままです（天井や確定枠がある場合を除く）。

見るときに取り違えやすいのは、レアリティ全体の割合とキャラ単体の割合です。「SSR 3%」と書かれていても、SSRが30種類いて各キャラが等確率なら、狙いの1体は0.1%で、ピックアップ対象だけ0.7%などと別に設定されていることもあります。引く判断には、狙いのキャラ単体の数字と、後述の天井までの回数を使います。

## 確率1%のガチャは何回引けば当たるのか｜期待値と確率分布

「確率1%なら100回で必ず1回は当たる」は誤解です。100回で1個というのは平均の話で、当たりを保証する回数ではありません。

### 期待値と「100回引いても当たらない」理由（独立試行）

ここでは、当選確率が毎回一定で、各回の結果が互いに独立するガチャを考えます。確率1%を100回引いたときに当たる個数の期待値は n×p＝100×0.01＝1個ですが、一人ひとりの結果は0個、1個、2個…とばらつきます。1回も当たらない確率は 0.99 を100回掛けた値で約36.6%です。確率1%のガチャを100回引いても、約3人に1人は1個も当たりません。直感と計算がずれる確率の例では[モンティ・ホール問題](/tech/details/6509/)も有名です。

### 二項分布による当選確率の計算（Python・SciPy）

「n回引いて何回当たるか」は二項分布で計算します。成功確率p、試行回数nのとき、ちょうどk回当たる確率は P(X=k)＝nCk・p^k・(1-p)^(n-k) です。PythonならSciPyの `binom.pmf` で1行で求まり、使い方の基本は[SciPyの使い方とNumPyとの違い](/tech/details/3137/)で解説しています。

```
from scipy.stats import binom

p = 0.01   # 排出率1%
n = 100    # 引く回数

miss = binom.pmf(0, n, p)        # 1回も当たらない確率
print(f"1回も当たらない: {miss:.1%}")      # 36.6%
print(f"1回以上当たる:   {1 - miss:.1%}")  # 63.4%
```

引く回数ごとに「1回以上当たる確率」を並べると次のとおりです（SciPy 1.13.1で計算）。

| 引いた回数（p=1%） | 1回以上当たる | 1個も当たらない |
| ----------- | ------- | -------- |
| 69回         | 50.0%   | 50.0%    |
| 100回        | 63.4%   | 36.6%    |
| 200回        | 86.6%   | 13.4%    |
| 230回        | 90.1%   | 9.9%     |
| 300回        | 95.1%   | 4.9%     |
| 459回        | 99.0%   | 1.0%     |

半分の人が当たるまでに69回、99%の人が当たるまでに459回かかります。「何回目で初めて当たるか」の分布は二項分布でなく幾何分布で、両者の違いは[ベルヌーイ分布・二項分布・幾何分布の違い](/column/details/4358/)で整理しています。結果をグラフにするなら[Matplotlib](/tech/details/3125/)が使えます。

### 天井がある場合の期待回数と予算の見積もり

狙いのキャラの確率pが毎回一定の独立抽選で、N回目に狙いのキャラそのものが確定する天井がある場合、手に入れるまでの平均回数は (1-(1-p)^N)/p で計算できます。途中で確率が上がる仕様や、確定するのが最高レアのどれか1体という仕様には、そのままは使えません。天井が無ければ平均は 1/p 回です。

| 単体の確率 | 天井   | 平均回数   | 天井まで行く確率 |
| ----- | ---- | ------ | -------- |
| 1%    | 100回 | 63.4回  | 37.0%    |
| 0.7%  | 200回 | 107.8回 | 24.7%    |
| 0.5%  | 300回 | 155.5回 | 22.3%    |

単体0.7%・天井200回なら、平均は約108回ですが、4人に1人は天井まで引くことになります。予算を決めるときは平均回数だけでなく天井までの最大支出も確認しておくと判断を誤りにくく、1回300円なら平均は約3.2万円、最大は6万円です。業界ガイドラインの「推定金額は1回の価格の100倍以内」という基準（後述）は、天井が無く確率と価格が一定なら平均回数 1/p を100回以内にすること、つまりガイドラインでいう「ガチャレアアイテム」全体の確率を1%以上にすることに相当します。

天井まであと少しのところで「ここでやめたら今までの課金が無駄になる」と感じるのはサンクコストの心理で、[コンコルド効果](/column/details/8560/)として知られています。止める基準は、引き始める前に回数か金額で決めておくのが確実です。

## 天井・ピックアップ・確定枠｜ガチャの種類と救済の仕組み

低い確率のままでは最悪の場合の支出に上限がないため、多くの作品は救済や調整の仕組みを入れています。いずれも提供割合のページや告知で公開される仕様で、確率操作とは別のものです。

- **天井**：一定回数で所定のキャラやレアリティの入手、または交換を保証する仕組み。狙いのキャラそのものが保証されるかは、作品とガチャの仕様を確認する。
- **ピックアップ**：特定キャラの排出率を期間限定で上げる。設定表の重みの書き換えで実現する。
- **確定枠**：特定のレアリティや対象の排出を保証する枠。たとえば、10連の最後の1枠をSR以上の設定表で抽選する実装が考えられる。
- **すり抜け**：ピックアップ対象でない最高レアが出ること。最高レア全体の割合の内訳に、対象外の枠が残っているために起こる。
- **ボックスガチャ**：中身の総数が決まっていて、引くたびに減る。外れを引けば残りの当たりの確率が上がり、当たりを引けば下がる。独立試行ではない。
- **ステップアップガチャ**：回数を進めるごとに価格や確率が段階的に変わる。

表示に注意が要るのはボックスガチャです。前の結果で次の確率が変わるのに、毎回同じ確率で独立に抽選するかのように表示すると、幻影戦争と同じく表示と実装が一致しません。中身の総数と残数、残数に応じて確率が変わることを示しておく必要があります。

## ガチャの確率操作は行われているのか｜発覚した事例と見分け方

「ガチャ 確率操作 内部告発」のように運営の操作を疑う検索は根強くあります。線を引く基準は、表示した確率・抽選方法と実際の抽選が一致しているかどうかです。天井やピックアップは公開された仕様なので操作ではありません。食い違いの原因が設定ミスでも意図的な変更でも、それが実際より著しく優良・有利と一般消費者に誤認させ、不当に顧客を誘引するおそれがあれば、日本では景品表示法第5条の不当表示に当たります。

実際に発覚した事例はあります。2018年9月には、アナザーエデンで、10連ガチャの結果が特定の条件に当てはまると引き直す処理が、2017年5〜6月の追加以来1年以上動いていたことが判明し、運営はガチャを一時停止し、お詫びのアイテムを配布しました（[東洋経済オンラインの報道](https://toyokeizai.net/articles/-/243464)）。2018年1月には、KOF’98 UM OLの「クーラ限定ガチャ」が出現確率3%と表示しながら実際は0.333%だったとして、消費者庁が有利誤認で措置命令を出しています（[gamebiz.jpの報道](https://gamebiz.jp/news/202734)）。前章の幻影戦争の件も、確率の数字は合っていたのに抽選方法の表示が違っていた例です。

ただし、発覚した事例があるからといって「どの運営も裏で確率を絞っている」とは言えません。確かめるなら、提供割合が単体まで表示されているか、抽選方法が書かれているか、試行回数の多い検証結果と表示が合っているかを見ます。数百回の試行で表示より低く出るのは、二項分布の表のとおり普通に起こります。

## 排出率の表示義務と法規制｜景品表示法・コンプガチャ・業界ガイドライン

日本で有料ガチャそのものを禁じる法律はなく、排出率の表示も法律上の義務ではありません。ルールは、景品表示法の2つの規制、業界団体のガイドライン、アプリストアの規約の3層で成り立っています。景品表示法全体の構造は[景品表示法の優良誤認・有利誤認と景品規制](/column/details/17344/)でも解説しています。

### コンプガチャが禁止された根拠（カード合わせ）

消費者庁は2012年5月18日に「[オンラインゲームの「コンプガチャ」と景品表示法の景品規制について](https://www.caa.go.jp/policies/policy/representation/fair%5Flabeling/pdf/120518premiums%5F1.pdf)」を公表しました（2016年4月1日に一部改定）。この文書は、有料のガチャを「オンラインゲーム上のアイテム等に関する取引」と位置づけたうえで、特定の数種類を全部そろえた人に別のアイテムを渡す行為は、取引に付随して提供される「景品類」であり、懸賞景品制限告示第5項が禁じる「カード合わせ」に当たると整理しています。画面上のアイテムの図柄も、紙のカードと同じ「符票」に当たるという判断です。消費者庁は運用基準を改正し、[景品表示法を執行するのは2012年7月1日から](https://www.caa.go.jp/policies/policy/representation/fair%5Flabeling/faq/card)と明示しました。

規制されたのは「そろえたら別のものがもらえる」上乗せ部分です。同じ消費者庁のQ&Aは、有料ガチャで得るアイテムは「取引の対象そのものであり、当該取引に付随して一般消費者に提供されるものではないため、景品類には該当しません」としています。開発では、有料ガチャの排出物だけで達成するコンプリート報酬がこの類型に入りうる要注意箇所です。

### 表示と実際の食い違いと不当表示の要件

排出率の表示は義務ではありませんが、表示した以上は実際と一致させる必要があります。景品表示法第5条は、商品・役務の内容を実際より著しく優良と示す表示（第1号・優良誤認）と、取引条件を実際より著しく有利と誤認させる表示（第2号・有利誤認）を、不当に顧客を誘引し消費者の自主的・合理的な選択を妨げるおそれがある場合に禁じています。消費者庁は、表示より確率が低かったKOF’98 UM OLを有利誤認、抽選方法が表示と違った幻影戦争を優良誤認として措置命令を出しました。表示した設定表と、本番サーバーで動いている設定表を照合できる仕組みが、運営側の最低限の防御です。

### JOGA・CESAのガイドラインとストア規約の要件

業界の自主規制は2団体が出しています。日本オンラインゲーム協会（JOGA）の「[ランダム型アイテム提供方式を利用したアイテム販売における表示および運営ガイドライン](https://japanonlinegame.org/wp-content/uploads/2024/06/JOGA%5Fdeclaration%5F2024.pdf)」（2012年9月1日施行、最新は2024年6月7日改訂・同27日施行）は、獲得できる全アイテムの表示と、キャンペーンで提供割合を変えるときの条件と増減の事前表示を求めています。確率の扱いは選択制で、「いずれかのガチャレアアイテムを取得するまでの推定金額を1回の価格の100倍以内にする（超えるなら表示）」「推定金額を5万円以内にする（超えるなら表示）」「レアアイテムの提供割合の上限と下限を表示」「種別ごとの提供割合を表示」のいずれかを守る形です。

コンピュータエンターテインメント協会（CESA）の「[ネットワークゲームにおけるランダム型アイテム提供方式運営ガイドライン](https://cesa.or.jp/uploads/2016/release20160427.pdf)」（2016年4月27日制定・施行）は、すべてのアイテムの提供割合がわかる表示を原則にし、同等にわかりやすい説明をする場合に限り上の推定金額などの方法で代えられるとしています。全アイテムの提供割合表示を原則としているのはCESAです。JOGAの選択肢には「ガチャアイテムの種別毎」の提供割合表示がありますが、個々の全アイテムの割合表示と同じ要件ではありません。

開発者にとって重いのは、表示以外の運用条項です。JOGAは、運用責任者が提供前に提供割合を承認し、設定どおり動いているかを確認して書面で記録する仕組みと、提供割合を「安易に変更できないよう」なシステム設計を求めています。CESAは、運営部門から独立した部門によるガチャ仕様の検証を求めています。設定表の変更履歴と承認記録、本番の設定と表示の自動照合は、この条項を満たすための実装要件と読めます。

アプリストアの規約は、団体に入っていない運営にも効きます。Appleの[App Store Reviewガイドライン](https://developer.apple.com/app-store/review/guidelines/)3.1.1は、ルートボックスなどランダムなアイテムを販売するアプリに「購入前に各種類のアイテムを受け取るオッズを開示」するよう求めています。Google Playの[お支払いに関するポリシー](https://support.google.com/googleplay/android-developer/answer/9858738)も、購入前に、購入画面の近くで確率をはっきり開示するよう定めています。ゲームアプリの企画から運営までの開発を外部に頼む場合は、[ゲームアプリ開発の支援内容](/service/apps/game/)も参考にしてください。

### 韓国の確率表示義務と虚偽表示への処分

韓国はゲーム産業振興法の改正で、2024年3月22日から確率型アイテムを提供するゲームは確率情報の表示が義務になり、表示しない場合や虚偽の確率を表示した場合は是正命令などの対象になります。根拠は同法第33条第2項で、ゲーム内で使われる確率型アイテムの種類と種類別の供給確率などの表示を義務付けています（[韓国国家法令情報センターの改正履歴](https://law.go.kr/LSW/lsRvsDocListP.do?chrClsCd=010202&lsId=010196&lsRvsGubun=all)）。表示と実際の食い違いは別の法律でも処分されており、韓国公正取引委員会は2025年6月16日、KRAFTONが「PUBG: BATTLEGROUNDS」で実際には0%の31アイテムを0.1414〜0.7576%と表示していたなどとして、電子商取引消費者保護法違反として同社とCom2uSに各250万ウォンの過料を科したと[公表](https://www.ftc.go.kr/www/selectBbsNttView.do?bordCd=3&key=12&nttSn=46179)しました。表示が義務かどうかにかかわらず、表示と実際の食い違いが処分の対象になる点は日本と同じです。

## よくある質問

### ガチャの排出率はどこで確認できますか？

多くの作品では、ガチャ画面の「提供割合」「排出確率」などのリンクから一覧を確認できます。App StoreとGoogle Playの規約が購入前の確率開示を求めているため、ストアで配信され、購入によってランダムなアイテムを提供するガチャには、購入前の確率開示が求められます。表示は1回あたりの確率なので、レアリティ全体でなく狙いのキャラ単体の数字を見てください。

### 確率1%のガチャは何回引けば当たりますか？

必ず当たる回数はありません。100回引いて1回以上当たる確率は63.4%で、50%を超えるのが69回、90%で230回、99%で459回です（天井がない場合）。確率pが毎回一定でN回目に狙いのキャラが確定する天井なら、平均回数は (1-(1-p)^N)/p で見積もれます。

### ガチャの確率は時間帯やタイミングで変わりますか？

確率の設定が一定で、時刻に応じて設定を切り替える処理も無く、1回ごとに新しい乱数で抽選する方式なら、時刻・曜日・引く間隔で当選確率は変わりません。「深夜は当たりやすい」という説に技術的な裏付けはありません。にゃんこ大戦争の非公式解析で扱われる結果の並びも、時間帯で当たりやすさが変わる根拠にはなりません。予測結果は、シードやガチャの設定、抽選に伴う状態の進み方によって変わります。

### ガチャの確率操作は違法ですか？

表示した排出率や抽選方法と実際の抽選が違い、それが実際より著しく優良・有利と誤認させるものであれば、景品表示法の不当表示（優良誤認・有利誤認）として消費者庁の措置命令の対象になります。天井・ピックアップ・確定枠などの公開された仕様は確率操作ではありません。

### SSRとは何ですか？

SSRは、ソーシャルゲームで使われるレアリティ表記の一つです。N・R・SR・SSR・URのように上がる作品が多いものの、名称と段階は作品ごとに違います。排出率も作品とガチャごとに違うので、引く前に提供割合の表示で確認してください。

## 関連記事

- [SciPyとは？読み方・使い方・NumPyとの違いをPythonで解説](/tech/details/3137/)
- [ベルヌーイ分布と二項分布の違いとは？幾何分布・多項分布との関係と期待値・分散の公式](/column/details/4358/)
- [モンティ・ホール問題とは？扉を変えると勝率が2倍になる理由と成立条件](/tech/details/6509/)
- [ランダムサンプリングとは？5種類とExcel・Pythonのやり方](/column/details/6944/)
- [PlayFabとは？料金プラン・無料枠・Unity SDKの導入手順【2026年9月時点】](/tech/details/4904/)

---

出典: [ソシャゲのガチャの仕組み｜抽選アルゴリズム・ガチャテーブル・排出率から確率操作の実態まで](<https://www.issoh.co.jp/tech/details/2648/>)（株式会社一創）
