حاسبة EMV
القيمة النقدية المتوقعة، أو EMV، للقرار هي المجموع المرجّح بالاحتمال لعوائد كل نتيجة متنافية.
شغّل الأداة مجانًا
يحتاج محللو القرار ومسؤولو مخاطر المشروع والمشغّلون الذين يقارنون إطلاقًا أو تحوّطًا أو تأمينًا ذاتيًا إلى ذلك الرقم النقدي الواحد قبل اختيار مسار. تقبل حاسبة القيمة النقدية المتوقعة قائمة نتائج، لكل منها احتمال في الفترة الواحدية وعائد نقدي قد يكون ربحًا أو خسارة، ثم تضرب كل زوج وتعيد المجموع المرجّح مع مساهمات كل نتيجة. إذا لم تجمع الاحتمالات إلى واحد تفشل المهمة بـ invalid_input بدل إعادة تطبيع صامتة لعقدة صدفة مشوّهة. تغذّي الحسابات النقية نفسها أداة المتصفح المجانية ومسار API، فلا تختلف مراجعة الصفحة وسيناريو محفوظ على القيمة النقدية المتوقعة المحسوبة لليانصيب الذي قدّمتموه.
طريقة الاستخدام
أدخل القيم في النموذج أعلاه. تتحقق الأداة منها قبل الحساب ثم تعرض النتيجة في الصفحة نفسها.
راجع بياناتك
اتبع التسميات والوحدات الموضحة بجانب كل حقل. إذا كانت قيمة مفقودة أو خارج النطاق، توضح الصفحة الحقل الذي يحتاج إلى تصحيح.
أعد الحساب أو نفّذه آليًا
استخدم أداة الويب للفحوص الفردية، واستخدم الواجهة البرمجية عند دمج الإمكانية نفسها في سير عمل آلي.
حالات الاستخدام
احصل على النتيجة الآن
أدخل مجموعة من القيم وشاهد النتيجة من دون إعداد جدول بيانات أو برنامج نصي.
قارن السيناريوهات
غيّر قيمة واحدة في كل مرة وأعد الحساب لمعرفة ما الذي يؤثر في النتيجة.
أتمت العمل المتكرر
استخدم الواجهة البرمجية عندما تحتاج إلى تشغيل الحساب نفسه داخل منتجك أو سير عملك.
الأسئلة الشائعة
كيف تُحسب القيمة النقدية المتوقعة (EMV)؟
EMV هي مجموع الاحتمال في العائد على كل نتيجة متنافية: EMV = Σ p_i × payoff_i. أرسلوا تلك الأزواج كـ outcomes؛ تعيد الاستجابة emv ومساهمة كل فرع.
ماذا يحدث إذا لم تجمع الاحتمالات إلى واحد؟
تفشل المهمة بـ invalid_input. لا تعيد الحاسبة تطبيع قائمة لا تضيف فرصها إلى واحد، فلا يستطيع فرع ناقص أو خطأ كتابة تغيير الناتج صامتًا. لا يُفوتر التحقق الفاشل.
هل يجوز أن تكون العوائد سالبة؟
نعم. الـ payoff السالب خسارة (تكلفة إطلاق غارقة، مطالبة، انخفاض). قد تكون EMV سالبة عندما تفوق الخسائر المتوقعة الأرباح المتوقعة، وهي إشارة لرفض اليانصيب مقابل وضع راهن صفري.
هل يلزم label على كل نتيجة؟
لا. label اختياري ويُستخدم فقط في مصفوفة contributions للعرض. probability وpayoff إلزاميان في كل صف. تشمل الأسماء المستعارة p أو prob لـ probability، وamount أو value لـ payoff.
كم تبلغ تكلفة حاسبة القيمة النقدية المتوقعة؟
أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مقدمًا بسعر $0.002 لكل دعوة ناجحة؛ لا تُفوتر المدخلات غير الصالحة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/fin/emv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"outcomes":[{"label":"High demand","probability":0.2,"payoff":100000},{"label":"Base demand","probability":0.5,"payoff":40000},{"label":"Low demand","probability":0.3,"payoff":-20000}]}'const res = await fetch("https://api.kit.forhosting.com/fin/emv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"outcomes": [
{
"label": "High demand",
"probability": 0.2,
"payoff": 100000
},
{
"label": "Base demand",
"probability": 0.5,
"payoff": 40000
},
{
"label": "Low demand",
"probability": 0.3,
"payoff": -20000
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/emv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"outcomes": [
{
"label": "High demand",
"probability": 0.2,
"payoff": 100000
},
{
"label": "Base demand",
"probability": 0.5,
"payoff": 40000
},
{
"label": "Low demand",
"probability": 0.3,
"payoff": -20000
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/emv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"outcomes":[{"label":"High demand","probability":0.2,"payoff":100000},{"label":"Base demand","probability":0.5,"payoff":40000},{"label":"Low demand","probability":0.3,"payoff":-20000}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"outcomes":[{"label":"High demand","probability":0.2,"payoff":100000},{"label":"Base demand","probability":0.5,"payoff":40000},{"label":"Low demand","probability":0.3,"payoff":-20000}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/emv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"outcomes": [
{
"label": "High demand",
"probability": 0.2,
"payoff": 100000
},
{
"label": "Base demand",
"probability": 0.5,
"payoff": 40000
},
{
"label": "Low demand",
"probability": 0.3,
"payoff": -20000
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.emv",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_outcomes | 10000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |