حاسبة اختبار أ/ب
اعرف هل تفوّق المتغير على مجموعة التحكم فعلًا: 130 تحويلًا من 1000 زائر مقابل 100 من 1000 تعطي درجة z قدرها 2.10274060562 وقيمة p ثنائية الطرف 0.0354883261439. أدخل أربعة أعداد واقرأ النتيجة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- زوار المجموعة الضابطة
- 1,000
- تحويلات المجموعة الضابطة
- 100
- زوار النسخة البديلة
- 1,000
- تحويلات النسخة البديلة
- 130
- معدل المجموعة الضابطة
- 0.1
- معدل النسخة البديلة
- 0.13
- فرق المعدلات
- 0.03
- المعدل المجمّع
- 0.115
يقارن اختبار أ/ب معدّلي تحويل ويسأل إن كان الفارق المرصود كبيراً بما يكفي لرفض فكرة أن المجموعتين تشتركان في الاحتمال نفسه. تُدخل أربعة أعداد غير سالبة: زوار وتحويلات ذراع الضبط، وزوار وتحويلات ذراع المتغير. تُنفّذ هذه الحاسبة اختبار z الكلاسيكي لنسبتين: تكوّن كل معدّل عيّنة، وتجمع النجاحات تحت فرض العدم بتساوي المعدّلين، وتبني الخطأ المعياري للفرق، ثم تُرجع درجة z مع قيمة p ثنائية الطرف من المنحنى الطبيعي المعياري.
ماذا يقول اختبار z لنسبتين عن تجربة أ/ب
التحويل نتيجة ثنائية: إما أن الزائر أتمّ الهدف أو لم يتمّه. معدّل تحويل الضبط هو تحويلات الضبط مقسومة على زوار الضبط. معدّل المتغير هو تحويلات المتغير مقسومة على زوار المتغير.
تحت فرض العدم بأن الذراعين يشتركان في احتمال نجاح واحد مجهول، فإن أكفأ تقدير لذلك الاحتمال المشترك هو المعدّل المجمّع: كل التحويلات من الذراعين مقسومة على كل الزوار من الذراعين. يتبع الخطأ المعياري لفرق المعدّلين صيغة الكتاب لنسبتين: الجذر التربيعي للمعدّل المجمّع في واحد ناقص ذلك المعدّل في مجموع مقلوبي حجمي العيّنة. درجة z هي فرق المعدّلين المرصود، المتغير ناقص الضبط، مقسوماً على ذلك الخطأ المعياري.
درجة z الموجبة تعني أن المتغير حوّل أفضل من الضبط؛ والسالبة تعني أنه حوّل أسوأ. قيمة p ثنائية الطرف هي احتمال، تحت طبيعي معياري، الحصول على z متطرف في أي اتجاه بقدر ما رُصد على الأقل. قيمة p الصغيرة دليل ضد تساوي المعدّلين؛ والكبيرة تعني أن الفجوة عادية بالنظر إلى حجمي العيّنة.
لا يخترع هذا المسار قيم p تسلسلية صالحة دائماً، ولا يعدّل لاطّلاع وسط التجربة، ولا يحسب حجم العيّنة المطلوب: إنه الاختبار الكلاسيكي المجمّع لنسبتين ثنائيتين مستقلتين، مكتوب بحيث يتلقى مدير منتج وطالب وسكربت أتمتة الأرقام نفسها من الأعداد الأربعة نفسها.
أين تكسب حاسبة اختبار أ/ب مكانها
تحتاج فرق النمو ومكاتب تحليلات المنتج حاسبة اختبار أ/ب حتمية لا تُرجع NaN في صمت حين يلصق أحدهم صفاً بصفر زوار من خلية تجربة فارغة. تستخدم دفاتر تسويق النمو اختبار z لنسبتين لتلخيص تجربة صفحة هبوط أو دفع قبل التسليم إلى حزمة إحصائية كاملة من أجل CUPED أو اختبارات تسلسلية أو ضبط بالانحدار. تستفيد فرق الصحافة والبيانات التي تكتب «فاز الزر الجديد» من أداة متصفح مجانية تطابق درجة z وقيمة p فيها مسار الأتمتة المدفوع بايتاً ببايت على الوحدة النقية نفسها.
تحتاج منصات التدريس ومولّدات الامتحانات حَكَماً يعلّم أذرع صفر الزوار أخطاءً لا حمولات نجاح فارغة قد يعاملها مصحح معطوب على أنها صحيحة. ولأن التنفيذ parse خالص من المستوى A، فكل استدعاء ناجح رخيص وسريع وقابل لإعادة الإنتاج على عمال الحافة والمتصفحات. أبقِ الطلبات صغيرة، وثبّت درجة z وقيمة p المقرّبتين في اختبارات الانحدار، فتحصل على لبنة دلالة موثوقة دون إقامة برمجيات إحصائية خاصة لجدول من أربعة أعداد.
حالات الاستخدام
تجارب صفحات الهبوط والدفع
حوّل أعداد زوار وتحويلات الضبط والمتغير إلى درجة z وقيمة p ثنائية الطرف لقراءة دلالة أ/ب كلاسيكية.
لوحات المعلومات ومراجعة غرف التحرير
احسب عبارة «فاز المتغير» من أعداد التجربة المنشورة بلا أخطاء حساب يدوي ولا NaN من خلايا مرور فارغة.
الأسئلة الشائعة
ماذا يحدث إذا كان لمجموعة صفر من الزوار؟
معدّل التحويل هو التحويلات مقسومة على الزوار، فمجموعة بصفر زوار تجعل المعدّل واختبار z غير معرّفين. لا تُفوتر هذه الإخفاقات.
هل قيمة p أحادية الطرف أم ثنائية الطرف؟
ثنائية الطرف. قيمة p هي 2(1 − Φ(|z|))، أي احتمال فرق لا يقل عن المرصود في أي اتجاه تحت معدّلين متساويين.
هل تعني درجة z-score الموجبة أن المتغير فاز؟
تعني درجة z-score الموجبة أن معدّل تحويل المتغير كان أعلى من معدّل الضبط. أما إن كانت تلك الفجوة جديرة إحصائياً فتجيب عنها قيمة p؛ ولا تعلن هذه الحاسبة فائزاً بقطع ألفا تلقائي.
هل يمكن أن تتجاوز التحويلات عدد الزوار؟
لا. لا يمكن لمجموعة أن تحقق نجاحات أكثر من عدد أفرادها، لذا يجب أن تبقى التحويلات بين الصفر وعدد زوار المجموعة، وإلا رُفضت القيم قبل الحساب.
هل تخبرني الحاسبة بعدد الزوار الذي أحتاجه؟
لا. تطبق الاختبار الكلاسيكي على الأعداد المتوفرة لديك، ولا تحسب حجم العينة المطلوب، ولا تصحح أثر الاطلاع على النتائج مرارًا أثناء سير الاختبار.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/stat/ab-test \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"control_visitors":1000,"control_conversions":100,"variant_visitors":1000,"variant_conversions":130}'const res = await fetch("https://api.kit.forhosting.com/stat/ab-test", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"control_visitors": 1000,
"control_conversions": 100,
"variant_visitors": 1000,
"variant_conversions": 130
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/ab-test",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"control_visitors": 1000,
"control_conversions": 100,
"variant_visitors": 1000,
"variant_conversions": 130
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/ab-test", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"control_visitors":1000,"control_conversions":100,"variant_visitors":1000,"variant_conversions":130}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"control_visitors":1000,"control_conversions":100,"variant_visitors":1000,"variant_conversions":130}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/ab-test", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"control_visitors": 1000,
"control_conversions": 100,
"variant_visitors": 1000,
"variant_conversions": 130
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.ab_test",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
إذا كان لأحد الذراعين صفر من الزوار فإن معدّل التحويل غير معرّف، فتفشل المهمة بـ invalid_input بدل القسمة على صفر. المنطق النقي نفسه يغذّي أداة المتصفح المجانية ومسار API، فلا تختلف لوحات المنتج وفحوصات الواجبات وخطوط الإنتاج على الأعداد الأربعة نفسها.
عقد الإدخال وشكل الاستجابة وسلوك الخطأ
يجب أن تكون الأعداد أكبر من الصفر أو مساوية له. يجب ألا تتجاوز التحويلات مجاميع الزوار المطابقة، إذ لا تُرصد نجاحات أكثر من الأشخاص. لا يستهلك التحقق الفاشل الرصيد المدفوع مسبقاً. اقرن هذا المسار ببرمجياتك إن احتجت فترات ثقة أو قدرة أو اختبارات تسلسلية؛ هذه القدرة اختبار z تحليلي خالص لنسبتين من أربعة أعداد عن قصد. أرسل بهيئة POST جسماً JSON بأربعة أعداد منتهية إلزامية: control_visitors و control_conversions لذراع المرجع، و variant_visitors و variant_conversions للمتحدّي. يجوز أن يصل كل حقل عدداً JSON أو سلسلة رقمية؛ وتُقبل الأسماء البديلة مثل n1 و x1 و n2 و x2 إن كنت تتكلم ترميز الكتاب، لكن يجب إرسال اسم واحد لكل كمية. القيم غير المنتهية والحقول الناقصة والسلاسل الفارغة تفشل بـ invalid_input مع تسمية الحقل. يجب أن يكون مجموع الزوار في كل ذراع أكبر من الصفر بدقة: مجموعة بصفر زوار تجعل معدّل التحويل غير معرّف، وتذكر رسالة الخطأ ذلك صراحة كي يميّز المصححون وعملاء API الذراع الفارغ عن إدخال سيئ آخر. عند النجاح يعيد الجسم الأعداد الأربعة، ويُرجع control_rate و variant_rate، و rate_diff بإشارته (المتغير ناقص الضبط)، و pooled_rate المستعمل تحت العدم، و standard_error للفرق، و z_score، و p_value من نوع two_sided، وسلسلة صيغة قصيرة. عندما يحوّل كل زائر أو لا يحوّل أحد في الذراعين، يكون الخطأ المعياري صفراً والمعدّلان متساويين؛ فتعيد الحاسبة z_score صفراً و p_value واحداً بدل NaN من 0/0.
أين تكسب حاسبة اختبار أ/ب مكانها
تحصل مواقع المحتوى التي تنافس على عبارة حاسبة اختبار أ/ب على أداة حيّة بعنوان وكلمات مفتاحية واضحة، بينما تستدعي سكربتات الأتمتة النوع نفسه عبر API الخاصة بـ KIT بالسعر الأساس المنشور $0.002 بلا رموز نموذج وبلا شبكة خارجة.
حالات التكامل
الواجبات وتدريس الإحصاء
دع الطلاب يرسلون أربعة أعداد ويتحققون من اختبار z المجمّع لنسبتين أمام طرائق الكتاب، مع invalid_input عندما يكون لمجموعة صفر من الزوار.
أسئلة تقنية
كيف أُجري اختبار أ/ب من أعداد الزوار والتحويلات؟
أرسل control_visitors و control_conversions و variant_visitors و variant_conversions. تُرجع API كل معدّل تحويل والمعدّل المجمّع والخطأ المعياري و z-score (المتغير ناقص الضبط) وقيمة p ثنائية الطرف.
كم تبلغ تكلفة حاسبة اختبار أ/ب؟
أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقاً بسعر $0.002 لكل استدعاء ناجح؛ ولا تُفوتر المدخلات غير الصالحة.