Menu

סימולטור הצצות ב-A/B Test

אלפיים מבחנים שבהם A ו-B הם אותו דף, מורצים על התנועה שלכם. ראו כמה מהם מי שמציץ כל יום היה מכריז כמנצחים, וכמה מאותם מבחנים מרמים את מי שמחכה לתאריך הסיום.

מאת Nethanel Bar, Co-founder & CEO

עודכן לאחרונה

מוכנים ללמוד תכנות באמת?

ב-Coddy לומדים דרך כתיבת קוד אמיתי בדפדפן: שיעורים אינטראקטיביים, משוב מיידי ועזרה מ-AI כשנתקעים.

ההרגל היקר ביותר ב-A/B testing, מסומלץ על המספרים שלכם

זה ההרגל. אתם מתחילים מבחן, וכל בוקר פותחים את הדשבורד. הפס זוחל למעלה, יורד, זוחל שוב למעלה, ובאיזה יום שלישי הוא חוצה את ה-95%. אתם מכריזים, משיקים את המנצחת וממשיכים הלאה. הבעיה היא שה-p-value נודד. במבחן שבו שתי הגרסאות זהות, ה-p-value עדיין חוצה את 0.05 בחלק מהימים במקרה; הוא פשוט חוצה בחזרה מאוחר יותר. עצירה בחצייה הראשונה פירושה שתפסתם אותו בדרך, ורמת הביטחון שחשבתם שיש לכם נעלמה.

גודל האפקט מפתיע אנשים. ב-95% ביטחון, מבחן שנקרא פעם אחת בסוף מרמה אתכם בערך פעם אחת מעשרים, וזו העסקה שחתמתם עליה. קראו את אותו מבחן כל יום במשך ארבעה שבועות ועצרו ביום הירוק הראשון, והסימולטור בדרך כלל מראה מנצחת שגויה ברבע או יותר מהמבחנים שבהם שום דבר לא השתנה. המאמר המקורי של Evan Miller העריך זאת ביותר מ-20% למי שמציץ כל יום; Optimizely בנתה מחדש את מנוע הסטטיסטיקה שלה ב-2015 כי שיעור החיוביים השגויים של הלקוחות שלה עבר את זה. בדיקה שבועית במקום יומית חוצה את הנזק בערך בחצי אבל לא מעלימה אותו.

הסימולציה כאן כנה לגבי מה שהיא: כל מבחן מגריל המרות בשיעור האמיתי לשתי הגרסאות, מריץ את מבחן z הרגיל לשתי פרופורציות בכל הצצה על כל מה שנאסף עד כה, ורושם איפה מי שמציץ היה עוצר. כל מסלול בגרף הוא מבחן אחד; כל נקודה היא בוקר שבו מישהו היה מכריז על תוצאה. קבעו את השיפור האמיתי ל-+10% כדי לראות את החצי השני של הסיפור, שבו מי שמציץ תופס אפקט אמיתי מוקדם אבל עם שיפור מוגזם, והיה "מנצח" באותה התלהבות אילו האפקט היה אפס.

מה הסימולציה מראה

  • ה-p-value הוא הילוך מקרי. תחת השערת האפס הוא מתפלג באופן אחיד בכל הצצה בודדת, כלומר בכל בוקר נתון יש סיכוי של 5% שהוא מתחת ל-0.05. לאורך עשרים ושמונה בקרים הסיכויים האלה מצטברים.
  • שיעור החיוביים השגויים תלוי במספר הפעמים שאתם מסתכלים, לא באורך המבחן. מבחן של ארבעה שבועות שנקרא פעם בשבוע מרמה פחות ממבחן של שבועיים שנקרא כל יום.
  • עצירות מוקדמות מגזימות בשיפור. כשמי שמציץ עוצר ביום של מזל, השיפור שנצפה באותו יום הוא מעצם ההגדרה גדול במיוחד. מנצחות שהושקו ו"דעכו" אחרי ההשקה היו לעתים קרובות בדיוק זה.
  • הפתרון הוא משמעת או מבחן אחר. משמעת: קבעו מראש את גודל המדגם ואת תאריך הסיום וקראו פעם אחת. מבחן אחר: שיטות סדרתיות, כמו ה-p-values התקפים תמיד ש-Optimizely, Statsig ו-Eppo משתמשות בהם, בנויות לקריאה רציפה במחיר של גודל מדגם.
  • דשבורדים בייסיאניים לא חסינים. הסתברות להיות הטובה ביותר שנבדקת כל יום ומופעלת לפי סף סובלת מאותה בעיה בתחפושת אחרת.

איך להשתמש בסימולטור

  1. הזינו את שיעור ההמרה ואת המבקרים היומיים

    הסימולציה מגרילה המרות בשיעור האמיתי שלכם, כך שהנדידה של ה-p-value תואמת את הרעש שהייתם רואים בפועל.

  2. קבעו את האורך המתוכנן ואת תדירות ההצצות

    כל יום, כל שלושה ימים או כל שבוע. הפער בין השיעור של מי שמציץ לבין השיעור הכן הוא המחיר של ההרגל הזה.

  3. השאירו את השיפור האמיתי על ללא

    כך כל מבחן הוא מבחן A/A: כל מנצחת היא אזעקת שווא מעצם ההגדרה. עברו אחר כך ל-+10% או ל-+30% כדי לראות את מי שמציץ מול אפקט אמיתי.

  4. קראו את שני המספרים הגדולים

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

  5. הריצו שוב

    כל הרצה מגרילה מבחנים אקראיים חדשים. השיעורים זזים מעט; הפער לא.

שיעורי חיוביים שגויים אופייניים במבחני A/A

ב-95% ביטחון, קריאה כנה אחת בסוף מרמה בערך ב-5% מהפעמים. מספרים משוערים מהסימולציה ומהספרות עבור מי שמציץ ועוצר בהצצה המובהקת הראשונה.

באיזו תדירות מסתכליםהצצות ב-4 שבועותמנצחות שגויות
פעם אחת, בסוף1כ-5%
כל שבוע4כ-10 עד 13%
כל 3 ימים9 עד 10כ-15 עד 20%
כל יום28כ-25 עד 30%
כל יום במשך 12 שבועות84מעל 35%

שלושה הרגלים, בסימולציה

הבודק היומי

המרה של 5%, 1,000 מבקרים ביום, 28 ימים, נבדק כל בוקר. בהרצה שלנו: מי שמציץ הכריז על מנצחת בכ-28% מתוך 2,000 מבחני A/A; בקריאה אחת בסוף, 4.5%.

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

הבודק השבועי

אותה תנועה, אותו אורך, נבדק פעם בשבוע. בהרצה שלנו: כ-12% למי שמציץ לעומת 5% בסוף.

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

שיפור אמיתי של +10%

קבעו את השיפור האמיתי של B ל-+10% על אותה תנועה. למבחן הכן ב-28 ימים יש עוצמה מוגבלת לשיפור כה קטן בתנועה כזו; מי שמציץ עוצר מוקדם לעתים קרובות יותר, בימי המזל.

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

טעויות הצצה

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

שאלות נפוצות על הצצות

מה זו בעיית ההצצה ב-A/B testing?
קריאה חוזרת של מבחן עם אופק קבוע ועצירה בפעם הראשונה שהוא נראה מובהק. מכיוון שה-p-value משתנה בזמן שהנתונים נכנסים, כל הצצה היא עוד הזדמנות לחצות את הסף במזל. מבחן שנקרא כל יום במשך חודש ב-95% ביטחון מייצר מנצחת שגויה בערך ברבע מהפעמים כששום דבר לא השתנה, במקום ה-5% שרמת הביטחון מבטיחה.
זה לא בסדר להסתכל על המבחן לפני שהוא נגמר?
להסתכל זה בסדר; לפעול זו הבעיה. בדקו שהתנועה מתחלקת באופן שווה, ששתי הגרסאות נטענות ושההמרות נרשמות. אל תקראו את השיפור או את רמת הביטחון, ואל תתנו למה שראיתם לשנות את תאריך הסיום לשום כיוון.
איך מריצים A/B test אם רוצים לבדוק ברציפות?
השתמשו בשיטה סדרתית. p-values תקפים תמיד, תכנונים סדרתיים קבוצתיים ודומיהם בנויים לקריאה בכל רגע; הם משלמים על כך בגודל מדגם גדול יותר לאותה עוצמה. רוב הפלטפורמות המודרניות מציעות אחת כזו. הסימולטור הזה ממדל את המבחן הקלאסי עם אופק קבוע, כי זה מה שרוב החישובים בגיליונות ובדשבורדים הם, כולל שאר הלשוניות באתר הזה.
האם הצצה משנה אם בודקים פעם בשבוע?
פחות, אבל כן. ארבע הצצות על פני ארבעה שבועות ב-95% בדרך כלל מכפילות את שיעור החיוביים השגויים. מספר ההצצות היחיד ששומר על השיעור המובטח הוא אחת.
למה הסימולטור משתמש במבחני A/A?
כי כששתי הגרסאות זהות, כל מנצחת היא אזעקת שווא מעצם ההגדרה, כך שהשיעור שהסימולטור מדווח הוא בדיוק שיעור החיוביים השגויים של ההרגל שמסומלץ. הפעלת שיפור אמיתי מראה את הצד השני, שבו מי שמציץ עוצר מוקדם בימי מזל ומדווח על אפקט מנופח.
האם מבחן בייסיאני פותר את בעיית ההצצה?
לא לבדו. הסתברות בייסיאנית שנקראת ברציפות ומופעלת לפי סף קבוע מנפחת החלטות שגויות באותה דרך, כפי ש-Georgi Georgiev ואחרים הראו. שיטות בייסיאניות עם כלל החלטה ראוי ופריור יכולות להתנהג היטב תחת ניטור רציף, אבל "בייסיאני" לבדו אינו הפתרון.

כלי פיתוח נוספים

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל