חישוב כמות מנויים פעילים

נושאים

עקבו אחרינו

היום אנחנו נבנה את אחד המדדים החשובים לחישוב מנויים פעילים.

כמה מנויים פעילים היו לנו בכל תאריך במהלך פרק זמן מסויים.

מדד זה יכול לשרת את העסקים הבאים:

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

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

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

 

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

טבלת המנויים

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

לפני שאנחנו צוללים לתוך חישוב המדדים עלינו להוסיף טבלה המכילה את מימד התאריכים – DimDate.

הטבלה מכילה תאריכים (ימים ברמת השורה) ויש עמודה של שם החודש & השנה. כך נראות הטבלאות שלנו:

חשוב לציין שכרגע אין קשר בין הטבלאות.

על מנת לחשב את המנויים הפעילים שלינו לחשב שני מדדים.

המדד הראשון יהיה לספור את כמות המנויים:

Count Subscription = COUNTROWS(Subscription)

המדד השני יהיה כך:

Active Customers =
  SUMX (
      CALCULATETABLE (
            Subscription,
            FILTER (
                 Subscription,
                 Subscription[Start Date] <= MAX ( DimDate[Date] )&&
                 Subscription[End Date] >= MIN ( DimDate[Date] )
            )
      ),
[Count Subscription]
)

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

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

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

בתוצאה קיבלנו את התוצאה הצפויה ובחודשים מאי ויוני היו 3 מנויים פעילים.

תרחיש שני:
נבחן תרחיש נוסף – כאשר קיים קשר בין שתי הטבלאות

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

כך תראה התוצאה של הלקוחות הפעילים:

כרגע הוא מחשב את כמות הלקוחות הפעילים תחת תנאי של תאריך תאריך התחלה = לחודש המוצג.

בחודש מאי היו 3 לקוחות פעילים אבל היה רק לקוח אחד שתאריך ההתחלה שלו היה במאי ולכן מוצגת התוצאה רק 1 בחודש מאי.

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

Active Customers All Dates =

Calculate(SUMX (

    CALCULATETABLE (

        Subscription,

        ALL ( DimDate ),

        FILTER (

            Subscription,

                Subscription[Start Date] <= MAX ( DimDate[Date] )&&

                Subscription[End Date] >= MIN ( DimDate[Date] )

        )

    ),

    [Count Subscription]

), crossfilter(Subscription[Start Date], DimDate[Date], none)