Cara memilih tempat terbaik untuk membuka cabang dan memvisualisasikan hasil di peta

Memilih tempat untuk cabang baru adalah keputusan yang bertanggung jawab. Kesalahan bisa mahal, terutama di industri padat modal. Paling sering, keputusan seperti itu dibuat oleh para ahli manajemen: berdasarkan pengetahuan kota, industri, pengalaman sebelumnya.

Dalam artikel ini saya akan berbicara tentang bagaimana analitik dapat membantu dalam membuat keputusan seperti itu. Cara mengumpulkan informasi tentang populasi, harga real estat, dan membuat visualisasi interaktif. Apakah jumlah klien tergantung pada jarak ke cabang, tahun rumah dibangun, dan nilai properti.

Populasi kota akurat untuk rumah




Kode untuk membuat peta
#    import pandas as pd from folium.plugins import HeatMap import folium #  df = pd.read_csv('people_spb.csv') filial = pd.read_csv('filial.csv') competitor = pd.read_csv('competitors.csv') #  hmap = folium.Map(location=[59.95, 30.15], zoom_start=11) #    people = folium.FeatureGroup(name = ' ') hm = HeatMap( list(zip(df.lat.values, df.lng.values, df['People'])), min_opacity = .1, max_val = df['People'].max(), radius = 15, blur = 25, max_zoom = 1 ) people.add_child(hm) #    filial_markers = folium.FeatureGroup(name = ' ') for index, row in filial.iterrows(): folium.Marker( location = [row['lat'], row['lng']], popup = row['Name'], icon = folium.Icon(color='blue', icon='cloud') ).add_to(filial_markers) #    competitor_markers = folium.FeatureGroup(name = ' ') for index, row in competitor.iterrows(): folium.Marker( location = [row['lat'], row['lng']], popup = row['Name'], icon = folium.Icon(color='red') ).add_to(competitor_markers) #    hmap.add_child(people) hmap.add_child(filial_markers) hmap.add_child(competitor_markers) #   folium.LayerControl(collapsed=False).add_to(hmap) #    html  hmap.save('people_spb.html') 


Untuk menilai populasi rumah, kami menggunakan data reformasi perumahan dan layanan komunal . Di portal ini Anda bisa mendapatkan informasi tentang setiap rumah: tahun konstruksi, ruang tamu, jumlah tempat tinggal. Perkiraan populasi setiap rumah didasarkan pada jumlah apartemen dan total ruang hidup: rata-rata sekitar 3 orang per apartemen dengan sedikit perbedaan untuk beberapa rumah dan distrik kota.

Di atas adalah peta panas dengan kepadatan populasi di St. Petersburg. Kartu kami untuk penggunaan internal juga mengandung lapisan terpisah dengan kepadatan pelanggan. Lebih mudah untuk mencari bintik putih - tempat dengan jangkauan rendah.

Alamat Pelanggan


Karena kekhasan bisnis, kami memiliki alamat untuk hampir semua pelanggan di basis data kami. Itu hanya diperlukan untuk menemukan koordinat geografis untuk setiap alamat: geocoding atau geocoding. Untuk mendapatkan koordinat, saya menggunakan paket geocoder untuk python. Masalah berikut ini terjadi selama geocoding:

  1. Beberapa alamat salah, misalnya, huruf atau hurufnya membingungkan. Dalam situasi ini, geocoding dapat "menempatkan" klien di taman kanak-kanak atau kantor. Untuk kasus seperti itu, saya harus menulis proses yang mengubah koordinat ke bangunan tempat tinggal terdekat dalam jarak 200 m.
  2. Poin dengan jumlah pelanggan sangat tinggi: pusat kota, tengah jalan besar, tengah kabupaten. Koordinat tersebut diperoleh dengan alamat yang salah diisi dan dapat merusak keseluruhan gambar, oleh karena itu, sebelum pemodelan, mereka dihapus

Hasilnya, kami mendapat koordinat rumah yang tepat untuk 93% pelanggan. Sekarang Anda dapat membuat peta seperti itu:


Data acak diplot pada peta untuk bagian dari St Petersburg.

Kode untuk membuat peta
 import pandas as pd import folium from folium.plugins import MarkerCluster #  df = pd.read_csv('data.csv') cmap = folium.Map(location=[59.95525, 30.2923], zoom_start=13) m = MarkerCluster() for i, row in df.iterrows(): mc.add_child(folium.Marker(location=[row.lat,row.lng])) cmap.add_child(mc) cmap.save(folder+"marker_map.html") 


Peta seperti itu ternyata menjadi alat yang nyaman untuk menguji hipotesis. Misalnya, bisnis memiliki hipotesis bahwa di beberapa jenis rumah (bangunan massal Soviet: kapal, seri 504, Khrushchevs, dll.) Tidak akan ada pelanggan kami. Ternyata ini tidak sepenuhnya benar. Ya, proporsi pelanggan dari populasi di rumah seperti itu rendah. Tetapi mereka perlu diperhitungkan karena ada banyak rumah seperti itu di kota dan sebagai hasilnya mereka menyediakan hingga 20% dari aliran klien.

Perbatasan kabupaten kota


Anda dapat mengatur ulang populasi dan data pelanggan dari bagian sebelumnya menurut distrik kota dan memetakannya. Jika Anda menambahkan info windows dan pewarnaan yang disesuaikan, ternyata sangat informatif. Sudah ada artikel yang bagus tentang hub, di mana langkah-langkahnya menunjukkan cara membuat kartu seperti itu.





Nilai Properti


Menentukan harga properti telah terbukti menjadi tugas yang menakutkan. Pada tahap pertama, kami berhasil mendapatkan semua iklan untuk penjualan real estat dari awal 2018 - ini adalah sekitar 700 ribu catatan.

Untuk setiap rumah, biaya per meter persegi dihitung sebagai median iklan. Untuk 20% rumah tanpa iklan, kami memperkirakan biaya sq. m menggunakan model. Faktor utama adalah harga per meter persegi. m 15 rumah terdekat. Pada saat yang sama, rumah-rumah dengan karakteristik serupa menerima lebih banyak bobot: tahun konstruksi, jumlah penduduk, jenis proyek. Kesalahan rata-rata model pada set tes adalah 9,5%, yang cukup dapat diterima untuk penelitian kami. Terutama ketika Anda mempertimbangkan bahwa bahkan dalam satu rumah biaya meter persegi. m dapat sangat bervariasi: lantai, perbaikan, area dan faktor lainnya.

Jarak dari rumah ke cabang


Grafik untuk 4 departemen menunjukkan ketergantungan proporsi pelanggan di rumah pada jarak ke departemen. Di beberapa cabang ada lompatan yang kuat, yang menunjukkan pengaruh faktor-faktor lain (usia rumah, harga real estat).



Umur di rumah


Yang menarik adalah hubungan antara tahun rumah itu dibangun dan proporsi pelanggan.



Untuk pemodelan lebih lanjut, usia rumah dibagi menjadi 5 kategori bermakna:
PeriodeDeskripsi
1700-1960Yayasan Lama dan Stalin
1960-1990Masa perkembangan Soviet massal
1990-2000Arahkan bangunan di tempat lama, banyak rumah bata
2000-2010Periode pemulihan ekonomi. Banyak perumahan sedang dibangun di lokasi yang baik.
2010-2018pengembangan massal di daerah-daerah terpencil dan terpencil

Harga per sq. m




Harga berkorelasi dengan pangsa pelanggan. Tetapi hubungannya lebih lemah dibandingkan antara proporsi pelanggan dan usia rumah. Mungkin alasannya adalah bahwa usia rumah berkorelasi dengan usia penghuninya. Dan usia seseorang sangat mempengaruhi frekuensi permintaan untuk layanan medis.

Deskripsi model


Selanjutnya, analisis ini berkembang menjadi model yang lengkap, di mana koordinat disediakan pada input, dan jumlah kunjungan dari pelanggan baru diperoleh pada output. Artikel itu ternyata sangat produktif, jadi saya akan berbicara tentang model ini sebentar.

Untuk memudahkan interpretasi hasil, regresi linier dipilih sebagai model. Variabel target adalah proporsi pelanggan di rumah, faktor: logaritma jarak ke kantor terdekat, biaya perumahan, tahun rumah itu dibangun. Ketiga faktor tersebut ternyata signifikan dan memasuki model.

Mengganti koordinat baru menjadi model seperti itu (yaitu, mengubah faktor jarak ke cabang terdekat), pada output kita mendapatkan jumlah klien baru untuk seluruh jaringan. Jika kita mengurangi dari jumlah ini jumlah pelanggan yang sebelumnya, kita akan mendapatkan efek bersih.

Pernyataan masalah seperti itu nyaman karena lokasi baru dipilih dengan mempertimbangkan lokasi cabang saat ini. Artinya, tidak perlu memperhitungkan faktor "kanibalisasi" antar departemen yang berbeda.

Pencarian titik optimal untuk seluruh kota dilakukan dengan penghitungan sederhana koordinat setiap 500 m Untuk menghitung efek pembukaan beberapa cabang, titik ditetapkan secara berurutan.

Hasil


Kami berhasil mengganti peta dinding, di mana kami secara manual mengecat perbatasan kabupaten dan membaca sesuatu di peta interaktif yang nyaman. Membersihkan karyawan dari koreksi dan pencocokan ribuan alamat secara manual dengan distrik kota. Perkaya data dan pergi dari tingkat distrik kota ke setiap rumah.

Ternyata untuk mengidentifikasi beberapa lokasi penempatan yang sangat menjanjikan dan tidak jelas. Bangun model yang secara otomatis dan tidak memihak membandingkan berbagai titik.

Hasil menarik diperoleh ketika lini bisnis dibagi menjadi "geo-dependen" dan "geo-independent". Yang pertama harus menjadi bagian dari cabang baru, yang kedua dapat dikembangkan dalam kerangka lokasi saat ini. (tidak disajikan dalam artikel) .

Source: https://habr.com/ru/post/id456856/


All Articles