{
    "schema_version": 5,
    "name": "市場分析：日本・2026年11月",
    "country": "jp",
    "country_name": "日本",
    "lang": "ja",
    "month": "2026-11",
    "period": {
        "from": "2026-11-01",
        "to": "2026-11-30"
    },
    "currency": "JPY",
    "min_samples": 5,
    "min_model_samples": 3,
    "min_service_unit_samples": 3,
    "schema_changes": {
        "2": "H-023: model level added (fields level, model, brand, model_key, model_samples, model_shops, used, product_id; the models list of each category row; models_count, other_samples, models_note). The version 1 fields keep their names and meaning; a category row reads as before.",
        "3": "H-026: goods and services (fields kind, unit_code, variant, unit_samples, unit_shops; the units list of each category row with level \"unit\" rows; units_count, units_note, unit_label). Goods keep their models; a service has no models (models empty, models_note null) and is grouped by price unit instead, from 3 prices a unit, its category row being its most usual unit. The version 1 and 2 fields keep their names and meaning; ?level=category in the CSV gives the same category lines as before.",
        "4": "H-084: the price index is now the market analysis (the same addresses). New top-level field sellers: one entry a category with firms in our data (category_id, category_slug, category_name, category_url, has_prices, sellers_count, sellers: up to 10 of {name, city, url}); the registered sellers first, the rest alphabetical, not a rating; only public company data. With ?category= the entry of that category only. All earlier fields keep their names and meaning.",
        "5": "H-089: the field url of sellers[] is gone (no links to the firms' sites anywhere on BlaBlaPrice); each firm is {name, city}. All other fields keep their names and meaning."
    },
    "updated_at": null,
    "generated_at": "2026-11-06T11:20:18Z",
    "refresh_hours": 6,
    "html": "https://blablaprice.com/jp/site/price-index",
    "csv": "https://blablaprice.com/jp/site/price-index.csv",
    "license": "https://creativecommons.org/licenses/by/4.0/",
    "creator": "BlaBlaPrice (EVERLOGIC LLC)",
    "months_available": [],
    "fields": [
        "country",
        "lang",
        "month",
        "category_slug",
        "category_name",
        "p25",
        "median",
        "p75",
        "currency",
        "samples",
        "updated_at",
        "unit",
        "shops",
        "requests",
        "level",
        "model",
        "brand",
        "model_key",
        "model_samples",
        "model_shops",
        "used",
        "product_id",
        "kind",
        "unit_code",
        "variant",
        "unit_samples",
        "unit_shops"
    ],
    "field_docs": {
        "country": "country code of the site folder (ISO 3166-1 alpha-2, lower case; \"ua\" = Ukraine, \"us\" = the site root)",
        "lang": "language of category_name (ISO 639-1)",
        "month": "calendar month of the observations, YYYY-MM",
        "category_slug": "address of the category page on this country's site, relative to the country folder",
        "category_name": "category name in lang",
        "p25": "25th percentile of the observed prices (a quarter of the prices are lower), in currency, rounded to 2 significant digits",
        "median": "median (50th percentile) of the observed prices, in currency, rounded to 2 significant digits",
        "p75": "75th percentile of the observed prices (three quarters are lower), in currency, rounded to 2 significant digits",
        "currency": "ISO 4217 code; prices in other currencies are not converted, they are left out",
        "samples": "number of distinct prices behind the row (a goods category at least 5, a service unit at least 3)",
        "updated_at": "time of the newest price in the row, ISO 8601, UTC",
        "unit": "on a category row: price unit when sellers quote per unit (per hour, per m2), as the source wrote it, empty = a whole item or job; on a unit row (level \"unit\"): the unit code, the same as unit_code",
        "shops": "number of distinct sellers (web sites or BlaBlaPrice accounts) behind the row",
        "requests": "number of distinct buyer requests whose web search or offers gave the prices; a small number means the row rests on few searches",
        "level": "\"category\" for a row of all the category's prices, \"model\" for the prices of one model inside a goods category (schema_version 2), \"unit\" for the prices of one unit inside a service category (schema_version 3); in JSON the model rows are in the category row's \"models\" list and the unit rows in its \"units\" list, in CSV they follow their category row",
        "model": "model without the brand, as most shops write it, taken from the shop's product title: series and code, plus the memory or capacity when the title gives it (\"iPhone 14 Pro 256GB\", \"TDLRB 65242BS\"); empty on a category row",
        "brand": "brand named in the title, or the only brand that makes the product line in it (iPhone: Apple, Galaxy: Samsung, Redmi and Poco: Xiaomi); empty on a category row",
        "model_key": "stable key of the model: Latin letters, digits and hyphens, brand first, \"-used\" at the end for used or refurbished goods (\"apple-iphone-14-pro-256gb-used\"); empty on a category row",
        "model_samples": "number of distinct prices of the model (at least 3); equals samples on a model row, empty on a category row",
        "model_shops": "number of distinct sellers of the model; equals shops on a model row, empty on a category row",
        "used": "true when the shops' titles say used or refurbished (б/у, б/в, вживаний, refurbished, \"хороший стан\"); such goods are a model of their own; false = not said to be used; empty on a category row",
        "product_id": "ID of the matching product card of the BlaBlaPrice catalog when the brand and the model match one, else empty (cards are not created from shop titles)",
        "models": "JSON only: the category's model rows, more prices first; empty when no model has 3 prices",
        "models_count": "JSON only: number of models shown for the category",
        "other_samples": "JSON only: prices of the category not in a shown model (no clear model in the title, or fewer than 3 prices of that model); they are in the category row, not in a model",
        "models_note": "JSON only: why the category has no model rows yet, in lang; null when it has some",
        "name": "JSON model rows only: brand and model as the page shows them",
        "label": "JSON model and unit rows: the model with the used mark, or the service with its unit (\"Maths tutors: prices per hour\"), in lang",
        "kind": "\"goods\" or \"service\" (schema_version 3). Goods are grouped by model, services by price unit: a service has no models. Worked out once per country, not per page: the kind the request reader gave the category's requests (two thirds agreeing), else per-hour prices, else the category's name, else its section of the tree",
        "unit_code": "service rows: the unit of the price, a stable code: hour, lesson, visit, m2, m3, lm (running metre), kg, pack, t, l, or service = the source names no unit (a price for the whole service). Taken from the price's own unit or a unit the seller's title states outright (\"1 lesson\", \"per hour\"), never guessed; on a service category row the code of its first unit; empty for goods",
        "variant": "service rows: the variant every price of the unit names in its title: group, individual, online, or several joined with \"+\"; empty when the titles name none or differ (then see variants)",
        "unit_samples": "service rows: number of distinct prices of the unit (at least 3); on a category row those of its first unit; empty for goods",
        "unit_shops": "service rows: number of distinct sellers of the unit; empty for goods",
        "units": "JSON only: a service category's unit rows, more prices first, never mixed; empty for goods",
        "units_count": "JSON only: number of units shown for the category",
        "units_note": "JSON only: why a service category has no unit row yet, in lang; null otherwise",
        "unit_label": "JSON service rows only: the unit as the page says it, in lang (\"за годину\", \"per lesson\")",
        "variants": "JSON unit rows only: how many prices of the unit name each variant in their titles",
        "variant_label": "JSON unit rows only: the variant in lang"
    },
    "methodology": {
        "source": {
            "term": "出典",
            "text": "BlaBlaPriceのウェブ検索が日本の買い手のリクエストのために見つけた、ショップや売り手のサイトの価格。これに、BlaBlaPrice上の売り手のオファーと、売り手がアップロードした価格表の価格を加えています。テスト用アカウントは含みません。BlaBlaPriceは月に一度、国内のオンラインショップの価格も収集しています。"
        },
        "period": {
            "term": "期間",
            "text": "暦の1か月：2026年11月。価格は、検索が見つけた月、または売り手が送った月に入ります。データがある過去の月は下にリンクがあります。"
        },
        "filter": {
            "term": "選び方",
            "text": "JPYの価格だけを使います。リクエストに合わない検索結果（一致スコアが100点中50点未満、または「合わない」と判定されたもの）は除きます。同じページの同じ価格は1件として数えます。カテゴリー内で単位が異なる場合は最も多い単位（例：1時間あたり）だけを残し、時間単価と作業全体の価格が混ざらないようにしています。"
        },
        "min": {
            "term": "最低件数",
            "text": "その月に5件以上の価格があるカテゴリーだけが表に入ります。それより少ないと、数件の価格から出した範囲は偶然に左右されるため表示しません。そのため、カテゴリーの一覧は月ごとに変わります。"
        },
        "kind": {
            "term": "商品とサービス",
            "text": "商品はモデルでまとめます。価格を決めるのはモデルで、同じカテゴリーでもモデルの違う洗濯機2台は値段が違うからです。サービスは量の単位でまとめます。サービスにはモデルがなく、価格は作業の量で決まるからです: 1時間、1回のレッスン、1平方メートル、1回の出張。単位は価格そのもの、または提供者のサイトのタイトル（「1時間あたり」「1回」）から取ります。どちらにも単位がなければサービス全体の価格とし、単位を推測しません。単位の違う価格は混ぜません。家庭教師の1時間とコース全体、出張料と作業全体は何倍も違い、共通の中央値はどれも表さないからです。サービスの単位は価格3件あれば表に入ります。カテゴリーが商品かサービスかは国ごとに1回決めます: そのカテゴリーの依頼をBlaBlaPriceがどう読み取ったか、時間単位の価格、カテゴリー名、カタログ上の区分によります。"
        },
        "model": {
            "term": "モデル",
            "text": "モデルはショップのサイトにある商品名から取ります。商品名にブランド名があること（または1つのブランドだけが作る製品ライン：AppleのiPhoneとiPad、SamsungのGalaxy、XiaomiのRedmiとPoco）が条件で、ブランドの直後の名前と型番をモデルとします。色、年、画面サイズ、「Original」「新品」、絵文字、地域表示（UA、EU、Global）、単位は除き、価格を左右するメモリ容量（128GB、8/256GB）とタイヤサイズは残します。中古品と整備済み品（中古、refurbished）は別のモデルとして数えます。モデルは価格3件以上集まったときに表示します。1件か2件の中央値は偶然に左右されますが、3件あれば価格の位置が見えてきます。モデルがBlaBlaPriceのカタログのカードと一致すれば、JSONにそのproduct_idを載せます。ショップの商品名から新しいカードは作りません。"
        },
        "others": {
            "term": "その他",
            "text": "商品名からモデルを1つに特定できない価格は「その他」になります。知られたブランドがない（「5 kgの洗濯機」）、型番がない（「Tigar Winter」）、サイズしかない（「Xiaomi 32」）、ほかのショップが同じモデルにメモリ容量を書いているのに書いていない（「iPhone 14 Pro 256GB」の横の「iPhone 14 Pro」）、またはそのモデルの月内の価格がまだ少ない（価格3件が必要）場合です。「その他」の価格はカテゴリー全体の行には入りますが、モデルには入りません。そうしたモデルが1つもないカテゴリーは、「モデル別の価格はまだ少ない」と注記して範囲だけを示します。"
        },
        "pct": {
            "term": "パーセンタイル",
            "text": "25パーセンタイル（下限）：見つかった価格の4分の1がこれより安い。中央値：半分が安く、半分が高い。75パーセンタイル（上限）：4分の3がこれより安い。下限と上限の間に価格の真ん中の半分が入るので、極端に安い・高いオファーが1件あっても範囲は動きません。隣り合う価格の間は線形補間で求めます。"
        },
        "round": {
            "term": "丸め",
            "text": "値は有効数字2桁に丸めています（例：13,009は13,000）。これは市場の範囲で、特定の商品の価格ではないためです。"
        },
        "cur": {
            "term": "通貨",
            "text": "JPY。ほかの通貨の価格は換算せず、数にも入れません。"
        },
        "upd": {
            "term": "更新",
            "text": "表は6時間ごとに計算し直します。"
        },
        "limits": {
            "term": "限界",
            "text": "国内のすべての売り手ではなく、BlaBlaPriceのリクエストのために検索が見つけた売り手だけです。そのため、カテゴリーの顔ぶれは買い手が探したものを反映しています。価格は売り手のサイトに表示されたとおりで、送料、設置、個別の値引きや交渉は通常含みません。1つのカテゴリーには異なる型番や作業量が混ざっています。1行が1〜2件のリクエストだけに基づくこともあります（JSONとCSVのrequests項目）。この市場分析はBlaBlaPriceのオファーではありません。私たちは商品もサービスも販売していません。"
        }
    },
    "count": 0,
    "models_count": 0,
    "units_count": 0,
    "kinds": {
        "goods": 0,
        "service": 0
    },
    "note": "2026年11月の日本には、価格が5件集まったカテゴリーがまだないため、表は空です。ひと月に5件の価格が集まると、カテゴリーは自動で表示されます。",
    "rows": [],
    "field_docs_sellers": {
        "name": "the firm's name (its own, or its site's name)",
        "city": "its town when known, else null"
    },
    "sellers_categories": 1,
    "sellers": [
        {
            "category_id": 734,
            "category_slug": "servers",
            "category_name": "サーバー",
            "category_url": "https://blablaprice.com/jp/servers",
            "has_prices": false,
            "sellers_count": 1,
            "sellers": [
                {
                    "name": "OCNオンラインショップ",
                    "city": null
                }
            ]
        }
    ]
}