aiacademy-kg/lalafo-kg-phones
lalafo.kg — Kyrgyzstan Mobile Phones (handsets for sale) Scraped from lalafo.kg, the largest informal classifieds board in Kyrgyzstan — messier and larger than the curated boards, and closer to the real street-level market. Field names are English; values are kept in the original language (Russian). Subsets subset rows description listings 8,160 one row per advertisement (every category, deal and region in scope) users 6,605 sellers (ad authors), with… See the full description on the dataset page: https://huggingface.co/datasets/aiacademy-kg/lalafo-kg-phones.
lalafo.kg — Kyrgyzstan Mobile Phones (handsets for sale)
Scraped from lalafo.kg, the largest informal classifieds board in Kyrgyzstan — messier and larger than the curated boards, and closer to the real street-level market. Field names are English; values are kept in the original language (Russian).
Subsets
Relations
listings.user_id -> users.user_id
listings.city_id -> cities.city_id
images.listing_id -> listings.ad_idKeys are lalafo's own ids (ad_id, user_id, city_id), so they are stable across crawls — two snapshots can be diffed and joined.
Usage
from datasets import load_dataset
ads = load_dataset("<repo>", "listings", split="train")
users = load_dataset("<repo>", "users", split="train")
images = load_dataset("<repo>", "images", split="train") # decoded PIL images
images[0]["image"]Read before you analyse
- Every row here is `sale`.
dealis constant in this vertical, so it is a filter you do not need — but keep it when unioning with another vertical's listings, where it is what tells a sale from a rent. - `price` is often null — a large share of ads are «договорная» (negotiable), flagged by
is_negotiable. Do not treat null as zero. - The data is noisy. lalafo is unmoderated: duplicate re-posts, keyword-stuffed titles, and mis-filed categories are common.
p_hashon images helps dedupe near-identical ads;property_type/dealcome from the category, not the text. - `brand` comes from the category, not the text. lalafo files this branch by
brand, so the column is exactly as reliable as the seller's choice of category — and is never parsed out of a title. - Contact PII is present (
mobile, sometimesemail). Handle per your ethics board / data-protection obligations; this is a research artefact. - The board is Bishkek-centric.
regionis a best-effort oblast from the city name and is null for unlisted towns. - Timestamps are absolute Unix seconds (
created_time/updated_time) with ISO mirrors (created_date/updated_date) — no relative-date decoding needed. - Attributes are open-ended. Params mapped in
phones.yamlbecome English columns; an unmapped param is transliterated (e.g.naznachenie). The untouched list is inparams_raw.
The full field-by-field guide, with every pitfall in the source, is in DATASET_GUIDE.md.
