محتويات الدورة

تحليل البيانات / الأساسي: الأسئلة والجداول الموثوقة / الدرس 1

السؤال التحليلي ووحدة السجل وأصل البيانات

حوّل طلباً مبهماً إلى سؤال قابل للقياس، وحدد ما يمثله الصف وكل عدد في النتيجة.

وقت القراءة التقريبي: 5 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تحديد المجتمع ووحدة المشاهدة والمقياس والفترة المرجعية.
  • تمييز عدد الصفوف من عدد الأحداث والكيانات الفريدة.
  • تسجيل أصل البيانات ونطاق استخراجها وافتراضات تحويلها.

ابدأ بسؤال محدد وقرار يمكن أن يتأثر به

يبدأ التحليل بسؤال، لا برسم مريح. استبدل عبارة «كيف تسير الطلبات؟» بكمية محددة، مثل مجموع مبالغ الطلبات المصطنعة المكتملة خلال فترة معلنة. حدد المجتمع المقصود وقاعدة الإدراج والمنطقة الزمنية والوحدات وأساس المقارنة. اسأل قبل الطريقة أي قرار تغيره إجابة مختلفة.

يحوّل التعريف التشغيلي كلمة مألوفة إلى حساب يمكن تكراره. فقد تعني كلمة «عميل» حساباً أو شخصاً أو جهازاً، وقد تعني «نشط» وجود حدث مؤهل خلال سبعة أيام. تؤثر هذه الاختيارات في النتيجة رغم صحة الشيفرة، ولذلك تُكتب قبل تفحص النتائج التي تبدو مواتية.

ليس كل صف كياناً مستقلاً

تحدد وحدة السجل ما يمثله الصف: طلباً، أو بند طلب، أو ملخصاً يومياً لحساب، أو وحدة أخرى. قد يساهم عميل واحد في عدة صفوف. لا يجيب عد الصفوف سؤالاً عن الأحداث إلا عندما تتفق وحدة الجدول مع تعريف الحدث. تربط المعرفات السجلات، لكن اسم المعرف وحده لا يثبت التفرد أو الاكتمال.

يحتوي البرنامج الأول ثلاثة طلبات تخص عميلين، ويبلغ مجموعها خمسة وثلاثين وفق تعريف المبلغ على مستوى الطلب. لو كان كل صف بنداً وتكرر مبلغ الطلب الكامل في بنوده، لزاد جمع ذلك العمود النتيجة خطأ. بساطة الشيفرة مقصودة حتى يبقى فهم وحدة التحليل هو الفكرة الأساسية.

python عد الوحدات المعلنة بدلاً من افتراضها
rows = [
    {"order": "o1", "customer": "c1", "amount": 10},
    {"order": "o2", "customer": "c1", "amount": 20},
    {"order": "o3", "customer": "c2", "amount": 5},
]
print("orders", len(rows))
print("customers", len({row["customer"] for row in rows}))
print("amount", sum(row["amount"] for row in rows))
الناتج المتوقع
orders 3
customers 2
amount 35

تنتمي سجلات الطلبات الثلاثة إلى معرفي عميل مختلفين، وتجمع مبالغها على مستوى الطلب إلى 35.

أبقِ المجتمع المؤهل وقواعد استبعاده ظاهرين

تغير التصفية المجتمع الذي تمثله النتيجة. سجل العدد الابتدائي والعدد المحتفظ به وسبب كل استبعاد. لا ينبغي لمقياس الطلبات المكتملة أن يضم الملغاة خفية لمجرد وجود مبلغ فيها. وفي الاتجاه المقابل، قد يؤدي حذف كل صف غير مكتمل إلى إسقاط فئة مهمة وتغيير السؤال نفسه.

يعرض البرنامج الثاني عدد السجلات المؤهلة بجانب المجموع: تتحول ثلاثة سجلات إدخال إلى سجلين يطابقان القاعدة. هذه مطابقة لا تمحو السجل المستبعد من التاريخ. ينبغي للتحليل الفعلي حفظ لقطة مصدر أو مسار تدقيق يفسر الاستبعاد، دون بيانات شخصية غير ضرورية.

python طابق المدخل مع قاعدة الإدراج
rows = [("complete", 10), ("cancelled", 50), ("complete", 20)]
eligible = [amount for status, amount in rows if status == "complete"]
print(f"eligible={len(eligible)}/{len(rows)} total={sum(eligible)}")
الناتج المتوقع
eligible=2/3 total=30

تساهم السجلات المكتملة فقط، فتكون النتيجة طلبين مؤهلين من ثلاثة ومجموعاً يساوي 30. يظهر المقام بجانب الناتج.

اشرح كيف وصلت البيانات إلى شكلها الحالي

يوثق أصل البيانات مكان نشأتها ووقت استخراجها والنسخة المستخدمة والتحويلات التي أنتجت جدول التحليل. لا يكفي اسم ملف إذا تغير محتواه مع بقاء الاسم. احفظ قاموس الحقول ونطاق الاستخراج وشيفرة التحويل، واستخدم بصمات محتوى أو معرفات نسخ مناسبة للتكرار.

ميّز الحقل المرصود من الحقل المشتق. قد يمثل الطابع الزمني وقت الحدث أو وصوله أو آخر تحديث له، وقد تكون الفئة المعروضة خريطة وضعها المحلل وليست حقيقة أصلية. يتيح فصل هذه الطبقات تشخيص الخلاف لاحقاً ويمنع اعتبار تسمية مشتقة حقيقة مؤكدة عن الواقع.

اكتب عقد التحليل قبل الاطلاع على النتيجة

يمكن لخطة مختصرة أن تحدد السؤال والوحدة والمجتمع المؤهل وصيغة المقياس والفحوص المتوقعة وحدود عدم اليقين والجمهور المقصود. وينبغي أن تبين أيضاً ما لا تستطيع البيانات الإجابة عنه. تصف سجلات الطلبات السلوك المسجل، لكنها لا تثبت سبب تغيره ولا تمثل بالضرورة عملاء غائبين عن النظام.

افصل السؤال الاستكشافي من السؤال التأكيدي المحدد مسبقاً. قد يكشف الاستكشاف أنماطاً مفيدة، لكن انتقاء نمط مواتٍ بعد محاولات كثيرة يغير قيمة الدليل. ستطور الدروس اللاحقة هذا الفرق؛ أما الآن ففضّل إجابة محدودة شفافة على ادعاء واسع لا يعرف قارئه المجتمع أو المقام الذي يستند إليه.

الأخطاء الشائعة وإصلاحها

عُرض عدد الصفوف على أنه عدد العملاء.

لماذا يحدث؟
كانت وحدة الجدول طلباً، فساهم العميل نفسه بأكثر من صف.
كيف تصلحه؟
احسب معرفات العملاء الفريدة بعد التحقق منها عندما يكون السؤال عن العملاء.
كيف تتجنب تكراره؟
اكتب وحدة السجل بجانب كل مقياس قبل تجميعه.

تغير المجموع بعد شرط تصفية غير موثق.

لماذا يحدث؟
تبدل المجتمع المؤهل دون أن يظهر ذلك في وصف النتيجة.
كيف تصلحه؟
اعرض قواعد الإدراج وعدد الصفوف قبل التصفية وبعدها معاً.
كيف تتجنب تكراره؟
احتفظ بسجل استبعادات يربط القاعدة بسببها.

تعذر تكرار التحليل بالاعتماد على اسم الملف.

لماذا يحدث؟
غابت هوية نسخة المصدر والتحويلات التي أُجريت عليها.
كيف تصلحه؟
سجل هوية المحتوى ونطاق الاستخراج والشيفرة المستخدمة لإنتاج الجدول.
كيف تتجنب تكراره؟
اجعل توثيق الأصل أحد متطلبات مخرجات التحليل.

اختبر فهمك

1. لعميل أربعة بنود موزعة على طلبين. ما الأعداد التي تجيب عن البنود والطلبات والعملاء؟

اعرض الحل المشروح

عدد البنود أربعة، وعدد معرفات الطلبات المختلفة اثنان، وعدد معرفات العملاء المختلفة واحد. تصح الأعداد الثلاثة لأسئلة مختلفة. قبل جمع المبلغ، حدد هل يخص البند أم أنه مبلغ الطلب الكامل مكرر على بنوده؛ فلا يستطيع اختصار عد الصفوف اتخاذ هذا القرار من القيم وحدها.

2. أعد صياغة «تحسن الاستخدام» كسؤال يمكن فحصه، واذكر قيداً واحداً.

اعرض الحل المشروح

مثلاً: بين الحسابات المؤهلة في أول الفترة، هل ارتفعت نسبة من لديهم حدث مؤهل واحد على الأقل من الأسبوع الأول إلى الثاني، مع ثبات تعريف الحدث والمنطقة الزمنية؟ حدد المقام والاستبعادات. وحتى لو قيس ارتفاع، لا يثبت ذلك وحده أن ميزة جديدة سببت التغير.

أهم ما تعلمته

  • لا يكتمل معنى المقياس دون سؤال ووحدة ومجتمع وفترة.
  • تختلف أعداد الصفوف والأحداث والكيانات.
  • يجعل توثيق الأصل والاستبعاد النتيجة قابلة للفحص والتدقيق.

المراجع الرسمية