01三層構造
各プラットフォームは経済単位そのものが異なります。ココナラは出品型、Fiverr は Gig 型のカタログ、Upwork は求人・提案型、Freelancer.com はプロジェクト・入札型。Upwork の求人1件と Fiverr の検索1件を足した数字には意味がありません。変換を挟まずに合算した指数は、見た目が整っているだけで何も測っていません。
| プラットフォーム | 市場構造 | 観測される単位 |
|---|---|---|
| ココナラ | 出品型 | 出品数、販売実績、評価数 |
| Fiverr | Gig型(カタログ) | Gig数、検索、注文(レビュー差分から推定) |
| Upwork | 求人・提案型 | 求人投稿数、提案数 |
| Freelancer.com | プロジェクト・入札型 | プロジェクト数、入札数 |
| クラウドワークス | 募集・応募型 | 募集数、応募数 |
そこで、観測から指数までを三層に分けます。各層の出力は前層へのポインタを保持し、監査可能性はこの構造に依存します。
地域依存の所在
共通スキーマとオントロジーの階層構造は地域非依存です。一方、表層表現の対応表(言語ごと)、観測手段(どのサイトを見るか)、較正係数(市場規模が違う)は地域依存です。データが完成した後の配布は地域を問いませんが、データを作る工程は地域ごとに作り直しになります。
02Market Ontology
多言語・多表記の表層表現を、単一の市場定義に束ねます。
「logo design」「logo designer」「brand logo」「logo creation」
「ロゴ制作」「ロゴデザイン」「ロゴ作成」
↓
DESIGN > BRANDING > LOGO_DESIGN
Constraint
LLM は対応表の生成に使います。ただし分類器として実行時には使いません。LLM の分類は非決定的で、モデルを更新した瞬間に過去の割り当てが変わります。時系列がこの事業の資産の全てである以上、分類が動くと資産が壊れます。
| 項目 | 方針 |
|---|---|
| LLM の役割 | 表層表現 → 市場定義の対応表を生成する(オフライン) |
| 対応表の扱い | バージョン付きの凍結資産。実行時は表引きのみ |
| 新規表現の追加 | 自動採用しない。人手レビューを通す |
| 再分類 | 日付を切った明示的マイグレーションとしてのみ実施 |
| 旧系列 | 削除しない。新旧の ontology_version を並存させる |
| 付与 | 全 observation に ontology_version を記録 |
Ontology v0.1 は、生データ90日分の観察後に確定します。実データを横断で見る前に体系を作ると、実在しない構造を設計してしまうためです。なお、ココナラの「占い」「悩み相談・カウンセリング」のように、英語圏の主要プラットフォームに対応先が存在しないカテゴリがあります。全カテゴリが対応するわけではないことを前提に設計します。
03正規化:水準を失わない設計
最も重要で、最も間違えやすい箇所です。プラットフォーム内で percentile や Z-score を取ると、水準の情報が消えます。Fiverr のロゴ市場がココナラの10倍の規模であっても、それぞれの市場内で90パーセンタイルなら同じ数字になります。このとき指数が測っているのは「そのプラットフォーム内での相対的な目立ち度」であって、需要そのものではありません。
Cross-Market Gap は水準差の検出そのものです。相対値のみで統合すると、原理的に検出不能になります。
Design rule
全カテゴリについて、相対値と絶対量を必ず両方保持する。
| フィールド | 内容 | 用途 |
|---|---|---|
index_relative | 0〜100。プラットフォーム内正規化 | カテゴリ間の比較 |
volume_absolute | 観測件数 / GMV 代理値 | プラットフォーム間・地域間の比較 |
volume_confidence | 絶対量推定の信頼度 | 較正の質の開示 |
較正(アンカー方式)
アンカーカテゴリを少数固定する両プラットフォームに明確な対応物が存在し、取引の代理指標が最も直接的に取れるカテゴリを選ぶ。生データ90日分の観察が入力になる。
較正係数を推定するアンカーにおける実測値からプラットフォーム間の較正係数を推定する。
残りのカテゴリの絶対量を推定する相対値 × 較正係数で絶対量を推定する。全カテゴリで絶対値を直接取る必要はない。
バージョンと推定誤差を出力に含める較正係数のバージョンと推定誤差を、指数と一緒に出力する。
アンカーがゼロの状態で相対値だけを統合した指数には、意味がありません。
04需要代理指標と変換上の注意
直接の検索ボリュームは各プラットフォームとも非公開です。需要は以下の代理指標で構成します。
| 指標 | 取得方法 | 精度 |
|---|---|---|
| 販売速度 | レビュー数・販売実績数の期間差分 | 高。中核指標 |
| 検索意図 | オートコンプリート候補の出現・消滅 | 中。方向性のみ |
| 外部検索需要 | キーワードプランナー(国別実数)、トレンド(地域内訳) | 中〜高 |
| 求人データ | 企業が何を採用しているか=何を外注・購買するかの先行指標 | 中 |
プラットフォームごとの落とし穴
| プラットフォーム | 需要代理 | 変換時の落とし穴 |
|---|---|---|
| Upwork | 求人投稿数 | 1件が $500 か $50,000 か区別できない。予算帯を必ず併記する |
| Fiverr | レビュー数差分から注文数を推定 | レビュー率が未知。定数として推定し、その定数と感度を明示する |
| ココナラ | 販売実績差分 | 表示が丸められる階級値。丸め幅を誤差として保持する。丸め境界を跨がない変動は観測できない |
| Freelancer.com | プロジェクト数 | 入札数を需要に算入しない。入札は供給側の指標であり、需要に足すと符号が逆になる |
入札数・提案数は Supply Index 側に入ります。各代理指標をどのソースから取るか(候補と確認状態を含む)は観測ソースに一覧があります。
雇用需要は別のレイヤーとして持つ
求人件数は外注需要(サービス市場)とは別の指標として保持し、混ぜません。同じ市場について外注需要と雇用需要を並置すると、水準だけでなく構造の変化が見えます。
AI Agent Development
外注需要(サービス市場) +80% 雇用需要(求人) +55% → 市場全体が伸びている可能性
外注需要(サービス市場) +150% 雇用需要(求人) −5% → 雇用ではなく外注化が進んでいる可能性
どちらも事実の並置であり、解釈は加えません。求人の集計指数(Indeed Hiring Lab)と、公式 API で取れる実求人件数(Saramin など)を区別して記録します。
05出力する指標セット
単一の Gap スコアにはまとめません。販売速度 ÷ 供給密度 のような比率に潰すと、「100 ÷ 10」と「10,000 ÷ 1,000」が同じ値になります。市場としては全く別物です。比率は水準を消します。
| 指標 | 内容 | 型 |
|---|---|---|
demand_index | 需要の相対値 | 0〜100 |
supply_index | 供給の相対値 | 0〜100 |
gap_index | 差分 | ±pt |
momentum | Gap の90日変化 | ±pt |
price_median | 中央値価格 | 通貨額 |
volume_absolute | 絶対量(観測件数/GMV代理) | 実数。省略不可 |
confidence | 信頼度 | 0〜100 |
volume_absolute を欠いた出力は作りません。06Cross-Market Gap
同一の市場定義について、地域間の需要・供給の水準と変化を並置します。出力は事実の並置に留め、解釈を加えません。「アービトラージ」という語は利益機会の提示を含意するため使いません。
これは水準差の検出であるため、volume_absolute と較正係数が揃って初めて成立します。相対値のみでは原理的に検出できません。言語とプラットフォームの壁により即座には埋まらないため、公開しても自己破壊しにくい唯一の指標であり、最優先で実装します。
07Confidence Model
Confidence は表示上の親切さのために置くのではなく、Signal Validation Log に統計的な意味を与えるために必要です。全判定を一本の的中率で公開すると、外れたときに何も説明できません。帯別に分解して初めて、次のような開示が可能になります。
Confidence 90以上の判定:的中率 71%
Confidence 60未満の判定:的中率 48%
Confidence 58 と開示した判定が外れても信用は毀損しません。開示せずに外した場合のみ毀損します。
因子
シグナル種別に等級を貼るだけでは不十分です。A級シグナルで観測3週間のカテゴリと、B級で観測18ヶ月のカテゴリでは、実際の信頼度が逆転しえます。
| 因子 | 内容 | 範囲 |
|---|---|---|
S シグナル品質 | 需要代理指標の等級(A/B/C/D) | 0〜1 |
M ソース多重性 | 独立ソース数と、相互の一致度。信号の種類(サービス市場/専門市場/求人/マイクロタスク/検索/コミュニティ)が異なるほど独立とみなす | 0〜1 |
N 標本量 | 観測対象の母数 | 0〜1 |
T 観測期間長 | その系列の連続観測日数 | 0〜1 |
F 鮮度 | 最終観測からの経過時間 | 0〜1 |
Confidence = 100 × ( w_S·S + w_M·M + w_N·N + w_T·T + w_F·F )
重みは推測せず、実測から較正する
初期の重みは仮置きであり、正しさを主張しません。Signal Validation Log が最初の検証サイクルを終えた時点で、Confidence 帯別の実測的中率との相関から重みを較正します。Confidence モデル自体がバージョン管理の対象です。
- 全出力に
confidence_model_versionを付与する - 較正のたびに旧バージョンの出力を保持する(過去の開示を遡って書き換えない)
- 較正の実施と変更内容を公開する
- 四半期ごとに Confidence 帯別の的中率(較正曲線)を公開する。Confidence が的中率と単調に相関していなければ、モデルが壊れている
低 Confidence を隠さない
Confidence が低いカテゴリを非表示にせず、数値を添えて表示します。較正が済んでいない指標にはその旨を明示し、絶対量推定が較正係数に依存している場合は volume_confidence を別途出します。
AI Agent Development Gap +33 Confidence 92
Japanese Voice Acting Gap +35 Confidence 58
Gap のみを見れば後者が大きいですが、データ品質が弱いことが同時に読めます。この2行が並んで表示されることが、この製品の設計思想そのものです。
08表示ルール
製品が中立でも、審査されるのは表示です。中身と訴求の温度を一致させるため、以下を UI とデータ配布物の両方に適用します。
- 総合ランキングを作らない。単一の順位表を出した時点で、一文も推奨していなくても推奨になる
- 既定のソート列が事実上のランキングになる。初期表示はカテゴリ名順または観測日順とし、Gap 降順は利用者が明示的に選択した場合のみ適用する
- 「注目」「おすすめ」「有望」等のラベルを UI 語彙から排除する
- 並べ替え軸は対称に提供する(Demand 昇降/Supply 昇降/Gap 昇降/Momentum)
- 「稼げる」「収益が見込める」類の訴求を、自社の表示物から排除する
AI Agent DevelopmentAI_AGENT_DEVELOPMENT | 84 | 51 | +33 需要>供給 | +21 | ¥124,000$780 | 4,120 件/月 | 92 |
AI Automation (n8n etc.)AI_AUTOMATION | 77 | 63 | +14 需要>供給 | +9 | ¥66,800$420 | 6,880 件/月 | 85 |
Code Review / QACODE_REVIEW_QA | 58 | 39 | +19 需要>供給 | +4 | ¥41,300$260 | 1,390 件/月 | 71 |
Japanese Voice ActingJA_VOICE_ACTING | 66 | 31 | +35 需要>供給 | +12 | ¥15,100$95 | 310 件/月 | 58 |
Logo DesignLOGO_DESIGN | 61 | 88 | −27 供給>需要 | −6 | ¥19,100$120 | 21,400 件/月 | 94 |
Translation JA↔ENTRANSLATION_JA_EN | 49 | 72 | −23 供給>需要 | −14 | ¥9,500$60 | 5,200 件/月 | 88 |
09公開範囲とバージョン
以下は仕様として公開します。
- オントロジーの対応表(バージョンごと)
- 指数の算出式
- Confidence の因子・重み・較正履歴
- 較正係数とアンカーカテゴリ、推定誤差
- 日次チェーンヘッドと外部アンカリング先
秘匿するのは生データそのものと、その履歴の深さだけです。
バージョンが変われば別の指標として扱い、旧バージョンの出力を保持します。仕様変更を静かに行いません。仕様を変更した日は、日次チェーン上で特定可能です。