← 仕様書TOPへ戻る
CANDIDATES · DPM内variant比較

UGC DPM 8候補比較

DPMファミリー(pool制)の中で、初期化方法・価格発見・creator関与の組合せで 8つのvariantを並べる。
LMSRは要件C(運営loss=不正動機)を満たさないので UGC では選択肢から除外。

❓ そもそも DPM って「予測市場」と言えるのか?

結論から:広義では Yes、ただし LMSR/CLOB に比べて「価格 = 真の確率」の引き出し力は弱い

定義の派閥 DPMは予測市場か 論拠
Hanson派 (LMSR)
厳密学派
✗ 弱い strict proper scoring rule でないので「真の確率を表出させる incentive」が弱い。早期参加者ほど安く買える=価格はbid timing と信念のmix
Pennock派 (DPM元提唱)
実用学派
✓ Yes "A Dynamic Pari-Mutuel Market for Hedging, Wagering, and Information Aggregation" (2004) で提案。Yahoo Tech Buzz Game で実証
業界実装 ✓ Yes Polymarket=CLOB, Kalshi=CLOB, Manifold=CPMM, Augur=LS-LMSR, 9Lives=DPM, Twitch=parimu — どれも「予測市場」と呼ばれている

価格発見力の階層

機構 価格発見力 ミライマでの位置付け
CLOB (Polymarket/Kalshi) 最強(市場参加者間で incentive compatible) 板表示するなら採用、ライト層には不向き → 採用しない
LMSR (Hanson) 強(myopic incentive compatible) 運営loss発生 → UGCで採用不可。運営作成市場のみ継続
LS-LMSR (Augur, 動的b) creator-pays-bが必要、UGCのcreator負担増
DPM (Pennock/Delphi式) 中(noisy probability estimator) 運営loss=0、creator負担=0、価格は「ざっくり指標」として機能
Pure parimutuel (Twitch型) 弱(価格関数なし) 「予測市場」というより「pool分配ゲーム」

ミライマでの判断

ミライマUGCは 短期スポーツ予想・SNS的コミュニティ予想が中心。「秒〜時間単位の感情ベースの予想」と「日〜週単位の精緻な確率発見」のうち前者。

DPM の価格は「真の確率の noisy estimator」だが、UGC用途には十分。HSX (Hollywood Stock Exchange) も同等の精度で 25年機能している。

「予測市場」を厳密に定義すると Hanson派的には DPM は弱いが、「みんなで予想して価格が動き、当たれば payout」という体験的定義では DPM も予測市場

📊 8候補 × 6要件 マトリクス

DPMの中で「初期化方法 × 価格発見 × creator関与」の組合せ。全部 pool制 = 運営loss構造的に0。

要件 A.
運営seed
B.
creator任意seed
C.
価格非表示
(N人集計)
D.
Pure parimu
(Twitch型)
F.
peer matching
(YES=NO揃う)
G.
動的k
(出来高連動)
H.
+時間加重
(早期boost)
I.
フル装備
(全機能)
A. 運営loss
月¥20k

0〜¥10k
✓✓
¥0
✓✓
¥0
✓✓
¥0

初期seedのみ

同A

同A
B. payout確定
k×share保証

同左

N人後

常uncertain

マッチ後

同A

同A

同A
C. 不正動機
seed分

0可
✓✓
0
✓✓
0
✓✓
0

初期seed分

同A

同A
D. 予測市場性
即機能

同左

N人後

価格発見なし

マッチ後
✓✓
出来高で深化
✓✓
早期情報引出
✓✓
全部入
creator簡単 ✓✓
任意
✓✓ ✓✓ ✓✓ ✓✓ ✓✓ ✓✓
実装工数 3-5日 3-5日 4-6日 2-3日 5-7日 7-10日 5-7日 10-14日
月運営コスト ¥20k ¥0-10k ¥0 ¥0 ¥0 ¥5k ¥20k ¥20k

記号: ✓✓ 最高 / ✓ 高 / △ 中 / ✗ 低

🔍 各候補の詳細

A DPM + 運営seed
運営が無料seed投入
各UGC市場に運営が市場立ち上げ時に1,000 coin/outcome(=2,000 coin)を投入。50:50で起動、すぐに価格表示。

仕組み

市場作成
  ↓
運営seed 投入: qY = qN = 4.71 (= 1,000 coin/outcome相当)
  ↓
50% / 50% で起動、即時 価格公開
  ↓
ユーザーがbet → DPM稼働
  ↓
解決時 pool / winning shares × my shares で分配(seedも溶ける)
A loss
B payout
C 不正
D 予測市場
creator
✓✓
月コスト
¥20k
メリット
  • creatorは何も背負わない
  • 1人目から自然な50:50起動
  • 価格表示で予測市場として機能
  • 実装シンプル(Delphi式そのまま)
デメリット
  • 運営マーケ費用 月¥20,000程度(100市場想定)
  • seed分が不正者の取り分になり得る(上限¥200/市場)
  • 「市場数 × seed額」がスケール時に予算膨張
B DPM + creator任意seed
「俺はYES派」と言いたいcreatorだけseed入れる
creatorが任意でYES寄り or NO寄りで初期seed入れる。意見ない場合は運営seed(or 候補C方式)にフォールバック。

仕組み

市場作成
  ↓
creator: 「俺はYES 60%だと思う」 + 1,000 coin入れる(任意)
  or
  「中立」 → 何も入れない → 運営フォールバック
  ↓
qY = 5.65, qN = 3.77 で起動(60:40)
  ↓
creatorは「自分のbet」として扱われる、結果当たれば payout 受け取る
A loss
B payout
C 不正
D 予測市場
creator
月コスト
¥0-10k
メリット
  • 「creator意見」表明機能で議論喚起
  • creatorが入れない場合でも運営フォールバック
  • creator入れたら運営費用ゼロ
デメリット
  • creatorが入れる/入れないの設計が複雑
  • 結局フォールバックで運営seed必要
  • creatorが「強制ではないが入れた方がいい」雰囲気でハードル感
D Pure pari-mutuel (Twitch型)
価格発見なし、pool割合だけ
Twitch Channel Points Predictionsと同じ。各bet pool に直接投入、shares 1:1 固定。価格・確率発見なし、pool 割合だけ表示。

仕組み

市場作成(何も入れない)
  ↓
ユーザー bet → pool に直接加算
  ↓
表示: 「YES 700 coin (62%) / NO 430 coin (38%)」
  ※ DPM/LMSR的「価格」概念なし、pool シェアのみ
  ↓
解決時: pool / winning total × my bet で分配
A loss
✓✓
B payout
C 不正
✓✓
D 予測市場
creator
✓✓
月コスト
¥0
メリット
  • 実装超シンプル(数学的に最も単純)
  • Twitchで月数億ベットの実証あり
  • 運営費用・creator負担ともゼロ
  • UI も「pool割合表示」だけで分かりやすい
デメリット
  • 「価格」概念なし = informed trader が動機なく
  • 「予測市場」というよりは「pool分配ゲーム」
  • payout 常に uncertain(最後まで分からない)
  • 売却機能の意味が薄い(価格関数なし)
  • 競合との差別化弱い(Twitchと同じだから)
F DPM + peer matching
YES/NO バランス揃うまで「起動」しない
YES/NO 両側にbetが揃うまで market を「pre-market」状態にし、価格・リスク露出ゼロ。両側揃った時点で起動、以降通常DPM。1人目の100%張り付き問題を構造的に回避。

仕組み

市場作成(pre-market 状態)
  ↓
ユーザーbet → escrow に積み上げ(YES側 / NO側 別々)
表示: "YES側 12人 ¥1,200 / NO側 3人 ¥350 / 起動まで NO側 +¥850"
  ↓
両側 min閾値(例: 各¥500、各3人以上)到達 → 起動 (live)
qY, qN は escrow 比率から計算
  ↓
以降、通常DPM稼働(売却可)
  ↓
時間切れで未起動 → 全額自動refund
A loss
✓✓
B payout
C 不正
✓✓
D 予測市場
creator
✓✓
月コスト
¥0
メリット
  • 1人目100%問題を完全に回避(起動条件で)
  • 運営費・creator負担ともゼロ
  • 「揃わなければ全額返金」で安心感
  • 初期参加者に「起動させる」ゲーム性が生まれる
デメリット
  • 偏ったテーマ(明らかにYES寄り等)はNO側集まらず未起動になる
  • UGCの「ニッチで盛り上がる」テーマほど死産しやすい
  • pre-market中はリアル予測市場として機能していない
  • 「起動待ち」UI状態が長く残ると萎える
G DPM + 動的k
出来高に応じて k を上げる(Augur LS-LMSR的)
DPMの k を固定にせず、pool規模に応じて動的に増やす。初期は k=1〜2 で「振れやすい」、人が集まるほど k 増えて価格安定。Augur の LS-LMSR (Liquidity Sensitive) と同じ思想を DPM に適用。

仕組み

k(pool) = α × log(1 + pool / β)
  例: α=1.5, β=500
   pool=0     → k=1.0(参入しやすい・価格振れる)
   pool=5,000 → k=4.6
   pool=50,000 → k=7.2(価格深く・操作しにくい)

C(q) = k(pool) × √(qY² + qN²)
prob_yes = qY² / (qY² + qN²)

価格は出来高ステージに応じて自動調整
A loss
B payout
C 不正
D 予測市場
✓✓
creator
✓✓
月コスト
¥5k
メリット
  • 小規模UGCも大規模公式も同じmechanismで動く
  • 初期 k 小 = 早期参加者が「価格動かせる」スリル
  • 後半 k 大 = informed traderが入っても安定
  • Augurで実証済み
デメリット
  • k 変動でpayout計算が複雑(売却UI再計算頻発)
  • 「k変わる=ルールが途中で変わる」と感じられる
  • 初期 k 小ゆえに早期betがbestになりすぎ
  • α/β のチューニング難(テーマ毎に最適値違う)
H DPM + 時間加重ボーナス(9Lives方式)
早期参加に share boost
9Lives (Polkadot系) の Ninetails が採用する時間加重DPM。同額bet でも early bird ほど多い shares を獲得(情報非対称報酬)。情報を最初に持ち込んだユーザーへの報酬厚く、平均回帰を促す設計。

仕組み

shares_received = bet_amount × time_multiplier(t)

time_multiplier(t):
  t=0%   → ×2.0  (市場開始直後)
  t=25%  → ×1.5
  t=50%  → ×1.2
  t=75%  → ×1.0
  t=100% → ×0.8  (close直前)

例:
  Aさん: 開始直後に100 coin YES → 200 shares
  Bさん: close直前に100 coin YES → 80 shares

  結果YES時:
    pool / (winning shares 合計) × my shares で分配
    → 早期Aさんが厚く戻る
A loss
B payout
C 不正
D 予測市場
✓✓
creator
✓✓
月コスト
¥20k
メリット
  • 「早く張った人が勝つ」報酬 → 情報を最初に取りに行く動機
  • 後乗り防止、初期から市場が動く
  • 9Livesで実証済みの設計
  • UGCで「予言者」を称えやすい
デメリット
  • time_multiplier の透明な開示が必要(不公平感対策)
  • 初期に運営/Bot が張ると常に勝つ(要件C違反リスク)
  • 市場開始前のwatch listとtimer notification実装必要
  • 「早ければ勝つ」=情報以外の要素が混ざる
I DPM フル装備(C + H + 売却 + Badge)
価格非表示 + 時間加重 + 売却 + 早期Badge 全部入り
候補Cの「N人まで価格非表示」と、候補Hの「時間加重」を統合。さらに売却機能・早期参加Badge・shareXボタンも付ける。「コミュニティ予測SNS」の最終形。

仕組み

市場作成(何も入れない)
  ↓
[フェーズ1] 集計中(最初のN人=5人)
  - 価格非表示、escrow積み立て
  - bet_time をrecord、shares = bet × time_multiplier
  - 早期参加に "👁 First Watcher" Badge
  ↓
[フェーズ2] N人到達 → live化
  - C(q) = k × √(qY² + qN²) で価格公開
  - 売却機能ON(5%手数料)
  - 残り時間の time_multiplier 表示
  ↓
[フェーズ3] 解決
  - pool / 勝者shares × my shares
  - 「予言者バッジ」(早期で当てた人にX共有可能)
A loss
B payout
C 不正
D 予測市場
✓✓
creator
✓✓
月コスト
¥20k
メリット
  • SNS的enagement最大(バッジ・X共有・予言者称号)
  • 「早期に当てる」物語性 → UGC creator の自慢動機
  • 売却で出口あり、流動性も担保
  • 1人目100%問題は価格非表示で回避
デメリット
  • 実装重い(10-14日)
  • UI 複雑化、ライト層が混乱しやすい
  • 多機能 → ABテストが難しい
  • Badge/Bonus は無料コインなので運営コスト発生

🧮 数値シミュレーション(Aさん100 coin YES bet → 結果YES)

シナリオ A. 運営seed B. 任意seed C. 価格非表示 D. Pure parimu F. peer match G. 動的k H. 時間加重 I. フル装備
単独betで結果YES 100 → 100
(seed戻る分)
同左 100 → 100
(他なし)
100 → 100 refund
(未起動)
100 → 100
(seed戻る)
100 → 100 100 → 100
後乗り爆発(+5,000) YES 100 → 158
(+58%)
同左 100 → 158
(N人後)
100 → 110
(pool薄)
100 → 158
(NO揃えば)
100 → 175
(初期k小)
100 → 230
(早期×2.0)
100 → 240
(C+H複合)
後乗り逆方向(NO+5k)→YES 100 → 977
(レア当)
同左 同上 100 → 1,177 100 → 977
(マッチ後)
100 → 1,050
(k小=リワ大)
100 → 1,400
(時間×share)
100 → 1,450
運営loss(市場あたり最大) -200円 -100円 0円 0円 0円 -100円
(初期seed)
-200円
(badgeコイン)
-200円

※ Hは early bird ×2.0 multiplierを想定。Iは C+H 同時適用で多少誇張。実際のmultiplier曲線でチューニング可能。

🎯 判断軸

こだわり軸 推奨 理由
運営費用 完全ゼロを最優先 C / D / F seed不要、ユーザー間ゼロサム
不正の起こりにくさを最優先 C ≒ D ≒ F 取れるseedゼロ=取り分の的がない。Aはseed分(¥200/市場)・Hは時間加重がbot最も有利・Iも同じ
creator簡単さを最優先 全候補(B除く) creatorは何も背負わない、意見も任意
予測市場として「即時に」機能させたい A / B / G / H 1人目から価格発見動く。CとFはN人/マッチ後に発動
予測市場として「最終的に」機能すればOK C / F / I も可 Cは N人後に通常DPM 起動、Fはマッチ後に起動。Dだけは最後まで価格発見なし
payout確定UXを死守 A or B 初手から k×share保証で計算可能
実装最速 D 2-3日。Twitch型単純
SNS/コミュニティ予測として C / I 「みんなで予測する」感覚+バッジ・X共有
informed trader呼び込み A / G / H 初期から価格表示で利益機会あり、Hは早期報酬厚い
1人目100%張り付きを構造的回避 C or F Cは価格非表示、Fは pre-market で起動条件待ち
「予言者」称号で UGC自慢を促す H or I 時間加重で「早期=厚いリワード」物語性
ニッチテーマ死産対策 C > F Fは両側揃わずに死産するがCは1人でも開始

🚨 不正起こりやすさ ランク(低い順)

候補 標的になるもの 取り分の最大値 主な不正手口 ランク
C 価格非表示 なし(pool=ユーザー同士ゼロサム) ¥0 Sybilで自己マッチ(複数垢で自分のpool膨張)→自分の出した分を自分で取り戻すだけ、構造的に利得ゼロ ✓✓ 最低
D Pure parimu なし ¥0 同上 ✓✓ 最低
F peer matching なし(両側揃うまで起動なし) ¥0 自己マッチで起動はできるがpoolは自分のコイン ✓✓ 最低
B 任意seed creator自発seedのみ creator次第(最大¥100程度) creatorが入れた seed を狙ってbot参戦 ✓ 低
G 動的k 初期seed + 初期k小の優位 ¥100/市場 + 早期betの過剰リワード k小の初期にbotが先入り → 価格動かして escape △ 中
A 運営seed 運営seed(¥200/市場) ¥200/市場 × 100market = 月¥20k botで全UGC市場に薄く参戦・期待値で回収 △ 中
H 時間加重 早期botのshare boost ×2 multiplier × pool規模 botに最も有利。新着監視botが常時×2取得 ✗ 高
I フル装備 H含むため同じ 同上 Hの問題を内包 ✗ 高

pool型は構造的に「他人のコインを取る」ゼロサムなので、運営seed や bonus が無い限り「不正で取れるもの」が存在しない。Aは¥200/市場の的、Hは時間加重そのものが標的になる。

どれにする?

選択を仮決めして、Notion更新・実装スコープ詰めへ進む。後で変更も可。