Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python

Importante nga masabtan namo kung unsa ang mahitabo sa among mga estudyante atol sa pagbansay ug kung giunsa kini nga mga panghitabo makaapekto sa resulta, mao nga maghimo kami og Customer Journey Map - usa ka mapa sa kasinatian sa kustomer. Human sa tanan, ang proseso sa pagkat-on dili usa ka butang nga padayon ug integral, kini usa ka kutay sa magkadugtong nga mga panghitabo ug mga aksyon sa estudyante, ug kini nga mga aksyon mahimong magkalainlain sa lainlaing mga estudyante. Karon nahuman na niya ang iyang leksyon: unsay sunod niyang buhaton? Moadto ba kini sa homework? Maglunsad ba kini og mobile application? Mag-ilis ba siya og kurso, mohangyo nga mag-ilis sa mga magtutudlo? Modiretso ka ba sa sunod nga leksyon? O biyaan na lang niya nga nahigawad? Posible ba, pinaagi sa pag-analisar niini nga mapa, sa pag-ila sa mga sumbanan nga motultol sa malampuson nga pagkompleto sa kurso o, sa kasukwahi, ngadto sa "dropout" sa estudyante?

Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python

Kasagaran, ang espesyal, mahal kaayo nga mga gamit nga sirado nga gigikanan gigamit sa pagtukod sa CJM. Apan gusto namon nga maghimo usa ka butang nga yano, nga nanginahanglan gamay nga paningkamot ug, kung mahimo, bukas nga gigikanan. Busa mitungha ang ideya nga gamiton ang mga kadena sa Markov - ug milampos kami. Naghimo kami og mapa, naghubad sa datos sa pamatasan sa estudyante sa porma sa usa ka graph, nakakita sa hingpit nga dili klaro nga mga tubag sa mga isyu sa negosyo sa kalibutan, ug nakit-an pa ang mga gitago nga mga bug. Gihimo namo kining tanan gamit ang open source Python script solutions. Niini nga artikulo maghisgot ako bahin sa duha ka mga kaso nga adunay dili kaayo klaro nga mga resulta ug ipaambit ang script sa tanan.

Busa, ang mga kadena sa Markov nagpakita sa kalagmitan sa mga transisyon tali sa mga panghitabo. Ania ang usa ka primitive nga pananglitan gikan sa Wikipedia:

Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python

Dinhi ang "E" ug "A" mao ang mga panghitabo, ang mga pana mao ang mga transisyon tali kanila (lakip ang pagbalhin gikan sa usa ka panghitabo ngadto sa parehas), ug ang mga gibug-aton sa mga pana mao ang posibilidad sa pagbalhin ("weighted directed graph").

Unsa imong gigamit?

Ang sirkito gibansay sa standard nga Python functionality, nga gipakaon sa mga log sa kalihokan sa estudyante. Ang graph sa resulta nga matrix gitukod sa NetworkX library.

Ang log ingon niini:

Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python

Kini usa ka csv file nga adunay usa ka lamesa nga adunay tulo nga mga kolum: id sa estudyante, ngalan sa panghitabo, oras kung kanus-a kini nahitabo. Kini nga tulo ka mga natad igo na aron masubay ang mga lihok sa kliyente, maghimo usa ka mapa ug sa katapusan makakuha usa ka kadena sa Markov.

Ibalik sa librarya ang mga gama nga graph sa .dot o .gexf nga format. Aron mahanduraw ang nahauna, mahimo nimong gamiton ang libre nga pakete sa Graphviz (gvedit tool), nagtrabaho kami sa .gexf ug Gephi, libre usab.

Sunod gusto nako nga maghatag duha ka pananglitan sa paggamit sa mga kadena sa Markov, nga nagtugot kanamo sa usa ka bag-ong pagtan-aw sa among mga katuyoan, proseso sa edukasyon, ug ang ekosistema sa Skyeng mismo. Aw, ayoha ang mga bug.

Unang kaso: mobile application

Sa pagsugod, among gisuhid ang panaw sa estudyante pinaagi sa among pinakapopular nga produktoβ€”ang Kinatibuk-ang kurso. Nianang higayona, nagtrabaho ko sa departamento sa mga bata sa Skyeng ug gusto namong makita kung unsa ka epektibo ang mobile application nga nagtrabaho sa mga mamiminaw sa among mga anak.

Gikuha ang mga troso ug gipadagan kini pinaagi sa script, nakakuha ako usa ka butang nga sama niini:

Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python

Ang sinugdanan nga node mao ang Start General, ug sa ubos adunay tulo ka mga output node: ang estudyante "nakatulog," giusab ang kurso, ug nahuman ang kurso.

  • Nakatulog, "Nakatulog" - kini nagpasabut nga wala na siya nag-eskwela, lagmit nahulog siya. Malaumon nga gitawag namon kini nga estado nga "natulog", tungod kay ... sa teorya, naa pa siyay kahigayonan nga makapadayon sa iyang pagtuon. Ang pinakagrabe nga resulta alang kanamo.
  • Gihulog nga heneral, Gibag-o ang kurso - gibalhin gikan sa Heneral ngadto sa lain ug nawala alang sa among Markov chain.
  • Natapos nga kurso, Natapos ang kurso - sulundon nga kahimtang, ang tawo nakakompleto sa 80% sa mga leksyon (dili tanan nga mga leksyon gikinahanglan).

Ang pagsulod sa malampuson nga node sa klase nagpasabut nga malampuson nga pagkompleto sa leksyon sa among plataporma kauban ang magtutudlo. Girekord niini ang pag-uswag sa kurso ug pagduol sa gitinguha nga resulta - "Nakompleto ang kurso." Importante kanamo nga ang mga estudyante motambong kutob sa mahimo.

Aron makakuha og mas tukma nga quantitative nga mga konklusyon alang sa mobile application (app session node), nagtukod kami og bulag nga mga kadena alang sa matag usa sa katapusang mga node ug dayon gitandi ang mga gibug-aton sa kilid nga pares:

  • gikan sa sesyon sa app balik niini;
  • gikan sa sesyon sa app hangtod sa malampuson nga klase;
  • gikan sa malampuson nga klase hangtod sa sesyon sa app.

Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python
Sa wala mao ang mga estudyante nga nakatapos sa kurso, sa tuo ang mga "natulog"

Kining tulo ka kilid nagpakita sa relasyon tali sa kalampusan sa estudyante ug sa ilang paggamit sa mobile app. Gipaabut namon nga makita nga ang mga estudyante nga nakatapos sa kurso adunay mas lig-on nga koneksyon sa aplikasyon kaysa sa mga estudyante nga natulog. Bisan pa, sa tinuud nakuha namon ang eksaktong kaatbang nga mga sangputanan:

  • among gisiguro nga lain-laing mga grupo sa mga tiggamit makig-uban sa mobile application lahi;
  • ang malampuson nga mga estudyante naggamit sa mobile application nga dili kaayo intensive;
  • ang mga estudyante nga natulog sa paggamit sa mobile application nga mas aktibo.

Kini nagpasabut nga ang mga estudyante nga natulog magsugod sa paggugol ug dugang nga oras sa mobile application ug, sa katapusan, magpabilin niini hangtod sa kahangturan.

Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python

Sa sinugdan kami natingala, apan human sa paghunahuna mahitungod niini, kami nakaamgo nga kini mao ang usa ka bug-os nga natural nga epekto. Sa usa ka higayon, nagtuon ko sa French sa akong kaugalingon gamit ang duha ka himan: mobile application ug grammar lectures sa YouTube. Sa sinugdan, gibahin nako ang oras sa taliwala nila sa usa ka ratio nga 50 hangtod 50. Apan ang aplikasyon mas makalingaw, adunay gamification, ang tanan yano, paspas ug tin-aw, apan sa lecture kinahanglan nimo nga susihon kini, isulat ang usa ka butang , pagpraktis sa notebook. Sa hinay-hinay, nagsugod ako sa paggugol og dugang nga oras sa akong smartphone, hangtud nga ang bahin niini mitubo ngadto sa 100%: kung mogugol ka og tulo ka oras niini, makahimo ka og usa ka sayup nga pagbati sa nahuman nga trabaho, tungod niini wala ka'y ​​​​gusto nga moadto ug maminaw sa bisan unsa. .

Apan sa unsang paagi mahimo kini? Human sa tanan, kami espesyal nga naghimo sa usa ka mobile application, gitukod niini ang Ebbinghaus curve, gamified kini, gihimo kini madanihon aron ang mga tawo mogahin og panahon niini, apan kini turns nga kini lamang makabalda kanila? Sa tinuud, ang hinungdan mao nga ang grupo sa mobile application nakasagubang sa mga buluhaton niini nga maayo, ingon usa ka sangputanan diin kini nahimo nga usa ka cool, igo-sa-kaugalingon nga produkto ug nagsugod sa pagkahulog gikan sa among ekosistema.

Isip resulta sa panukiduki, nahimong tin-aw nga ang mobile application kinahanglang usbon sa usa ka paagi aron kini dili kaayo makabalda gikan sa nag-unang kurso sa pagtuon. Ug ang mga bata ug mga hamtong. Kini nga trabaho nagpadayon karon.

Ikaduha nga kaso: onboarding bugs

Ang onboarding usa ka opsyonal nga dugang nga pamaagi sa pagrehistro sa usa ka bag-ong estudyante, pagwagtang sa potensyal nga teknikal nga mga problema sa umaabot. Ang sukaranan nga senaryo nagdahum nga ang usa ka tawo nakarehistro sa landing page, naka-access sa iyang personal nga account, gikontak ug gihatagan usa ka pasiuna nga leksyon. Sa parehas nga oras, nahibal-an namon ang daghang porsyento sa mga kalisud sa teknikal sa panahon sa pasiuna nga leksyon: ang sayup nga bersyon sa browser, ang mikropono o tunog dili molihok, ang magtutudlo dili dayon makasugyot usa ka solusyon, ug kining tanan labi ka lisud kung moabut. sa mga bata. Busa, nakahimo kami og dugang nga aplikasyon sa imong personal nga account, diin makompleto nimo ang upat ka yano nga mga lakang: susiha ang imong browser, camera, mikropono ug kumpirmahi nga ang mga ginikanan anaa sa duol sa panahon sa pasiuna nga leksyon (pagkahuman, sila ang nagbayad edukasyon sa ilang mga anak).

Kining pipila ka onboarding nga mga pahina nagpakita og funnel nga sama niini:

Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python
1: pagsugod block nga adunay tulo ka gamay nga kalainan (depende sa kliyente) login ug password entry nga mga porma.
2: checkbox nga miuyon sa dugang nga pamaagi sa onboarding.
2.1-2.3: Susiha ang presensya sa ginikanan, bersyon sa Chrome ug tingog.
3: katapusang block.

Kini tan-awon nga natural kaayo: sa unang duha ka mga lakang, kadaghanan sa mga bisita mibiya, nakaamgo nga adunay usa ka butang nga pun-on, check, apan walay panahon. Kung ang kliyente nakaabot sa ikatulo nga lakang, nan hapit gyud siya makaabut sa katapusan. Walay usa ka rason sa pagduda sa bisan unsa sa funnel.

Bisan pa, nakahukom kami nga analisahon ang among onboarding dili sa usa ka klasiko nga one-dimensional nga funnel, apan gamit ang kadena nga Markov. Gipaandar namo ang gamay pa nga mga panghitabo, gipadagan ang script ug nakuha kini:

Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python

Niini nga kagubot, usa ra ka butang ang klaro nga masabtan: adunay sayup. Ang proseso sa onboarding linear, kini kinaiyanhon sa disenyo, kinahanglan nga walay ingon nga web sa mga koneksyon niini. Ug dinhi tin-aw dayon nga ang tiggamit gilabay sa taliwala sa mga lakang, diin kinahanglan nga wala’y mga pagbalhin.

Giunsa namo paggamit ang mga kadena sa Markov sa pagtimbang-timbang sa mga solusyon ug pagpangita sa mga bug. Uban sa script sa Python

Mahimong adunay duha ka rason alang niining talagsaon nga hulagway:

  • shoals mikamang ngadto sa log database;
  • Adunay mga sayup sa produkto mismo - onboarding.

Ang una nga hinungdan lagmit tinuod, apan ang pagsulay niini labi ka kusog sa pagtrabaho, ug ang pagtul-id sa mga troso dili makatabang sa pagpauswag sa UX. Apan sa ikaduha, kung kini anaa, kinahanglan nga buhaton dayon. Busa, miadto kami sa pagtan-aw sa mga node, pag-ila sa mga ngilit nga dili kinahanglan nga anaa, ug pangitaa ang mga hinungdan sa ilang mga panghitabo. Nakita namon nga ang pipila ka mga tiggamit natanggong ug naglakaw sa mga lingin, ang uban nahulog gikan sa tunga ngadto sa sinugdanan, ug ang uban, sa prinsipyo, dili makagawas sa unang duha ka mga lakang. Gibalhin namon ang datos sa QA - ug oo, nahibal-an nga adunay igo nga mga bug sa onboarding: kini usa ka produkto, usa ka gamay nga crutch, wala kini gisulayan pag-ayo, tungod kay ... Wala mi magdahom ug problema. Karon ang tibuok proseso sa pagrekord nausab.

Kini nga istorya nagpakita kanamo usa ka wala damha nga aplikasyon sa mga kadena sa Markov sa natad sa QA.

Sulayi kini sa imong kaugalingon!

Gi-post nako ang akoa Python script para sa pagbansay sa mga kadena sa Markov sa publiko nga domain - gamita kini alang sa imong kahimsog. Dokumentasyon sa GitHub, ang mga pangutana mahimong ipangutana dinhi, sulayan nako nga tubagon ang tanan.

Aw, mapuslanon nga mga link: Librarya sa NetworkX, Graphviz visualizer. Ug dinhi adunay usa ka artikulo sa HabrΓ© mahitungod sa mga kadena ni Markov. Ang mga graph sa artikulo gihimo gamit Gephi.

Source: www.habr.com

Idugang sa usa ka comment