Dalam artikel sebelumnya (
I ,
II ,
III ), saya berbicara secara rinci tentang pengembangan layanan untuk menemukan mobil bekas yang menguntungkan di Federasi Rusia.
Setelah lama bepergian dengan berbagai mobil bekas, saya berpikir untuk membeli mobil baru dan memutuskan untuk mempelajari masalah ini secara terperinci. Di kota-kota besar ada banyak dealer resmi, setidaknya untuk merek-merek populer. Dealer berbeda satu sama lain dalam daftar mobil yang tersedia dan dalam jumlah diskon untuk berbagai model. Mencari mobil yang menarik minat saya, saya tidak ingin menelepon dan mengunjungi semua dealer berturut-turut. Menurut pendapat saya, masuk akal untuk memilih awal, berdasarkan informasi apriori, hanya dealer yang memberikan harga terendah untuk model dan peralatan yang menarik minat saya. Fakta bahwa dalam komunikasi tatap muka, jika Anda dapat melakukan tawar-menawar, tingkat diskonto dapat meningkat secara signifikan tidak bertentangan dengan tujuan di tempat pertama untuk mengunjungi dealer memberikan harga paling menguntungkan di pasar.
Saya mengumpulkan data pada mobil baru, menganalisisnya, mendesainnya sebagai layanan, dan pada akhir tahun, ketika para dealer mendapat diskon, saya memutuskan untuk membagikannya kepada Anda.
Tinjauan Pesaing
Runet sudah memiliki layanan untuk memilih dan membeli mobil baru - autospot.ru, tetapi ia memiliki kerugian signifikan sebagai berikut:
- Di situs itu tidak ada cara untuk mengetahui kontak dealer di mana mobil-mobil yang Anda minati berada, Anda hanya dapat meninggalkan telepon Anda untuk mendapatkan umpan balik. Manajer autospot.ru akan menghubungi Anda dalam waktu setengah jam, memeriksa dengan Anda merek, model dan peralatan, dan kemudian menginformasikan ponsel Anda ke dealer yang memiliki mobil yang memenuhi persyaratan Anda. Anda akan menunggu setidaknya satu jam untuk menunggu panggilan awal dari dealer. Faktor yang sangat menjengkelkan dalam komunikasi ini adalah pentingnya. Setelah percakapan, manajer autospot.ru dan berbagai dealer akan menelepon Anda cukup sering, mengingatkan Anda tentang diri mereka sendiri, bahkan jika Anda meminta mereka yang sebaliknya.
- Situs ini menghadirkan ~ 30.000 mobil baru dari seluruh Rusia, yang kurang dari 30% dari jumlah rata - rata mobil baru yang terjual per bulan pada tahun 2018 .
- Situs tidak memiliki perkiraan biaya mobil relatif terhadap pasar sesuai dengan peralatan dan tambahan opsi, yaitu, tidak mungkin untuk memahami penawaran mana yang paling menguntungkan.
Untuk papan buletin auto.ru, drom.ru dan avito.ru, cacat # 2 relevan untuk berbagai tingkat, dan # 3 sepenuhnya berlaku untuk semua orang.
Dengan demikian, lingkaran tugas mendasar yang harus saya selesaikan dalam proses pengembangan layanan diuraikan.
Pengumpulan data
Data mobil baru dari dealer resmi dikumpulkan dari berbagai sumber, diproses, disistematiskan, dan disatukan. Data diperbarui dan sumber-sumber baru ditambahkan secara teratur. Volume data ~ 75.000 mobil baru dari lebih dari 650 dealer dari 70 kota di Rusia.
Proses pengumpulan dan pemrosesan data berada di luar cakupan artikel ini dan dapat dicakup dalam salah satu artikel berikut.
Transformasi Data dan Pembuatan Model
Untuk mencari mobil yang menguntungkan untuk setiap model mobil secara individual, model regresi prediktif dibentuk, variabel targetnya adalah harga mobil, dan prediktor dibentuk dari data dasar mobil, peralatan, dan add-on yang dipasang. opsi. Parameter dengan beberapa nilai non-numerik direpresentasikan dalam model sebagai variabel dummy n-1.
Untuk kejelasan, set regressor untuk Volkswagen Tiguan memiliki bentuk:
Lebih detail[1] "harga"
[2] "ketersediaan"
[3] "tahun"
[4] "volume"
[5] "kekuatan"
[6] "front_drive"
[7] "rear_drive"
[8] "mkpp"
[9] benzin
[10] "dizel"
[11] "body_tsvet_kuzova_chernyy_metallik"
[12] "interior_tsvet_peredney_paneli_temnyy"
[13] "interior_tsvet_obivki_sideniy_temnyy"
[14] "interior_tsvet_potolka_temnyy"
[15] "interior_tsvet_kovrovogo_pokrytiya_temnyy"
[16] "equip_dnevnoy_svet"
[17] "equip_avtokorrektor_far_s_dinamicheskim_povorotnym_svetom"
[18] "equip_paket_innovation"
[19] "equip_fary_svetodiodnye"
[20] "equip_omyvatel_far"
[21] "equip_bortovoy_kompyuter"
[22] "safety_avtomaticheskaya_regulirovka_dalnosti_sveta"
[23] "body_tsvet_kuzova_siniy_metallik"
[24] "body_tsvet_kuzova_serebristyy_metallik"
[25] "equip_sistema_avtomaticheskoy_parkovki"
[26] "equip_tekhnicheskiy_kod"
[27] "equip_paket_media"
[28] "equip_usb_interfeysvklyuchaya_auxin"
[29] "equip_interfeys_appconnect"
[30] "equip_paket_zimnie_tekhnologii"
[31] "equip_multimediynaya_sistema_audio"
[32] "equip_parktronik"
[33] safety_videokamera
[34] "main_komplektatsiya_city_20_tdi_150hp_7dsg_4motion"
[35] "body_shiny_21565_r17_99_v"
[36] "body_razmer_diskov_r17"
[37] "body_diski_legkosplavnye"
[38] "interior_tip_sideniy_sportivnye"
[39] "interior_obivka_sideniy_kozha"
[40] "equip_distantsionnoe_otkryvanie_bagazhnika"
[41] "equip_zapusk_bez_povorota_klyucha"
[42] "equip_dostup_bez_klyucha"
[43] "equip_interfeys_dlya_smartfonov_appconnect"
[44] "equip_kruizkontrol"
[45] "equip_pamyat_nastroek"
[46] "equip_dopolnitelnyy_otopitel"
[47] "safety_sistema_kontrolya_mertvykh_zon"
[48] "equip_sidenya_ergoactive_dlya_voditelya_s_14pozitsionnoy_regulirovkoy"
[49] "equip_elektroprivod_zerkal"
[50] "equip_paket_tekhnika"
[51] "safety_datchiki_davleniya_v_shinakh"
[52] "safety_okhrannaya_signalizatsiya"
[53] "body_tsvet_kuzova_belyy"
[54] "equip_spetsialnaya_seriya_city"
[55] "main_komplektatsiya_city_14_tsi_150hp_6dsg_4motion"
[56] "equip_panoramnaya_krysha"
[57] "body_bamper_s_uvelichennym_uglom_vezda_24_gradusa"
[58] "body_paket_offroad"
[59] "body_nakladki_na_dvernye_porogi"
[60] "interior_nakladki_na_dvernye_porogi"
[61] "main_komplektatsiya_city_20_tsi_180hp_7dsg_4motion"
[62] "body_shiny_23550_r19_99v"
[63] "body_razmer_diskov_r19"
[64] "interior_dvernye_paneli_skozhanoy_otdelkoy"
[65] "equip_elektroprivod_sideniy"
[66] "main_komplektatsiya_city_14_tsi_150hp_6dsg"
[67] "equip_vybor_rezhimov_vozhdeniya"
[68] "interior_yashchik_dlya_khraneniya_pod_perednim_passazhirskim_kreslom"
[69] "interior_ergonomichnye_perednie_sidenya"
[70] "equip_voditelskoe_sidene_s_regulirovkoy_po_vysote_dline_uglu_naklona_spinki"
[71] "equip_massazhnye_sideniya"
[72] "body_tsvet_kuzova_bezhevyy_metallik"
[73] "body_tsvet_kuzova_krasnyy_metallik"
[74] "body_shiny_23555_r18_100v"
[75] "body_razmer_diskov_r18"
[76] "interior_nakladki_na_porogi_s_podsvetkoy"
[77] "interior_dekorativnye_vstavki_dark_grid"
[78] "interior_dve_lampy_dlya_chteniya_speredi"
[79] "equip_paket_osveshchenie"
[80] "equip_fonovaya_podsvetka_interera"
[81] "equip_svetodiodnye_zadnie_fonari_3d"
[82] "main_komplektatsiya_offroad_20_tsi_180hp_7dsg_4motion"
[83] "body_korpusa_naruzhnykh_zerkal_okrashennye_v_chernyy_tsvet"
[84] "body_polnorazmernoe_stalnoe_zapasnoe_koleso_65x17"
[85] "body_peredniy_bamper_s_uvelichennym_uglom_vezda_26_gradusov_zadniy_bamper_s_dekorativnymi_vekdevkami_dekorativnye_nakladki_na_dveri"
[86] "body_spoyler_na_zadney_dveri"
[87] "interior_dekorativnye_vstavki_dlya_spetsialnoy_versii"
[88] "interior_peredniy_podlokotnik_s_dvumya_podstakannikami_i_shtorkoy"
[89] "interior_ploskiy_pol_bagazhnogo_otdeleniy"
[90] "interior_yashchiki_dlya_khraneniya_pod_perednimi_kreslami"
[91] "interior_skladnye_stoliki_v_spinkakh_perednikh_kresel"
[92] "interior_alyuminievye_nakladki_na_pedali"
[93] "interior_rezinovye_salonnye_kovriki_speredi_i_szadi_s_logotipom_offroad"
[94] "interior_nakladki_na_dvernye_porogi_offroad"
[95] "interior_stekla_atermalnye_tonirovannye"
[96] "equip_datchik_sveta"
[97] "equip_spetsialnaya_versiya_offroad"
[98] "equip_klavishi_mekhanicheskoy_razblokirovki_spinok_zadnikh_sideniy_v_bagazhnom_otseke"
[99] "equip_vnutrennee_zerkalo_zadnego_vida_s_avtozatemneniem"
[100] "equip_poyasnichnyy_podpor_dlya_perednikh_sideniy"
[101] "equip_polnostyu_skladnaya_spinka_perednego_passazhirskogo_kresla"
[102] "equip_avtokorrektor_far"
[103] "equip_funktsiya_coming_homeleaving_home"
[104] "equip_2_usb_razema_v_peredney_konsoli_1_usb_razem_v_tsentralnoy_konsoli_dlya_zaryadki"
[105] "equip_datchik_dozhdya"
[106] "equip_obogrev_lobovogo_stekla"
[107] "safety_hdc_sistema_pomoshchi_pri_spuske_so_sklona"
[108] "body_tsvet_kuzova_korichnevyy_metallik"
[109] "equip_navigatsionnaya_sistema"
[110] "equip_paket_navigatsiya"
[111] "equip_golosovoe_upravlenie"
[112] "equip_usb_interfeys_ipodiphonevklyuchaya_auxin"
[113] "equip_multimediynaya_sistema_audiovideo"
[114] "main_komplektatsiya_sportline_20_tsi_220hp_7dsg_4motion"
[115] "body_paket_vneshnikh_elementov_sportline"
[116] "body_shiny_airstop_25545_r_19"
[117] "body_bampery_v_sportivnom_stile_i_nakladki_na_porogi_v_tsvet_kuzova_rasshiriteli_kolesnykh_arok"
[118] "equip_individualnaya_sborka"
[119] "equip_rulevoe_upravlenie_s_peremennym_peredatochnym_otnosheniem"
[120] "equip_multifunktsionalnyy_rul"
[121] "interior_dvernye_paneli_s_kozhanoy_otdelkoy"
[122] "main_komplektatsiya_offroad_14_tsi_150hp_6dsg_4motion"
[123] "equip_zerkalo_zadnego_vida_s_avtozatemneniem"
[124] "equip_tsentralnyy_zamok"
[125] "main_komplektatsiya_sportline_20_tsi_180hp_7dsg_4motion"
[126] "safety_podushki_bezopasnosti_sht_11"
[127] "safety_paket_bezopasnost"
[128] "safety_proaktivnaya_sistema_zashchity_passazhirov_presafe"
[129] "interior_otdelka_dverey"
[130] "main_komplektatsiya_sportline_20_tdi_150hp_7dsg_4motion"
[131] "main_komplektatsiya_offroad_14_tsi_150hp_6mt_4motion"
[132] "main_komplektatsiya_offroad_20_tdi_150hp_7dsg_4motion"
[133] "interior_salonnye_kovriki_speredi_i_szadi"
[134] "interior_tsvet_obivki_sideniy_kombinirovannyy"
[135] "equip_paket_discover_pro"
[136] "interior_paket_khranenie"
[137] "interior_makiyazhnye_zerkala_s_podsvetkoy_v_solntsezashchitnykh_kozyrkakh"
[138] "interior_bagazhnaya_setka"
[139] "interior_potolochnaya_konsol_s_otsekami_dlya_khraneniya"
[140] "body_tsvet_kuzova_belyy_metallik"
[141] "body_pritsepnoe_ustroystvo"
[142] "equip_obogrev_zerkal"
[143] "interior_obivka_sideniy_velyur"
[144] "body_tsvet_kuzova_seryy"
[145] "body_standartnyy_bamper_s_khromirovannoy_otdelkoy"
[146] "interior_khromirovannaya_otdelka_elementov_interera"
[147] "equip_paket_style"
[148] "equip_paket_premium"
[149] "equip_generator_180a"
Untuk membangun model regresi dalam rilis pertama, saya menggunakan algoritma
Random Forest yang bekerja dengan baik untuk mobil bekas (
II ).
# library(reshape2) library(caret) library(randomForest) new_cars_data <- read.csv('new_cars_data_tiguan.txt') # R new_cars_data_cor <- as.matrix(cor(new_cars_data)) # new_cars_data_cor [lower.tri(CM, diag = TRUE)] <- NA # NA high_cor_vars <- subset(melt(new_cars_data_cor , na.rm = TRUE), value == 1.0) # # if(length(high_cor_vars[,2])) { dataset <- new_cars_data[(-c(high_cor_vars[,2]))] } else { dataset <- new_cars_data } set.seed(1) # ( ) split <- runif(dim(dataset)[1]) > 0.2 # train <- dataset[split,] # (cross-validation) test <- dataset[!split,] # (hold-out)
Untuk validasi silang, saya menggunakan paket
caret , yang memiliki sejumlah besar kemungkinan untuk mengevaluasi kualitas model.
fit.control <- trainControl(method = "repeatedcv", number = 10, repeats = 10) train.rf.model <- train(price~., data=train, method="rf", trControl=fit.control , metric = "RMSE") # 10- 10- - train.rf.model # -
Lebih detailHutan acak
1858 sampel
111 prediktor
Tidak ada pra-pemrosesan
Resampling: Divalidasi Lintas (10 kali lipat, diulang 10 kali)
Ringkasan ukuran sampel: 1673, 1672, 1672, 1672, 1671, 1673, ...
Menyampel ulang hasil di seluruh parameter penyetelan:
mtry rms rsquared
2 132963.50 0.7264413
56 79757.67 0.8626671
111 80 401.10 0.8605166
RMSE digunakan untuk memilih model optimal menggunakan nilai terkecil.
Nilai akhir yang digunakan untuk model adalah mtry = 56.
Nilai koefisien determinasi (
Rsquared ) yang
diperoleh berarti bahwa variabel dependen (harga) dijelaskan dengan sangat baik oleh model yang sedang dipertimbangkan.
train.rf.model <- randomForest(price ~ ., train,mtry=56) # - varImpPlot(train.rf.model) # 30

rf.model.predictions <- predict(train.rf.model, test) # print(sqrt(sum((as.vector(rf.model.predictions - test$price))^2)/length(rf.model.predictions))) # ( ) [1] 82512.59
Pengujian Algoritma
Kami akan memeriksa manfaat nyata yang bisa diharapkan berkat algoritma yang dikembangkan.
rf.model <- randomForest(price ~ ., dataset,mtry=56) predicted.price <- predict(rf.model, dataset) real.price <- dataset$price profit <- predicted.price - real.price
Kami plot keuntungan versus harga.
plot(real.price,profit) abline(0,0)

Hitung persentase keuntungan.
sorted <- sort(predicted.price /real.price, decreasing = TRUE) sorted[1:8] 195 193 6 207 202 203 906 206 1.184079 1.176262 1.132920 1.126626 1.123967 1.123967 1.116736 1.116344
Mengingat fakta bahwa manfaat dihitung berdasarkan informasi apriori dari dealer, dan dalam pertemuan pribadi Anda masih bisa menawar, keuntungan maksimum 18% adalah hasil yang sangat baik.
Implementasi layanan web
Setelah Anda menyelesaikan bagian teknis, saatnya untuk mulai mencari mobil yang menarik.
Sebagai contoh, saya melihat dari dekat
Volkswagen Tiguan dalam memilih City 2.0 TSI 180hp 7DSG 4Motio .




Dengan menggunakan layanan ini, Anda akan tahu dealer mana yang masuk akal untuk menelepon di tempat pertama, tentukan ketersediaan mobil, harga, kondisi dan kunjungan untuk pemeriksaan, dan potensi pembelian.
Pada akhirnya
Jadi, saya menerapkan asisten untuk memilih mobil baru dari dealer resmi dengan harga terbaik di pasar, dengan mempertimbangkan semua add-on yang ada. opsi.
Saya menarik perhatian Anda pada kenyataan bahwa harga mobil yang rendah dapat disediakan oleh dealer dalam kondisi tertentu (kredit, lambung, tukar tambah, dll.), Yang secara umum menimbulkan kesalahan dalam penilaian manfaat. Menurut pendapat saya, demi potongan harga yang baik, adalah rasional untuk mengambil keuntungan dari beberapa layanan serupa yang dikenakan oleh dealer, apakah itu CASCO dengan mitra atau, misalnya, pinjaman yang Anda bayar sesegera mungkin. Ini adalah masalah yang murni individual, tetapi bagaimanapun, disarankan, untuk menghindari kesalahpahaman, untuk mengklarifikasi kondisi melalui telepon sebelum mengunjungi salon.
Waktu rilis layanan tidak dipilih secara kebetulan, karena akhir tahun adalah waktu terbaik untuk membeli mobil baru ketika dealer siap memberikan diskon paling signifikan.
Saat ini, layanan ini dalam pengujian beta dan disediakan gratis.
Ketika statistik menumpuk, analitik dan infografis baru akan muncul pada layanan, yang akan menarik bagi konsumen akhir dan dealer resmi, tetapi saya akan membicarakan hal ini di artikel berikutnya.
Referensi
Pilihan untuk Volkswagen Tiguan