{
  "generated_at": "2026-07-20",
  "sample_type": "cumulative_observation_period_url_union",
  "source": "Архивные наблюдения публичных объявлений DotProperty и текущие карточки каталога с DotProperty и FazWaz; накопительное объединение по URL объявления",
  "source_en": "Archived observations of public DotProperty listings plus current DotProperty and FazWaz catalog records; cumulative union by exact listing URL.",
  "method": "Накопительная выборка URL, наблюдавшихся за указанный период, а не текущий активный инвентарь. Цены предложения (asking), не сделок. Для совпавшего URL цена и заголовок берутся из последнего датированного наблюдения (при одинаковой дате — из архива), а непустые структурированные поля текущего каталога дополняют запись. Дедупликация по URL объявления не доказывает разные физические объекты; объявления дешевле 1 млн ฿ исключены как аренда или ошибки парсинга; медианы и диапазоны по выборке, размер выборки указан в каждой строке.",
  "method_en": "Cumulative union of listing URLs observed during the stated period, not current active inventory. Asking prices, not transactions. For an exact-URL overlap, price and title use the latest dated observation (archive wins a same-day tie), while non-empty structured current-catalog fields enrich the record. Exact-URL deduplication does not prove distinct physical units. Records below THB 1 million are excluded as likely rent or parsing noise; every published segment reports its denominator.",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "canonical_url": "https://kvartiry-phuket.com/ceny/",
  "sample_size": 391,
  "sample_period": {
    "from": "2026-04-19",
    "to": "2026-07-20"
  },
  "input_lineage": {
    "archive_file_count": 55,
    "archive_period_from": "2026-04-19",
    "archive_period_to": "2026-07-20",
    "archive_period_days": 92,
    "archive_files_sha256": "cf18990eb34d7ffe2ca72568c346f23d2d18fa5369c8c12fd0a04489a3623b20",
    "archive_stable_prefix_to": "2026-07-19",
    "archive_stable_prefix_sha256": "98bf425dc2f925fbf083e438e456289b7f50e1ef7aa48ee2468f11231c2bc8ec",
    "current_catalog_sha256": "f5b8aceed025fcbf222f043213a1ab81f613489d55e41b604035129906f12b8e",
    "current_catalog_period_from": "2026-04-30",
    "current_catalog_period_to": "2026-05-06",
    "archive_unique_urls": 345,
    "current_catalog_unique_urls": 54,
    "overlap_urls": 8,
    "archive_only_urls": 337,
    "current_only_urls": 46,
    "union_urls": 391,
    "observation_value_policy": "For an exact-URL overlap, price and title use the latest dated observation; archive wins same-day ties. Non-empty current-catalog street, area_sqm, bedrooms, project and source fields enrich the row.",
    "overlap_price_from_archive": 5,
    "overlap_price_from_current_catalog": 3,
    "source_domains": {
      "www.dotproperty.co.th": 345,
      "www.fazwaz.com": 46
    }
  },
  "data_dictionary": {
    "sample_type": "Cumulative union of sale-listing URLs observed during the published period; not a current active-inventory count.",
    "sample_size": "Number of unique observed sale-listing URLs after URL deduplication; this is not a claim that every URL represents a distinct physical unit.",
    "observations": "Listing-URL records contributing to the asking-price median and range for a row.",
    "observations_with_area": "Subset of listing-URL records with a positive floor area contributing to the per-square-metre median; blank when that metric is not published.",
    "n": "JSON equivalent of observations for a segment.",
    "n_with_area": "JSON count of listing-URL records with a positive floor area in the same segment; when median_thb_per_sqm is published, this is its denominator.",
    "median_thb_per_sqm": "Median asking price per square metre, calculated only from listing-URL records counted by n_with_area.",
    "share_pct": "Share of the full URL-deduplicated sample in a budget band, rounded to one decimal place. Rounded shares may not sum to exactly 100%.",
    "bedrooms": "Advertised bedroom count used only as an aggregate grouping field; zero denotes a studio.",
    "base_n": "Listing-URL denominator for one advertised-bedroom format in the bedroom-by-budget cross-tab.",
    "share_of_bedroom_pct": "Share of one advertised-bedroom base in a budget band, rounded to one decimal place. Rounded shares may not sum to exactly 100%.",
    "band": "JSON identifier for one published half-open THB budget band.",
    "budget_band": "CSV equivalent of band: the stable identifier for one published half-open THB budget band.",
    "bedroom_base_observations": "CSV equivalent of base_n: the listing-URL denominator for the advertised-bedroom format.",
    "share_of_bedroom_base_pct": "CSV equivalent of share_of_bedroom_pct for a bedroom-by-budget row.",
    "min_thb_inclusive": "Inclusive lower bound of a published budget band in THB.",
    "max_thb_exclusive": "Exclusive upper bound of a published budget band in THB; null means that the highest band has no upper bound.",
    "input_lineage": "Deterministic source-file hashes and archive/current/overlap/union counts used to reproduce and audit this aggregate release.",
    "observation_value_policy": "For an exact-URL overlap, price and title come from the latest dated observation (archive wins a same-day tie); non-empty structured catalog fields enrich that observation."
  },
  "coverage": {
    "n_with_area": 51,
    "n_with_district": 54,
    "n_in_current_catalog": 54,
    "n_archive_only": 337,
    "n_in_published_district_rows": 40,
    "min_published_district_n": 5,
    "n_with_bedrooms": 391,
    "n_in_published_bedroom_rows": 391,
    "n_in_published_bedroom_budget_bases": 385,
    "min_published_bedroom_budget_base_n": 30
  },
  "overall": {
    "median_thb": 4699000,
    "min_thb": 1526316,
    "max_thb": 49199085,
    "median_thb_per_sqm": 128257,
    "n_with_area": 51
  },
  "by_district": [
    {
      "district": "Choeng thale",
      "raion_slug": "choeng-thale",
      "n": 26,
      "n_with_area": 24,
      "median_thb": 9660292,
      "min_thb": 3501144,
      "max_thb": 49199085,
      "median_thb_per_sqm": 159954
    },
    {
      "district": "Rawai",
      "raion_slug": "rawai",
      "n": 8,
      "n_with_area": 8,
      "median_thb": 6535406,
      "min_thb": 3180778,
      "max_thb": 15903890,
      "median_thb_per_sqm": 113343
    },
    {
      "district": "Kamala",
      "raion_slug": "kamala",
      "n": 6,
      "n_with_area": 6,
      "median_thb": 4401606,
      "min_thb": 2578065,
      "max_thb": 6169078,
      "median_thb_per_sqm": 125930
    }
  ],
  "by_bedrooms": [
    {
      "bedrooms": 0,
      "n": 37,
      "median_thb": 3590000,
      "min_thb": 1526316,
      "max_thb": 7000000
    },
    {
      "bedrooms": 1,
      "n": 232,
      "median_thb": 3955500,
      "min_thb": 1733000,
      "max_thb": 16500000
    },
    {
      "bedrooms": 2,
      "n": 116,
      "median_thb": 8843173,
      "min_thb": 2063000,
      "max_thb": 49199085
    },
    {
      "bedrooms": 3,
      "n": 6,
      "median_thb": 20450000,
      "min_thb": 4635000,
      "max_thb": 25300000
    }
  ],
  "by_budget": [
    {
      "band": "under-3m",
      "label_ru": "До 3 млн ฿",
      "label_en": "Under THB 3m",
      "min_thb_inclusive": 1000000,
      "max_thb_exclusive": 3000000,
      "n": 98,
      "share_pct": 25.1,
      "median_thb": 2395000,
      "min_thb": 1526316,
      "max_thb": 2999000
    },
    {
      "band": "3m-to-under-5m",
      "label_ru": "3–<5 млн ฿",
      "label_en": "THB 3m to <5m",
      "min_thb_inclusive": 3000000,
      "max_thb_exclusive": 5000000,
      "n": 114,
      "share_pct": 29.2,
      "median_thb": 4000000,
      "min_thb": 3000000,
      "max_thb": 4990000
    },
    {
      "band": "5m-to-under-10m",
      "label_ru": "5–<10 млн ฿",
      "label_en": "THB 5m to <10m",
      "min_thb_inclusive": 5000000,
      "max_thb_exclusive": 10000000,
      "n": 116,
      "share_pct": 29.7,
      "median_thb": 6902564,
      "min_thb": 5000000,
      "max_thb": 9940000
    },
    {
      "band": "10m-to-under-20m",
      "label_ru": "10–<20 млн ฿",
      "label_en": "THB 10m to <20m",
      "min_thb_inclusive": 10000000,
      "max_thb_exclusive": 20000000,
      "n": 54,
      "share_pct": 13.8,
      "median_thb": 13650000,
      "min_thb": 10000000,
      "max_thb": 19900000
    },
    {
      "band": "20m-plus",
      "label_ru": "20 млн ฿ и выше",
      "label_en": "THB 20m and above",
      "min_thb_inclusive": 20000000,
      "max_thb_exclusive": null,
      "n": 9,
      "share_pct": 2.3,
      "median_thb": 23500000,
      "min_thb": 21000000,
      "max_thb": 49199085
    }
  ],
  "by_bedroom_budget": [
    {
      "bedrooms": 0,
      "base_n": 37,
      "band": "under-3m",
      "label_ru": "До 3 млн ฿",
      "label_en": "Under THB 3m",
      "min_thb_inclusive": 1000000,
      "max_thb_exclusive": 3000000,
      "n": 15,
      "share_of_bedroom_pct": 40.5
    },
    {
      "bedrooms": 0,
      "base_n": 37,
      "band": "3m-to-under-5m",
      "label_ru": "3–<5 млн ฿",
      "label_en": "THB 3m to <5m",
      "min_thb_inclusive": 3000000,
      "max_thb_exclusive": 5000000,
      "n": 14,
      "share_of_bedroom_pct": 37.8
    },
    {
      "bedrooms": 0,
      "base_n": 37,
      "band": "5m-to-under-10m",
      "label_ru": "5–<10 млн ฿",
      "label_en": "THB 5m to <10m",
      "min_thb_inclusive": 5000000,
      "max_thb_exclusive": 10000000,
      "n": 8,
      "share_of_bedroom_pct": 21.6
    },
    {
      "bedrooms": 0,
      "base_n": 37,
      "band": "10m-to-under-20m",
      "label_ru": "10–<20 млн ฿",
      "label_en": "THB 10m to <20m",
      "min_thb_inclusive": 10000000,
      "max_thb_exclusive": 20000000,
      "n": 0,
      "share_of_bedroom_pct": 0.0
    },
    {
      "bedrooms": 0,
      "base_n": 37,
      "band": "20m-plus",
      "label_ru": "20 млн ฿ и выше",
      "label_en": "THB 20m and above",
      "min_thb_inclusive": 20000000,
      "max_thb_exclusive": null,
      "n": 0,
      "share_of_bedroom_pct": 0.0
    },
    {
      "bedrooms": 1,
      "base_n": 232,
      "band": "under-3m",
      "label_ru": "До 3 млн ฿",
      "label_en": "Under THB 3m",
      "min_thb_inclusive": 1000000,
      "max_thb_exclusive": 3000000,
      "n": 76,
      "share_of_bedroom_pct": 32.8
    },
    {
      "bedrooms": 1,
      "base_n": 232,
      "band": "3m-to-under-5m",
      "label_ru": "3–<5 млн ฿",
      "label_en": "THB 3m to <5m",
      "min_thb_inclusive": 3000000,
      "max_thb_exclusive": 5000000,
      "n": 86,
      "share_of_bedroom_pct": 37.1
    },
    {
      "bedrooms": 1,
      "base_n": 232,
      "band": "5m-to-under-10m",
      "label_ru": "5–<10 млн ฿",
      "label_en": "THB 5m to <10m",
      "min_thb_inclusive": 5000000,
      "max_thb_exclusive": 10000000,
      "n": 57,
      "share_of_bedroom_pct": 24.6
    },
    {
      "bedrooms": 1,
      "base_n": 232,
      "band": "10m-to-under-20m",
      "label_ru": "10–<20 млн ฿",
      "label_en": "THB 10m to <20m",
      "min_thb_inclusive": 10000000,
      "max_thb_exclusive": 20000000,
      "n": 13,
      "share_of_bedroom_pct": 5.6
    },
    {
      "bedrooms": 1,
      "base_n": 232,
      "band": "20m-plus",
      "label_ru": "20 млн ฿ и выше",
      "label_en": "THB 20m and above",
      "min_thb_inclusive": 20000000,
      "max_thb_exclusive": null,
      "n": 0,
      "share_of_bedroom_pct": 0.0
    },
    {
      "bedrooms": 2,
      "base_n": 116,
      "band": "under-3m",
      "label_ru": "До 3 млн ฿",
      "label_en": "Under THB 3m",
      "min_thb_inclusive": 1000000,
      "max_thb_exclusive": 3000000,
      "n": 7,
      "share_of_bedroom_pct": 6.0
    },
    {
      "bedrooms": 2,
      "base_n": 116,
      "band": "3m-to-under-5m",
      "label_ru": "3–<5 млн ฿",
      "label_en": "THB 3m to <5m",
      "min_thb_inclusive": 3000000,
      "max_thb_exclusive": 5000000,
      "n": 13,
      "share_of_bedroom_pct": 11.2
    },
    {
      "bedrooms": 2,
      "base_n": 116,
      "band": "5m-to-under-10m",
      "label_ru": "5–<10 млн ฿",
      "label_en": "THB 5m to <10m",
      "min_thb_inclusive": 5000000,
      "max_thb_exclusive": 10000000,
      "n": 51,
      "share_of_bedroom_pct": 44.0
    },
    {
      "bedrooms": 2,
      "base_n": 116,
      "band": "10m-to-under-20m",
      "label_ru": "10–<20 млн ฿",
      "label_en": "THB 10m to <20m",
      "min_thb_inclusive": 10000000,
      "max_thb_exclusive": 20000000,
      "n": 39,
      "share_of_bedroom_pct": 33.6
    },
    {
      "bedrooms": 2,
      "base_n": 116,
      "band": "20m-plus",
      "label_ru": "20 млн ฿ и выше",
      "label_en": "THB 20m and above",
      "min_thb_inclusive": 20000000,
      "max_thb_exclusive": null,
      "n": 6,
      "share_of_bedroom_pct": 5.2
    }
  ]
}
