Cohort Analysis
SQL#והפעם - כל מה שצריך לדעת על Cohort Analysis
הבעיה שלנו היא ש…
אחת המתודות היותר ותיקות ויעילות לניתוח נתונים היא Cohort Analysis מדובר בניתוח התנהגותי בו במקום להסתכל על המשתמשים כיחידה אחת, מחלקים אותם לקבוצות שונות בעלות מכנה משותף ובוחנים את התנהגותם לפי זמן התרחשות. השוני בין הקבוצות, הזהות לכאורה, הוא זמן היצירה שלהן. ניתוח זה מאפשר לחברה לראות דפוסים ברורים לאורך מחזור החיים של המשתמש ולהתאים את שירותה לאותם קבוצות ספציפיות. אז איך עושים את זה?
הטיפ שלי
בואו נסתכל על הבלוג שלי כדוגמא, בכל יום נכנסים משתמשים שונים. נחלק את המשתמשים לקבוצות לפי חודש ההתחברות הראשון שלהם לבלוג, ונבחן את חזרתם בחודשים שלאחר מכן. המטרה היא לראות את ההבדלים בין משתמשים שנכנסו לבלוג בפעם הראשונה בפברואר 2019 לבין אלו שנכנסו בפעם הראשונה במאי 2019 (סתם בחרתי בחודשים האלו, בניתוח נראה לפי כל חודש). האם ״אורך החיים״ של המשתמשים שהתחברו בפברואר גדול מאלו של מאי או להפך. כלומר, האם מתוך המשתמשים שהתחברו לראשונה בפברואר, אחוזים יותר גבוהים חזרו מידי חודש ולאורך יותר זמן, יותר חודשים קדימה?
בעזרת הניתוח הזה אוכל לחשוב עם עצמי מה השינויים שביצעתי בחודשים הללו ולהבין את השפעתם. האם פרסמתי את הבלוג בקבוצת פייסבוק חדשה? בדף הלינקדאין שלי? בהרצאה שהעברתי? מתי שיניתי את הגרפיקה בבלוג? וכד׳
בואו ננסה את זה בפועל
הטבלה שלנו:
מאחר והטבלה ארוכה, אני משתפת אתכם הפעם בסקריפט ליצירת הטבלה. הסקריפט המלא נמצא כאן.
הפקודות שנבצע:
תוצאה:
cohort_month | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
1 | 100% | 71% | 71% | 71% | 71% | 71% | 29% |
2 | 100% | 67% | 67% | 67% | 67% | 67% | 44% |
3 | 100% | 100% | 100% | 90% | 90% | 80% | 50% |
4 | 100% | 92% | 92% | 85% | 77% | 77% | 69% |
5 | 100% | 75% | 75% | 75% | 75% | 50% | 50% |
6 | 100% | 86% | 86% | 79% | 71% | 71% | 64% |
7 | 100% | 90% | 70% | 50% | 40% | 40% | 0% |
8 | 100% | 100% | 88% | 75% | 63% | 0% | 0% |
9 | 100% | 100% | 100% | 86% | 0% | 0% | 0% |
10 | 100% | 100% | 90% | 0% | 0% | 0% | 0% |
11 | 100% | 88% | 0% | 0% | 0% | 0% | 0% |