เป็นสิ่งสำคัญสำหรับเราที่จะต้องเข้าใจว่าเกิดอะไรขึ้นกับนักเรียนของเราในระหว่างการฝึกอบรม และเหตุการณ์เหล่านี้ส่งผลต่อผลลัพธ์อย่างไร ดังนั้นเราจึงสร้างแผนที่การเดินทางของลูกค้า - แผนที่ประสบการณ์ของลูกค้า ท้ายที่สุดแล้ว กระบวนการเรียนรู้ไม่ใช่สิ่งที่ต่อเนื่องและครบถ้วน แต่เป็นสายโซ่ของเหตุการณ์และการกระทำที่เชื่อมโยงถึงกันของนักเรียน และการกระทำเหล่านี้อาจแตกต่างกันอย่างมากในนักเรียนแต่ละคน ตอนนี้เขาเรียนจบบทเรียนแล้ว เขาจะทำอะไรต่อไป? มันจะไปทำการบ้านมั้ย? จะเปิดตัวแอพพลิเคชั่นบนมือถือหรือไม่? เขาจะเปลี่ยนวิชาขอเปลี่ยนครูไหม? คุณจะตรงไปยังบทเรียนถัดไปหรือไม่? หรือเขาจะปล่อยให้ผิดหวัง? เป็นไปได้ไหมโดยการวิเคราะห์แผนที่นี้ เพื่อระบุรูปแบบที่นำไปสู่การสำเร็จหลักสูตรหรือในทางกลับกัน ไปสู่การ "ออกกลางคัน" ของนักเรียน
โดยทั่วไปแล้ว เครื่องมือโอเพนซอร์ซเฉพาะทางที่มีราคาแพงมากจะถูกนำมาใช้เพื่อสร้าง CJM แต่เราต้องการสร้างสิ่งที่เรียบง่าย ต้องใช้ความพยายามเพียงเล็กน้อย และหากเป็นไปได้ ก็อาจเป็นโอเพ่นซอร์ส จึงมีความคิดที่จะใช้โซ่มาร์คอฟ - และเราก็ประสบความสำเร็จ เราสร้างแผนที่ ตีความข้อมูลเกี่ยวกับพฤติกรรมของนักเรียนในรูปแบบกราฟ เห็นคำตอบที่ไม่ชัดเจนสำหรับปัญหาทางธุรกิจทั่วโลก และยังพบจุดบกพร่องที่ซ่อนอยู่อย่างลึกซึ้งอีกด้วย เราทำทั้งหมดนี้โดยใช้โซลูชันสคริปต์ Python แบบโอเพ่นซอร์ส ในบทความนี้ ผมจะพูดถึงสองกรณีที่ผลลัพธ์ที่ไม่ชัดเจนเหล่านั้น และแบ่งปันสคริปต์กับทุกคน
ดังนั้น Markov chains จึงแสดงความน่าจะเป็นของการเปลี่ยนแปลงระหว่างเหตุการณ์ นี่คือตัวอย่างดั้งเดิมจาก Wikipedia:
โดยที่ "E" และ "A" คือเหตุการณ์ ลูกศรคือการเปลี่ยนผ่านระหว่างเหตุการณ์เหล่านั้น (รวมถึงการเปลี่ยนจากเหตุการณ์หนึ่งไปเป็นเหตุการณ์เดียวกัน) และน้ำหนักของลูกศรคือความน่าจะเป็นของการเปลี่ยนแปลง (“กราฟกำกับแบบถ่วงน้ำหนัก”)
คุณใช้อะไร?
วงจรนี้ได้รับการฝึกฝนด้วยฟังก์ชัน Python มาตรฐาน ซึ่งป้อนด้วยบันทึกกิจกรรมของนักเรียน กราฟบนเมทริกซ์ผลลัพธ์ถูกสร้างขึ้นโดยไลบรารี NetworkX
บันทึกมีลักษณะดังนี้:
นี่คือไฟล์ CSV ที่มีตารางสามคอลัมน์ ได้แก่ รหัสนักศึกษา ชื่อของกิจกรรม เวลาที่เหตุการณ์เกิดขึ้น ฟิลด์ทั้งสามนี้เพียงพอที่จะติดตามความเคลื่อนไหวของลูกค้า สร้างแผนที่ และได้รับห่วงโซ่ Markov ในท้ายที่สุด
ไลบรารีส่งคืนกราฟที่สร้างขึ้นในรูปแบบ .dot หรือ .gexf หากต้องการเห็นภาพแบบแรก คุณสามารถใช้แพ็คเกจ Graphviz ฟรี (เครื่องมือ gvedit) ซึ่งเราทำงานร่วมกับ .gexf และ Gephi ได้ฟรีเช่นกัน
ต่อไป ฉันอยากจะยกตัวอย่างสองตัวอย่างของการใช้เครือ Markov ซึ่งช่วยให้เราได้พิจารณาเป้าหมาย กระบวนการศึกษา และระบบนิเวศของ Skyeng อีกครั้ง เอาล่ะแก้ไขข้อบกพร่อง
กรณีแรก: แอปพลิเคชันมือถือ
ขั้นแรก เราได้สำรวจเส้นทางของนักเรียนผ่านผลิตภัณฑ์ยอดนิยมของเรา นั่นก็คือหลักสูตรทั่วไป ในขณะนั้น ฉันทำงานในแผนกเด็กของ Skyeng และเราต้องการดูว่าแอปพลิเคชันบนมือถือทำงานร่วมกับผู้ชมที่เป็นเด็กของเราได้อย่างมีประสิทธิภาพเพียงใด
เมื่อนำบันทึกและเรียกใช้ผ่านสคริปต์ ฉันได้สิ่งนี้:
โหนดเริ่มต้นคือเริ่มต้นทั่วไป และที่ด้านล่างสุดจะมีโหนดเอาต์พุตสามโหนด: นักเรียน "ผล็อยหลับไป" เปลี่ยนหลักสูตรและจบหลักสูตร
- เผลอหลับไป "หลับไป" - หมายความว่าเขาไม่ได้เรียนหนังสืออีกต่อไป ส่วนใหญ่แล้วเขาจะล้มลง เราเรียกสภาวะนี้ในแง่ดีว่า "หลับ" เพราะ... ในทางทฤษฎีเขายังมีโอกาสศึกษาต่อ ผลลัพธ์ที่แย่ที่สุดสำหรับเรา
- ทิ้งนายพล, เปลี่ยนหลักสูตร - เปลี่ยนจากนายพลเป็นอย่างอื่นและหลงทางสำหรับเครือมาร์คอฟของเรา
- จบหลักสูตร จบหลักสูตร - สภาพในอุดมคติ บุคคลนั้นเรียนจบบทเรียนไปแล้ว 80% (ไม่จำเป็นต้องเรียนทุกบทเรียน)
การเข้าสู่โหนดชั้นเรียนที่ประสบความสำเร็จหมายถึงการสำเร็จบทเรียนบนแพลตฟอร์มของเราร่วมกับครูได้สำเร็จ บันทึกความคืบหน้าตลอดหลักสูตรและแนวทางสู่ผลลัพธ์ที่ต้องการ - "จบหลักสูตร" เป็นสิ่งสำคัญสำหรับเราที่นักเรียนเข้าร่วมให้มากที่สุด
เพื่อให้ได้ข้อสรุปเชิงปริมาณที่แม่นยำยิ่งขึ้นสำหรับแอปพลิเคชันบนมือถือ (โหนดเซสชันของแอป) เราได้สร้างเชนแยกกันสำหรับแต่ละโหนดสุดท้าย จากนั้นจึงเปรียบเทียบน้ำหนักของ Edge ตามคู่:
- จากเซสชันของแอปกลับไป
- จากเซสชันแอปไปจนถึงชั้นเรียนที่ประสบความสำเร็จ
- จากชั้นเรียนที่ประสบความสำเร็จไปจนถึงเซสชันแอป
ด้านซ้ายคือนักเรียนที่จบหลักสูตร ด้านขวาคือผู้ที่ “หลับไปแล้ว”
ข้อดีทั้งสามประการนี้แสดงความสัมพันธ์ระหว่างความสำเร็จของนักเรียนกับการใช้แอปบนอุปกรณ์เคลื่อนที่ เราคาดหวังว่านักเรียนที่จบหลักสูตรจะมีความเชื่อมโยงกับแอปพลิเคชันมากกว่านักเรียนที่เผลอหลับไป อย่างไรก็ตาม ในความเป็นจริงแล้วเราได้ผลลัพธ์ที่ตรงกันข้าม:
- เราทำให้แน่ใจว่าผู้ใช้กลุ่มต่างๆ โต้ตอบกับแอปพลิเคชันมือถือแตกต่างกัน
- นักเรียนที่ประสบความสำเร็จใช้แอปพลิเคชันบนมือถือน้อยลง
- นักเรียนที่เผลอหลับใช้แอปพลิเคชันมือถือมากขึ้น
ซึ่งหมายความว่านักเรียนที่เผลอหลับจะเริ่มใช้เวลากับแอปพลิเคชันบนมือถือมากขึ้นเรื่อยๆ และสุดท้ายก็จะยังคงอยู่ในแอปพลิเคชันนั้นตลอดไป
ในตอนแรกเราประหลาดใจ แต่หลังจากคิดถึงเรื่องนี้ เราก็ตระหนักว่านี่เป็นผลกระทบที่เป็นธรรมชาติโดยสมบูรณ์ ครั้งหนึ่ง ฉันเรียนภาษาฝรั่งเศสด้วยตัวเองโดยใช้เครื่องมือ 50 อย่าง ได้แก่ แอปพลิเคชันบนมือถือและการบรรยายไวยากรณ์บน YouTube ตอนแรกฉันแบ่งเวลาเป็นอัตราส่วน 50 ต่อ 100 แต่แอปพลิเคชั่นสนุกกว่า มี gamification ทุกอย่างเรียบง่ายรวดเร็วและชัดเจน แต่ในการบรรยายคุณต้องเจาะลึกเขียนอะไรบางอย่างลงไป ,ฝึกฝนในสมุดบันทึก ฉันเริ่มใช้เวลาบนสมาร์ทโฟนมากขึ้นเรื่อย ๆ จนกระทั่งส่วนแบ่งเพิ่มขึ้นเป็น XNUMX%: หากคุณใช้เวลาสามชั่วโมงกับมัน คุณจะสร้างความรู้สึกผิด ๆ ว่างานที่เสร็จแล้วเพราะเหตุนี้คุณจึงไม่มีความปรารถนาที่จะไปฟังอะไรเลย .
แต่จะเป็นเช่นนี้ได้อย่างไร? ท้ายที่สุดแล้ว เราได้สร้างแอปพลิเคชันบนมือถือขึ้นมาเป็นพิเศษ
จากผลการวิจัย เห็นได้ชัดว่าจำเป็นต้องเปลี่ยนแปลงแอปพลิเคชันบนมือถือ เพื่อที่จะรบกวนสมาธิจากการเรียนหลักน้อยลง และทั้งเด็กและผู้ใหญ่ งานนี้อยู่ระหว่างดำเนินการ
กรณีที่สอง: การเริ่มต้นใช้งานข้อบกพร่อง
การเตรียมความพร้อมเป็นขั้นตอนเพิ่มเติมที่ไม่บังคับในการลงทะเบียนนักเรียนใหม่ ซึ่งช่วยขจัดปัญหาทางเทคนิคที่อาจเกิดขึ้นในอนาคต สถานการณ์พื้นฐานถือว่าบุคคลได้ลงทะเบียนบนหน้า Landing Page ได้รับการเข้าถึงบัญชีส่วนตัวของเขา ได้รับการติดต่อและได้รับบทเรียนเบื้องต้น ในเวลาเดียวกัน เราสังเกตเห็นปัญหาทางเทคนิคจำนวนมากในระหว่างบทเรียนเบื้องต้น: เบราว์เซอร์เวอร์ชันที่ไม่ถูกต้อง ไมโครโฟนหรือเสียงไม่ทำงาน ครูไม่สามารถแนะนำวิธีแก้ปัญหาได้ทันที และทั้งหมดนี้เป็นเรื่องยากโดยเฉพาะอย่างยิ่งเมื่อมันมาถึง ให้กับเด็กๆ ดังนั้นเราจึงได้พัฒนาแอปพลิเคชันเพิ่มเติมในบัญชีส่วนตัวของคุณ ซึ่งคุณสามารถดำเนินการสี่ขั้นตอนง่ายๆ ได้: ตรวจสอบเบราว์เซอร์ กล้อง ไมโครโฟน และยืนยันว่าผู้ปกครองจะอยู่ใกล้เคียงในระหว่างบทเรียนเบื้องต้น (ท้ายที่สุด พวกเขาคือผู้ที่ชำระเงิน) การศึกษาของบุตรหลาน)
หน้าการเริ่มต้นใช้งานบางส่วนเหล่านี้แสดงช่องทางดังนี้:
1: เริ่มต้นบล็อกด้วยแบบฟอร์มการเข้าสู่ระบบและรหัสผ่านที่แตกต่างกันเล็กน้อย (ขึ้นอยู่กับไคลเอนต์) สามแบบ
2: ช่องทำเครื่องหมายที่ยอมรับขั้นตอนการเริ่มต้นใช้งานเพิ่มเติม
2.1-2.3: ตรวจสอบการมีอยู่ของผู้ปกครอง เวอร์ชัน Chrome และเสียง
3: บล็อกสุดท้าย
มันดูเป็นธรรมชาติมาก: ในสองขั้นตอนแรก ผู้เยี่ยมชมส่วนใหญ่จะออกไป โดยตระหนักว่ามีบางอย่างที่ต้องกรอก ตรวจสอบ แต่ไม่มีเวลา หากลูกค้ามาถึงขั้นตอนที่สามแล้ว เขาเกือบจะไปถึงรอบชิงชนะเลิศอย่างแน่นอน ไม่มีเหตุผลเดียวที่จะสงสัยสิ่งใดในช่องทาง
อย่างไรก็ตาม เราตัดสินใจที่จะวิเคราะห์การเริ่มต้นใช้งานของเรา ไม่ใช่ในช่องทางหนึ่งมิติแบบคลาสสิก แต่ใช้ห่วงโซ่ Markov เราเปิดใช้งานกิจกรรมเพิ่มเติมอีกเล็กน้อย รันสคริปต์และได้รับสิ่งนี้:
ในความสับสนวุ่นวายนี้ มีเพียงสิ่งเดียวที่สามารถเข้าใจได้อย่างชัดเจน: มีบางอย่างผิดพลาด กระบวนการเริ่มต้นใช้งานเป็นแบบเชิงเส้น ซึ่งมีอยู่ในการออกแบบ และไม่ควรมีเว็บของการเชื่อมต่ออยู่ในนั้น และนี่ก็ชัดเจนทันทีว่าผู้ใช้ถูกโยนระหว่างขั้นตอนต่างๆ ซึ่งระหว่างนั้นไม่ควรมีการเปลี่ยนเลย
อาจมีสาเหตุสองประการที่ทำให้ภาพแปลก ๆ นี้:
- สันดอนพุ่งเข้าไปในฐานข้อมูลบันทึก
- มีข้อผิดพลาดในตัวผลิตภัณฑ์ - การเริ่มต้นใช้งาน
เหตุผลแรกเป็นไปได้มากที่สุด แต่การทดสอบนั้นต้องใช้แรงงานค่อนข้างมาก และการแก้ไขบันทึกจะไม่ช่วยปรับปรุง UX แต่อย่างที่สองถ้ามีก็ต้องทำอะไรสักอย่างอย่างเร่งด่วน ดังนั้นเราจึงไปดูโหนด ระบุขอบที่ไม่ควรอยู่ และมองหาสาเหตุของการเกิดขึ้น เราเห็นว่าผู้ใช้บางคนติดขัดและเดินเป็นวงกลม คนอื่นๆ หลุดออกจากกลางคันไปจนถึงจุดเริ่มต้น และโดยหลักการแล้วคนอื่นๆ ไม่สามารถออกจากสองขั้นตอนแรกได้ เราถ่ายโอนข้อมูลไปยัง QA และใช่ ปรากฏว่ามีข้อบกพร่องเพียงพอในการเริ่มใช้งาน นี่เป็นผลพลอยได้ เป็นเพียงสิ่งค้ำยันเล็กน้อย ไม่ได้รับการทดสอบอย่างลึกซึ้งเพียงพอ เพราะ... เราไม่ได้คาดหวังปัญหาใดๆ ตอนนี้กระบวนการบันทึกทั้งหมดเปลี่ยนไปแล้ว
เรื่องราวนี้แสดงให้เราเห็นถึงการนำ Markov chains ไปใช้ในด้าน QA อย่างไม่คาดคิด
ลองด้วยตัวคุณเอง!
ฉันโพสต์ของฉัน
ลิงค์ที่มีประโยชน์:
ที่มา: will.com