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

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

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

 

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

טעויות בתהליך ניתוח אנליטי.

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

 

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

תהנו!

 

"טעות, טועים, טעינו"

בתהליך אנליטי טיפוסי ניתן לטעות בהרבה שלבים.
על מנת להבין היכן ניתן לטעות – נפשט את התהליך האנליטי ל-5 שלבים מרכזיים – אשר נתאר במהלך הפוסט:

·       אפיון הצורך והתוצר האנליטי

·       נתוני המקור

·       תהליך עיבוד הנתונים

·       תהליך ניתוח הנתונים והסקת המסקנות

·       שימוש בתוצרים האנליטיים

 

אפיון הצורך האנליטי

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

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

מבחינתנו, בתור אנליסטים – נדרש להבין למה הוא מתכוון כשהוא אומר "מה קורה":

האם הוא רוצה לדעת האם היתה קפיצה?

או אולי מדוע היתה קפיצה?

וייתכן שנדרש גם לתת הקשר ביחס לחודשים קודמים.

 

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

 

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

 

נתוני המקור

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

כאשר מדברים על נתוני מקור "זמינים", הכוונה אינה רק לקיימים, אלא גם אמינים – לא שגויים, לא מוטים ושמורים בצורה עקבית.

למה הכוונה?

נתונים הם לא דבר סטרילי, אלא כוללים כמעט תמיד לא מעט שגיאות ו"רעשים".
זה יכול להיות הערך '99999' בשדה המיקוד בכתובת הלקוח, תאריכי לידה שנראים לא רלוונטיים (1/1/1900), או שלל דוגמאות אחרות – שלא לדבר על טעויות הקלדה.

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

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

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

 

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

המצב הזה מכונה GIGO Garbage In Garbage Out.

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

 

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

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

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

 

תהליך עיבוד הנתונים

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

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

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

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

דוגמאות: הגדרות לא נכונות או לא מדויקות, "הכפלת" נתונים כתוצאה משימוש לא נכון ב-JOIN (הצלבת נתונים ממספר טבלאות) – ופערים אחרים – לוגיים או טכניים.

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

 

תהליך ניתוח הנתונים

רוב המשימות האנליטיות מסווגות או להפקת נתונים או לניתוח נתונים.

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

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

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

בהתאם לכך, ברמה העסקית-אינטואיטיבית ייתכן ששני אנשים יפרשו באופן שונה את אותם הנתונים.

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

 

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

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

 

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

לדוג': שימוש במודל סטטיסטי (כמו רגרסיה לינארית) המתאים למקרה הנדון (משתנה המתפלג נורמלית).

 

שימוש בתוצר האנליטי

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

מדוע?

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

כבר דיברנו על אופן הפרשנות של נתונים – שעשוי להיות שונה באופן מהותי בין אדם לאדם.

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

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

 

לדוגמה: כאשר מגדירים גיוס "חרדים", למה בדיוק מתכוונים? לכל החרדים? לחלקם שלא היו מתגייסים אילולא החוק? או אולי באופן אחר?

והאם ייתכן שישנה יותר מהגדרה אחת למיהו חרדי? כנראה שכן.

 

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

כעת, נשאלת השאלה המתבקשת:

איך נגדיר לקוחות נוטשים?

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

 

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

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

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

 

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

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

 

לסיכום

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

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

 

ומה קורה כאשר ישנן טעויות כאלו? ההשלכות עשויות להיות משמעותיות.

 

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

זה יכול למנוע מפח נפש, או אפילו אסון…

 

בהצלחה!

השארת תגובה