תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

מה זה A/B testing - בדיקת A/B?

מחבר:
בתאריך:

ב-2007 הסנאטור ברק אובמה ניסה להיבחר לנשיאות ארה"ב. עניין חסר סיכוי בהתחשב בעובדה שהוא היה איש לא ידוע במיוחד ממשפחה לא עשירה. כדי לגשר על הפער הוא פנה למדיום של האינטרנט וביקש מתומכיו להתגייס לעזרה. מי שניהל את הקמפיין בהתנדבות היה דן סיקורקר שלקח חופשה מגוגל כדי לעזור לסנטור הצעיר לזכות במשרה הרמה. סיקורקר לקח איתו מגוגל פרקטיקה של בדיקת A/B - השוואה של 2 חלופות (או יותר) כדי למצוא את המוצלחת יותר.

מטרת הניסוי הראשון שערך סיקורקר הייתה להגדיל את מספר הנרשמים לקמפיין בדף אינטרנט שגייס מתנדבים ותורמים. צוות הקמפיין האמין שסרטון וידאו מושקע של המועמד יגרום ליותר אנשים להשאיר את המייל שלהם. בחינת האפשרות הזו כנגד תמונה בשחור לבן של משפחת אובמה גילתה שהגולשים דווקא העדיפו את התמונה על פני הסרטון כי אחוז הנרשמים שראו את התמונה והשאירו את פרטיהם היה גבוה ב-40%. צוות הקמפיין יישם את המסקנה מהניסוי והשתמש בתמונה בדף האינטרנט מה שגרם, על פי הערכה, למספר הנרשמים לגדול בכמעט 3 מיליון ואף תורגם לתוספת תרומות בסך של 60 מיליון דולר. הצוות ערך מספר גדול של ניסויים שעזרו להתאים היבטים שונים של הקמפיין לטעם ההמון ותרמו באופן משמעותי לעובדה שאובמה נבחר למשרת האיש החזק בעולם.

A/B testing בדיקת A/B דוגמה מהקמפיין של ברק אובמה

מהסיפור על המרוץ לנשיאות ארה"ב אנחנו יכולים ללמוד שחשוב לבדוק את ההנחות שלנו כי אם הקמפיין היה משתמש בסרטון, שהצוות העדיף, הפסד ההכנסות היה גדול מאוד. אנחנו גם יכולים לראות דוגמה לבדיקת A/B בפעולה - השוואה של מספר חלופות על מנת למצוא איזה מהם עדיפה.

נראה דוגמה קצת יותר מפורטת של בדיקת A/B. קמפיין של שליחת אימייל במטרה לעודד רכישת מוצר כאשר מטרת הניסוי היא לבחון איזה גרסה של כפתור קריאה לפעולה יגרום ליותר אנשים להקליק עליו. גרסה א' של מייל הכולל כפתור "כל הקודם זוכה!" וגירסה ב' בו כתוב על הכפתור "המבצע לשלושה ימים בלבד". המיילים חייבים להיות זהים בכל מלבד הגורם שאת השפעתו רוצים לבדוק (הכיתוב על הכפתור).

לצורך הניסוי נשלחים מיילים ל-10,000 איש אשר מחולקים לשתי קבוצות שנבחרו באקראי. קבוצה ראשונה מקבלת את חלופה A וקבוצה שנייה את חלופה B. אם אנחנו רואים שיעור רכישה של 5% במקרה של חלופה A לעומת 3% בלבד עבור B אנחנו יכולים לקבוע ש- A היא המוצלחת יותר בהנחה שההבדל משמעותי סטטיסטית. כלומר, התוצאות נבחנו באמצעות מבחן סטטיסטי שיכול לקבוע כי בסבירות גבוהה ההבדלים אמיתיים, ניתנים לחזרה, ואינם תוצאה של מקרה.

מדד הביצוע (KPI) בדוגמה הוא שיעור הרכישה באחוזים. יכולנו גם לבחור מדד אחר דוגמת כמות ההקלקות או הרווח הכספי, ואז המסקנות יכולות להיות שונות.

במציאות אפשר לבדוק יותר מאשר שתי חלופות. אם נחזור לדוגמה של הקמפיין לנשיאות ארה"ב אז הניסוי כלל 4 אפשרויות של כפתורי קריאה לפעולה ו-6 אפשרויות של סרטונים או תמונות ובהתאם בדיקת ה-A/B בחנה את כל 24 החלופות (6X4 צירופים אפשריים), ואיתרה ביניהם את החלופה שגרמה לאחוז הנרשמים הגבוה ביותר.

 

5 צעדים לעריכת בדיקת A/B

בספר Trustworthy online controlled experiments: A practical guide to A/B testing הכותבים כוכבי, Tang ו-Xu מחלקים את בדיקת ה-A/B לחמישה שלבים:

  1. דרישות מקדימות
  2. תכנון הניסוי
  3. עריכת הניסוי ואיסוף הנתונים
  4. ניתוח התוצאות וקבלת החלטות מושכלות
  5. המשך מעקב

the 5 steps of a/b testing according to the book Trustworthy online controlled experiments: A practical guide to A/B

 

1. דרישות מקדימות

לפני עריכת הניסוי צריך להגדיר את מדד הביצוע (KPI). בדוגמת הקמפיין של אובמה המדד היה אחוז הנרשמים לקמפיין מבין הנכנסים לדף הנחיתה.

בנוסף, ההבדל בין הגרסאות צריך להיות קטן וקל לשינוי. לדוגמה, שינוי צבע הכפתור או שינוי בנוסח הקריאה לפעולה. טעות נפוצה היא לבחון שינוי גדול מדי. לדוגמה, שינוי כולל של עיצוב האתר. הבעיה היא ששינוי גדול משפיע על מספר דברים. לדוגמה, על הפסיכולוגיה של המשתמשים וגם על משך טעינת הדף.

תנאי חשוב הוא שיהיו מספיק "יחידות אקראיות". בדרך כלל, אילו מספר המשתתפים בניסוי כאשר כלל האצבע הוא שיהיו כמה אלפי משתתפים לפחות כי ככל שמספר המשתתפים גדול יותר כך גדל הסיכוי לזהות את השפעת השינוי הנבחן.

 

2. תכנון הניסוי

בשלב תכנון הניסוי צריך להחליט באיזו אוכלוסיה למקד את הניסוי. לדוגמה, אנשים שנסעו בשנה האחרונה לחו"ל, בעלי עסקים שפתחו בשנה האחרונה או תושבים של עיר מסוימת במרכז הארץ. ההבחנה היא חשובה מכיוון שיכול להיות שהשינוי שאת השפעתו אנחנו רוצים לבחון הוא משמעותי לאוכלוסיה מסוימת ולא לכלל האוכלוסיה. לפייסבוק וגוגל יש כלים שמסוגלים לפלח את האוכלוסייה בהתאם לדרישות הניסוי. כשבוחרים את האוכלוסיה צריך לשים לב שהניסוי יהיה מספיק רגיש לאתר שינויים משמעותיים סטטיסטית. לצורך קביעת מספר המשתתפים בניסוי ניתן להיעזר בכלים לחישוב חוזק סטטיסטי.

שיקול חשוב נוסף בתכנון הניסוי הוא משך הזמן שיש לערוך אותו. לצורך כך, צריך להביא בחשבון את השפעת העונתיות, והשינויים במספר הנכנסים כתלות בימי השבוע, חגים ומועדים.

 

3. עריכת הניסוי ואיסוף הנתונים

בשלב עריכת הניסוי צריך לרשום את הנתונים. בזה גוגל אנליטיקס יכול לעזור, ולא פחות חשוב מכך המתכנת של האתר או האפליקציה שיכול ליצור רישומים מדויקים התפורים בדיוק לדרישות הניסוי. חשוב לערוך את הניסוי עד לתאריך הסיום אותו הגדרנו בשלב תכנון הניסוי כדי להימנע מהסקת מסקנות חפוזה המבוססת על נתונים חלקיים ומוטים. זו גם דרך טובה להגיע לתוצאות בעלות משמעות סטטיסטית.

 

4. ניתוח התוצאות וקבלת החלטות על סמך הנתונים

עוד לפני שניגשים לניתוח התוצאות צריך לוודא את סבירות הנתונים באמצעות עריכת מספר sanity checks. לדוגמה, אם מטרת הקמפיין הייתה לבחון את השפעת קישור הקריאה לפעולה על ההמרות ואחת האפשרויות מראה אפס הקלקות על הקישור יכול להיות שמישהו שכח לשבץ את הקישור. 

לאחר שוידאנו שהנתונים סבירים ניגשים לאנליזה סטטיסטית שבדרך כלל מבוססת על בחינת השערות ולעיתים על גישה בייסינית (bayesian). את החישובים עורך המחשב ואת התוצאות צריך להבין בתוך הקשר רחב, ולקחת בחשבון את היחס בין מדדים שונים. לדוגמה, יכול להיות שהשינוי הנבחן מעלה את אחוז הנרשמים לאתר אבל מקטין את הרווח, לפחות בטווח הקצר. צריך גם לקחת בחשבון את המאזן בין עלות עריכת השינוי לבין ניצול הקיים. לדוגמה, שינוי שגורם לגוגל לפחות בטווח הקצר להפחית את התנועה האורגנית לאתר אבל בטווח הארוך יותר מיכפיל את התנועה. כשחושבים על המאזן בין הכנסת חידושים וניצול הקיים (explore-exploit) הציפיות של צוות הפרויקט צריכות לקבל משקל מכריע בקבלת ההחלטות.

 

5. המשך מעקב

שלב אחרון ולא פחות חשוב בתהליך של בדיקת A/B הוא מעקב אחר התוצאות כיוון שהשפעות הטווח הקצר עשויות להיות שונות מהשלכות הטווח הארוך. בנוסף, כשממשיכים למדוד את התוצאות יכולים לקבל תובנות שיניעו את המשך התהליך של שיפור המוצר.

 

מסקנה

עריכת בדיקת A/B testing- השוואה של מספר חלופות על מנת למצוא את העדיפה ביניהם - היא הדרך המקובלת על החברות הגדולות והעשירות בעולם, פייסבוק, גוגל, מיקרוסופט, לערוך ניסויים ולהגיע למסקנות, ולא במקרה. החלופה היא שימוש בשכל ישר ובתחושות בטן. רק שאם זה מה שאתה עושה אתה מסתכן בקבלת החלטות לא מושכלות. די אם תזכר בסיפור על מנהלי הקמפיין של אובמה שהיו מאוהבים בסרטון המושקע שהם הפיקו לבוס שלהם רק שאם הם היו משתמשים בו במקום בתמונה בשחור לבן של המועמד ומשפחתו הם היו מפסידים עשרות מיליוני דולרים. למזלם, שימוש בבדיקת A/B אפשרה להם לזהות ולתקן את הטעות. עם זאת, חשוב להיות מודע לכך ששימוש בכלים סטטיסטיים אינו ערובה להצלחה בטווח הקצר. אבל צבר של החלטות טובות לאורך שנים יכול להיות כל ההבדל שבין הצלחה לכישלון. לכן, חשוב להקפיד לערוך בדיקות A/B תכופות במשך שנים. הצטברות השינויים הקטנים והמושכלים יהפכו את המוצר ברבות השנים לטוב הרבה יותר.

 

לכל המדריכים בנושא של למידת מכונה

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

המדריכים באתר עוסקים בנושאי תכנות ופיתוח אישי. הקוד שמוצג משמש להדגמה ולצרכי לימוד. התוכן והקוד המוצגים באתר נבדקו בקפידה ונמצאו תקינים. אבל ייתכן ששימוש במערכות שונות, דוגמת דפדפן או מערכת הפעלה שונה ולאור השינויים הטכנולוגיים התכופים בעולם שבו אנו חיים יגרום לתוצאות שונות מהמצופה. בכל מקרה, אין בעל האתר נושא באחריות לכל שיבוש או שימוש לא אחראי בתכנים הלימודיים באתר.

למרות האמור לעיל, ומתוך רצון טוב, אם נתקלת בקשיים ביישום הקוד באתר מפאת מה שנראה לך כשגיאה או כחוסר עקביות נא להשאיר תגובה עם פירוט הבעיה באזור התגובות בתחתית המדריכים. זה יכול לעזור למשתמשים אחרים שנתקלו באותה בעיה ואם אני רואה שהבעיה עקרונית אני עשוי לערוך התאמה במדריך או להסיר אותו כדי להימנע מהטעיית הציבור.

שימו לב! הסקריפטים במדריכים מיועדים למטרות לימוד בלבד. כשאתם עובדים על הפרויקטים שלכם אתם צריכים להשתמש בספריות וסביבות פיתוח מוכחות, מהירות ובטוחות.

המשתמש באתר צריך להיות מודע לכך שאם וכאשר הוא מפתח קוד בשביל פרויקט הוא חייב לשים לב ולהשתמש בסביבת הפיתוח המתאימה ביותר, הבטוחה ביותר, היעילה ביותר וכמובן שהוא צריך לבדוק את הקוד בהיבטים של יעילות ואבטחה. מי אמר שלהיות מפתח זו עבודה קלה ?

השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.

הוסף תגובה חדשה

 

 

ענה על השאלה הפשוטה הבאה כתנאי להוספת תגובה:

דג למים הוא כמו ציפור ל...?