في المقالات السابقة (
الأول والثاني والثالث ) ، تحدثت بالتفصيل عن تطوير خدمة لإيجاد سيارات مستعملة مربحة في الاتحاد الروسي.
بعد أن سافرت لفترة طويلة على مختلف السيارات المستعملة ، فكرت في شراء سيارة جديدة وقررت دراسة هذه المشكلة بالتفصيل. يوجد في المدن الكبيرة عدد كبير من الموزعين الرسميين ، على الأقل للعلامات التجارية الشعبية. يختلف الوكلاء عن بعضهم البعض في قائمة السيارات المتاحة وفي مقدار الخصومات لمختلف الموديلات. بحثًا عن السيارات التي تهمني ، لم أرغب في الاتصال وزيارة جميع التجار على التوالي. في رأيي ، كان من المعقول التحديد المبدئي ، بناءً على معلومات مسبقة ، فقط أولئك التجار الذين يقدمون أقل الأسعار للنماذج والمعدات التي تهمني. حقيقة أنه في التواصل وجهاً لوجه ، إذا كنت تستطيع المساومة ، يمكن أن يزيد معدل الخصم بشكل كبير لا يتعارض مع الهدف في المقام الأول لزيارة التجار الذين يقدمون أفضل الأسعار في السوق.
جمعت بيانات عن السيارات الجديدة ، وقمت بتحليلها ، وصممتها كخدمة ، وفي نهاية العام ، عندما يكون لدى التجار خصومات ، قررت مشاركتها معك.
نظرة عامة على المنافسين
لدى Runet بالفعل خدمة لاختيار وشراء سيارات جديدة - autospot.ru ، ولكن لها عيوب كبيرة:
- لا توجد طريقة على الموقع لمعرفة جهات اتصال الموزعين حيث توجد السيارات التي تهتم بها ، يمكنك فقط ترك هاتفك للتعليق. سيتصل بك مدير autospot.ru في غضون نصف ساعة ، وسيتحقق معك من الطراز والطراز والمعدات ، ثم يخطر هاتفك للتجار الذين لديهم سيارات تلبي متطلباتك. ستنتظر ساعة على الأقل لانتظار المكالمة الأولية من الوكيل. عامل مزعج للغاية في هذا الاتصال هو الأهمية. بعد المحادثة ، سيتصل بك مدير autospot.ru ومختلف الوكلاء في كثير من الأحيان ، لتذكيرك بأنفسهم ، حتى إذا طلبت منهم عكس ذلك.
- يقدم الموقع حوالي 30.000 سيارة جديدة من جميع أنحاء روسيا ، وهو أقل من 30٪ من متوسط عدد السيارات الجديدة المباعة شهريًا في عام 2018 .
- لا يحتوي الموقع على تقدير لتكلفة السيارة بالنسبة للسوق وفقًا للتكوين والإضافية. الخيارات ، أي أنه من المستحيل فهم العروض الأكثر ربحية.
بالنسبة لألواح النشرات auto.ru و drom.ru و avito.ru ، فإن الخلل رقم 2 ذو صلة بدرجات متفاوتة ، ورقم 3 قابل للتطبيق تمامًا على الجميع.
وهكذا ، تم تحديد دائرة من المهام الأساسية التي كان عليّ حلها في عملية تطوير الخدمة.
جمع البيانات
يتم جمع البيانات عن السيارات الجديدة من الوكلاء الرسميين من مصادر مختلفة ومعالجتها ومنهجية وموحدة. يتم تحديث البيانات وإضافة مصادر جديدة على أساس منتظم. يبلغ حجم البيانات ~ 75000 سيارة جديدة من أكثر من 650 وكيلًا من أكثر من 70 مدينة في روسيا.
تتجاوز عملية جمع البيانات ومعالجتها نطاق هذه المقالة ويمكن تغطيتها في إحدى المقالات التالية.
تحويل البيانات وبناء النموذج
للبحث عن سيارات مربحة لكل طراز سيارة على حدة ، تم تشكيل نموذج انحدار تنبؤي ، كان المتغير المستهدف هو سعر السيارة ، وتم تشكيل تنبؤات من البيانات الأساسية للسيارة والمعدات والوظائف الإضافية المثبتة. خيارات. تم تمثيل المعلمات مع العديد من القيم غير الرقمية في النموذج كمتغير وهمية n-1.
للتوضيح ، تحتوي مجموعة مسجلات فولكس واجن تيغوان على الشكل التالي:
مزيد من التفاصيل[1] "السعر"
[2] "التوفر"
[3] "السنة"
[4] "الحجم"
[5] "القوة"
[6] "محرك أمامي"
[7] "محرك خلفي"
[8] "mkpp"
[9] بنزين
[10] "ديزل"
[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] سلامة_فيديو
[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_vstavkami_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] "الداخلية_باكيت_خرانيني"
[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"
لبناء نماذج الانحدار في الإصدار الأول ، استخدمت خوارزمية
Random Forest التي عملت بشكل جيد للسيارات المستعملة (
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)
من أجل التحقق المتبادل ، استخدمت حزمة
الإقحام ، والتي تحتوي على عدد كبير من الاحتمالات لتقييم جودة النموذج.
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 # -
مزيد من التفاصيلغابة عشوائية
1858 عينة
111 متنبئ
لا معالجة مسبقة
إعادة التشكيل: التحقق من الصحة (10 أضعاف ، مكرر 10 مرات)
ملخص أحجام العينات: 1673 ، 1672 ، 1672 ، 1672 ، 1671 ، 1673 ، ...
نتائج إعادة التشكيل عبر معلمات الضبط:
جذر متوسط التربيع rsquared
2 132963.50 0.7264413
56 79757.67 0.8626671
111 80 401.10 0.8605166
تم استخدام RMSE لتحديد النموذج الأمثل باستخدام أصغر قيمة.
كانت القيمة النهائية المستخدمة للنموذج mtry = 56.
تعني القيمة التي تم الحصول عليها من معامل التحديد (
Rsquared ) أن المتغير (السعر) التابع قد تم شرحه جيدًا من خلال النموذج قيد الدراسة.
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
اختبار الخوارزمية
سوف نتحقق من الفوائد الحقيقية التي يمكن توقعها بفضل الخوارزمية المطورة.
rf.model <- randomForest(price ~ ., dataset,mtry=56) predicted.price <- predict(rf.model, dataset) real.price <- dataset$price profit <- predicted.price - real.price
نحن نرسم الربح مقابل السعر.
plot(real.price,profit) abline(0,0)

احسب نسبة الفائدة.
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
بالنظر إلى حقيقة أن الفائدة يتم حسابها وفقًا لمعلومات مسبقة من الوكيل ، وفي اجتماع شخصي لا يزال بإمكانك المساومة ، فإن الحد الأقصى للربح البالغ 18 ٪ هو نتيجة جيدة جدًا.
تنفيذ خدمة الويب
بمجرد الانتهاء من ترتيب الجزء الفني ، حان الوقت لبدء البحث عن السيارة ذات الاهتمام.
على سبيل المثال ، ألقي نظرة فاحصة على
فولكس واجن تيغوان في اختيار City 2.0 TSI 180hp 7DSG 4Motio .




باستخدام الخدمة ، ستعرف أي من التجار من المعقول الاتصال بهم في المقام الأول ، ويحدد مدى توفر السيارة ، والسعر ، والظروف وزيارة التفتيش ، واحتمال الشراء.
في النهاية
وهكذا ، قمت بتطبيق مساعد لاختيار سيارة جديدة من وكيل معتمد بأفضل سعر في السوق ، مع الأخذ في الاعتبار جميع الإضافات الراسخة. خيارات.
أود أن ألفت انتباهك إلى حقيقة أن التاجر يمكن أن يوفر السعر المنخفض للسيارة في ظل ظروف معينة (الائتمان ، البدن ، التداول ، إلخ) ، مما يؤدي بشكل عام إلى حدوث خطأ في تقييم الفوائد. في رأيي ، من أجل الحصول على خصم جيد ، من المنطقي الاستفادة من بعض الخدمات المماثلة التي يفرضها الوكيل ، سواء كانت CASCO مع شريك أو ، على سبيل المثال ، قرضًا تسدده في أقرب فرصة. هذه مسألة فردية بحتة ، ولكن على أي حال ، من المستحسن ، لتجنب سوء الفهم ، توضيح الشروط عبر الهاتف قبل زيارة الصالون.
لم يتم اختيار وقت إصدار الخدمة عن طريق الصدفة ، لأن نهاية العام هي أفضل وقت لشراء سيارة جديدة عندما يكون التجار على استعداد لتقديم أهم الخصومات.
في الوقت الحالي ، الخدمة قيد الاختبار التجريبي ويتم توفيرها مجانًا تمامًا.
مع تراكم الإحصائيات ، ستظهر التحليلات والرسوم البيانية الجديدة في الخدمة ، والتي ستكون ذات فائدة للمستهلكين النهائيين والتجار الرسميين ، ولكن سأتحدث عن ذلك في المقالة التالية.
المراجع
مختارات لفولكس واجن تيغوان