فحص حجم العينة والدلالة الإحصائية لاختبار A/B
تحوّل أداة فحص الدلالة لاختبار A/B أعداد الزوار والتحويلات لمتغيرين من صفحة هبوط إلى معدلات التحويل المرصودة والفرق بينهما وقيمة z المجمعة لنسبتين.
شغّل الأداة مجانًا
كما تتحقق مما إذا كان كل متغير يضم عددًا كافيًا من التحويلات وحالات عدم التحويل كي يكون التقريب الطبيعي مقبولًا بصورة معقولة. استخدموا النتيجة مؤشرًا سريعًا وشفافًا قبل اتخاذ القرار، مع الانتباه إلى أن العرض الإحصائي لا يغني عن تصميم تجربة سليم، أو فحص جودة الزيارات، أو وضع قاعدة إيقاف مسبقة.
أدخلوا إجماليات متسقة من التجربة نفسها
أدخلوا عدد الزوار والتحويلات للمتغيرين A وB. يمثل عدد الزوار الأشخاص أو الجلسات المؤهلة التي أُسندت إلى كل نسخة، بينما يمثل عدد التحويلات من أكملوا الهدف نفسه المحدد مسبقًا. حافظوا على نافذة الإسناد وقواعد الجمهور وتصفية الروبوتات وتعريف التحويل نفسها في المتغيرين. ترفض الحاسبة أي متغير لا يضم زوارًا لأنه لا يمكن رصد معدل له، كما ترفض أن يتجاوز عدد التحويلات عدد الزوار لأن ذلك لا يصف نتيجة ثنائية بحد أقصى تحويل واحد لكل شخص. إذا كان المقياس يسمح بمشتريات متكررة أو عدة أحداث لكل زائر، فحوّلوه أولًا إلى نتيجة على مستوى الزائر: تحوّل أو لم يتحول. لا تخلطوا إجماليات من تواريخ أو حملات أو أجهزة أو قواعد توزيع مختلفة إلا إذا كانت تلك الاختلافات جزءًا من التجربة المخططة. إن التوزيع العشوائي والعرض المتزامن أمران أساسيان؛ فقيمة z الدقيقة حسابيًا لا تصلح آثار أيام الأسبوع أو خلل توزيع العينة أو تكرار الزوار أو اختلاف التتبع بين النسختين. تحققوا من هذه الأسس قبل اعتبار النتيجة دليلًا على أثر صفحة الهبوط نفسها.
اقرؤوا المعدلات والفرق وقيمة z معًا
يُحسب المعدل المرصود لكل متغير بقسمة عدد تحويلاته على عدد زواره. والفرق المطلق هو معدل B ناقص معدل A، لذلك تؤيد النتيجة الموجبة B وتؤيد النتيجة السالبة A. يعرض فرق النقاط المئوية الفجوة نفسها على مقياس مألوف من 0 إلى 100، ولا يمثل نموًا نسبيًا. تجمع الحاسبة بعد ذلك تحويلات المجموعتين لتقدير الخطأ المعياري المتوقع في ظل فرضية العدم القائلة بتساوي المعدلين الحقيقيين. وتنتج قيمة z من قسمة الفرق المرصود على ذلك الخطأ. تُصنف النتيجة على أنها لافتة إحصائيًا عندما تبلغ القيمة المطلقة 1.96 على الأقل، وهو الحد الشائع لاختبار ثنائي الطرف عند 5%. هذه قاعدة فحص بسيطة وليست ضمانًا بأن صفحة الهبوط الفائزة ستكرر الزيادة نفسها. ولا تقدم احتمالًا بايزيًا، ولا تصحح الفحص المتكرر أو تعدد المتغيرات، ولا تدمج قيمة الإيرادات. اقرؤوا اتجاه الأثر وحجمه العملي والإشارة الإحصائية معًا بدلًا من اختيار الرقم الأكثر ملاءمة وحده.
راعوا تنبيه كفاية العينة قبل اتخاذ القرار
تعتمد طريقة z لنسبتين على تقريب طبيعي. لا تعتبر هذه الأداة العينة كافية إلا إذا احتوى كل متغير على خمسة تحويلات وخمس حالات عدم تحويل على الأقل. هذه قاعدة دنيا عملية وليست ضمانًا لقوة إحصائية مرتفعة. عند عدم استيفائها، تبقى قيمة z ظاهرة تحقيقًا للشفافية، لكن ينبغي تفسير علامة تجاوز الحد بحذر؛ فقد يكون الاختبار الدقيق أو جمع مشاهدات إضافية أنسب. وحتى عند اجتياز الفحص، قيّموا ما إذا كانت التجربة تستطيع كشف أصغر أثر مهم تجاريًا. قد لا تبرر زيادة ضئيلة لكنها لافتة إحصائيًا تكلفة التنفيذ، بينما قد يظل فرق كبير وواعد غير مؤكد عند قلة الزيارات. تجنبوا إيقاف الاختبار فور تجاوز القيمة 1.96، لأن المراجعة المتكررة تزيد النتائج الإيجابية الكاذبة ما لم تستخدم التجربة تصميمًا تسلسليًا. حددوا قبل الإطلاق المقياس المستهدف، وأدنى أثر قابل للكشف، والمدة، والاستبعادات، وقاعدة الإيقاف. افحصوا كذلك مقاييس الحماية وتوازن الشرائح. تلخص هذه الحاسبة نتيجة ثنائية واحدة فقط؛ فلا تكشف بطء الصفحات، أو تغير المبالغ المستردة، أو اختلال نسبة توزيع العينة، أو زيادة محصورة في زيارات مشبوهة.
حالات الاستخدام
قيّموا صفحة الهبوط الفائزة
قارنوا أعداد التسجيل بعد اختبار مخطط، وتحققوا مما إذا كان الفرق المرصود يتجاوز حد z ثنائي الطرف الشائع.
اكتشفوا نقص البيانات المبكرة
حددوا المتغيرات التي لا تضم تحويلات أو حالات عدم تحويل كافية قبل عرض استنتاج يعتمد على التقريب الطبيعي.
راجعوا تجربة منشورة النتائج
أعيدوا حساب المعدلات وقيمة z المجمعة من الإجماليات الخام للتحقق من لوحة معلومات أو ادعاء لأصحاب المصلحة.
الأسئلة الشائعة
ما معنى لافتة إحصائيًا هنا؟
يعني ذلك أن القيمة المطلقة لقيمة z المجمعة لنسبتين تبلغ 1.96 على الأقل، وهو ما يقابل حدًا بسيطًا ثنائي الطرف عند 5% وفق افتراضات الاختبار.
كيف تُفحص كفاية العينة؟
يجب أن يضم كل متغير خمسة تحويلات وخمس حالات عدم تحويل على الأقل. يدعم ذلك التقريب، لكنه لا يثبت كفاية القوة الإحصائية لهدفكم التجاري.
هل تثبت النتيجة اللافتة أن B أفضل؟
لا. إنها تقدم دليلًا ضمن نموذج إحصائي محدد، لا برهانًا على السببية أو الأداء المستقبلي. يظل التوزيع العشوائي والتتبع الموثوق وقاعدة الإيقاف المخططة ضرورية.
هل يمكن أن تتجاوز التحويلات عدد الزوار؟
لا في هذه الحاسبة، لأنها تمثل نتيجة ثنائية لكل زائر. حوّلوا الأحداث المتكررة إلى عدد الزوار الفريدين الذين أتموا تحويلًا واحدًا على الأقل.
ما تكلفة استخدام الحاسبة؟
يمكنكم تشغيلها مجانًا في المتصفح من هذه الصفحة. تبلغ تكلفة كل طلب API مقدار $0.002.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}'const res = await fetch("https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"variant_a_visitors": 5000,
"variant_a_conversions": 500,
"variant_b_visitors": 5000,
"variant_b_conversions": 600
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"variant_a_visitors": 5000,
"variant_a_conversions": 500,
"variant_b_visitors": 5000,
"variant_b_conversions": 600
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"variant_a_visitors": 5000,
"variant_a_conversions": 500,
"variant_b_visitors": 5000,
"variant_b_conversions": 600
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ecom.landing_page_ab_test_significance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |