حاسبة السعر إلى المبيعات
قيمة سوقية قدرها 500,000,000 مقابل إيرادات قدرها 250,000,000 تعطي نسبة سعر إلى مبيعات تساوي 2، أي أن السوق يقيّم الأسهم بضعف المبيعات السنوية. مفيدة عندما تكون الأرباح سالبة أو ضئيلة. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- القيمة السوقية
- 500,000,000
- إجمالي الإيرادات
- 250,000,000
- السعر إلى المبيعات
- 2
من يقارن شركات خاسرة أو ذات ربح رقيق ما يزال يحتاج مضاعف تقييم لا يعتمد على صافي الدخل. نسبة السعر إلى المبيعات توفّر تلك الطبعة: القيمة السوقية مقسومة على إجمالي الإيراد، بعملة واحدة، في تاريخ التقرير نفسه. النتيجة ثلاثة تعني أن حقوق الملكية مسعّرة بثلاثة أمثال المبيعات؛ والنتيجة واحد طبعة معتادة لمضاعف منخفض في البقالة أو الجملة.
ما الذي تقيسه نسبة السعر إلى المبيعات وكيف يتكوّن المضاعف
تجيب نسبة السعر إلى المبيعات عن سؤال مقارنات واحد: كم سنة من المبيعات الحالية يدفع السوق مقابل حقوق ملكية الشركة؟ من يبحث عن حاسبة السعر إلى المبيعات يريد ذلك الخارج من القيمة السوقية، لا مضاعف قيمة منشأة إلى مبيعات يبدأ من قيمة الشركة فيضع صافي الدين في البسط، ولا طبعة سعر إلى أرباح تتطلب صافي دخل موجباً، ولا جدولاً يبدّل فاصل العشرات في صمت. القيمة السوقية هي البسط: سعر السهم في الأسهم المخفّفة القائمة في التاريخ نفسه لرقم الإيراد، بعملة واحدة.
وإجمالي الإيراد هو المقام: مبيعات الاثني عشر شهراً اللاحقة أو السنة المستقبلية نفسها التي يستخدمها عرض تشويقي، بتلك العملة نفسها. نسبة 2.0 تعني أن حقوق الملكية مسعّرة بمثلي المبيعات. ونسبة 1x طبعة معتادة في البقالة أو الجملة؛ وغالباً ما تعلو مقارنات البرمجيات عالية النمو أضعافاً.
لا تعيد الحاسبة بناء القيمة السوقية من السعر وعدد الأسهم، ولا تحوّل ربعاً ناقصاً إلى سنوي، ولا تطبّق عتبة قطاع: ذلك مكانه شريط المقارنات.
أين تكسب حاسبة السعر إلى المبيعات موضعها
تتصدر بحوث الأسهم وغرابيل جانب الشراء ونماذج الطلاب على حاسبة السعر إلى المبيعات لأن جدول المقارنات يفكّر بـ P/S عندما يكون الربح رقيقاً أو ما يزال سالباً، لا بسعر سهم خام. لصق القيمة السوقية وإجمالي الإيراد في هذه الأداة يظهر مضاعف المبيعات من جانب حقوق الملكية قبل أن يبني أحد مخطط football field، وهي المقارنة التي يعقدها المحلل حقاً بين اسمين لم يطبَعا بعد صافي دخل مستقراً.
يعيش شركاء تطوير الشركات على أرقام العرض التشويقي؛ قسمة القيمة السوقية المعلنة على المبيعات المعلنة تعطي الطبعة نفسها دون أن يُضطر أحد إلى تذكّر إن كانت خلية قد طرحت المردودات سلفاً. يستطيع من يدرّس التقييم بأسلوب CFA أن يزرع أمثلة صف تفشل بصوت عالٍ عند إيراد صفري أو سالب بدل طباعة Infinity قد يقرأها الطالب رخصاً لا نهائياً. التحقق الفاشل لا يستهلك الرصيد.
حالات الاستخدام
مقارنات خاسرة وغرابيل النمو
حوّلوا القيمة السوقية المبلّغة وإجمالي المبيعات إلى طبعة P/S التي يرتّبها جدول مقارنات عندما يبقى صافي الدخل سالباً أو أرقّ من أن يُستخدم مضاعف سعر إلى أرباح.
فحوص العرض التشويقي والإيداع
الصقوا القيمة السوقية وإجمالي الإيراد المعلنين في عرض تشويقي أو في 10-K حتى يظهر مضاعف المبيعات الضمني قبل بناء مخطط football field.
الأسئلة الشائعة
ماذا يحدث إن كان إجمالي الإيراد صفراً أو سالباً؟
السعر إلى المبيعات خارج، فمقام صفري أو سالب غير معرّف ولا يُحاسب.
هل السعر إلى المبيعات هو نفسه EV/Sales؟
لا. يقسم EV/Sales قيمة المنشأة على المبيعات. هذه الحاسبة تقسم القيمة السوقية على إجمالي الإيراد، فيبقى صافي الدين خارج البسط.
لماذا أستخدم نسبة السعر إلى المبيعات بدل نسبة السعر إلى الأرباح؟
لأن نسبة السعر إلى الأرباح تحتاج إلى صافي ربح موجب، وهو ما لا تملكه الشركات الخاسرة أو ضعيفة الربح. أما نسبة السعر إلى المبيعات فلا تعتمد على صافي الربح، فتسمح بترتيب هذه الشركات في جدول مقارنة.
أي رقم للإيرادات ينبغي أن أستخدم؟
استخدم مبيعات آخر اثني عشر شهرًا، أو السنة المتوقعة نفسها التي تستخدمها بقية الشركات في المقارنة، بالعملة نفسها وفي تاريخ القيمة السوقية نفسه. خلط الفترات يفقد النسبة معناها.
هل نسبة سعر إلى مبيعات تساوي 1 منخفضة؟
في تجارة المواد الغذائية والجملة تُعد القيمة القريبة من 1 أمرًا مألوفًا. أما شركات البرمجيات سريعة النمو فتبلغ غالبًا أضعاف ذلك، لذا قارن النسبة داخل القطاع نفسه.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/fin/price-to-sales-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"market_cap":500000000,"total_revenue":250000000}'const res = await fetch("https://api.kit.forhosting.com/fin/price-to-sales-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"market_cap": 500000000,
"total_revenue": 250000000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/price-to-sales-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"market_cap": 500000000,
"total_revenue": 250000000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/price-to-sales-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"market_cap":500000000,"total_revenue":250000000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"market_cap":500000000,"total_revenue":250000000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/price-to-sales-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"market_cap": 500000000,
"total_revenue": 250000000
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.price_to_sales_ratio",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_abs_value | 1000000000000000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تقبل هذه الأداة هذين المقدارين المنتهيَين، وتقسم القيمة السوقية على إجمالي الإيراد، وتعيد النسبة عقد JSON حتمي يمكن تثبيته في الاختبارات. يُرفض الإيراد الصفري أو السالب بـ invalid_input بدل Infinity أو مضاعف موقّع قد يعدّه نموذج صفقة رابحة. الأداة المجانية في المتصفح وAPI يشتركان في الحساب نفسه، فلا تختلف معاينة الفرز عن سكربت الإنتاج على الرقم.
ما الذي تقيسه نسبة السعر إلى المبيعات وكيف يتكوّن المضاعف
تقسم هذه الأداة هذين المقدارين المنتهيَين وتعيد price_to_sales. ولأن القسمة على صفر غير معرّفة، ولأن إيراداً سالباً لا ينتج مضاعف تداول نافعاً على النحو الذي يستخدم به جدول مقارنات أو مذكرة ائتمان الرقم، تفشل قيمة total_revenue البالغة صفراً أو أقل بـ invalid_input بدل Infinity أو NaN أو مضاعف موقّع قد يعدّه نموذج صفقة رابحة.
عقد الإدخال وشكل الاستجابة وسلوك الخطأ
يُرفض الإيراد السالب كذلك، لأن مقاماً سالباً ليس نسبة السعر إلى المبيعات التي يصفها جدول مقارنات. قارنوا المضاعف بوسيط قطاعكم إن احتاجت المذكرة علماً بالرخص أو الغلاء؛ يحسب هذا الطرف نسبة التقييم فقط ولا يخترع حكم مقارنات. أرسلوا جسم JSON بطريقة POST يوفّر market_cap وtotal_revenue. market_cap هي القيمة السوقية لحقوق الملكية بوحدة نقدية واحدة، عدد منتهٍ قد يكون صفراً فينتج نسبة سعر إلى مبيعات قدرها صفر، وله الأسماء المستعارة market_capitalization وmkt_cap وmarketcap وequity_value. وtotal_revenue هي المبيعات اللاحقة أو المستقبلية بالعملة نفسها، عدد منتهٍ يجب أن يكون أكبر من الصفر تماماً، وله الأسماء المستعارة revenue وsales وsales_ttm وrevenue_ttm وannual_revenue. يجوز أن يصل كل حقل عددي عدداً في JSON أو سلسلة رقمية بالترميز العشري العادي. غياب market_cap أو غياب total_revenue أو السلاسل الفارغة أو القيم غير المنتهية أو مقدار فوق الحد المعلن يفشل بـ invalid_input يسمّي الحقل ولا يُحاسب. الإيراد الصفري هو الخطأ الذي وُجدت هذه الصفحة لاصطياده: تحتوي الرسالة على total_revenue وعلى greater than zero حتى يميّز النموذج ذلك الضابط بدل تنبيه عام. عند النجاح يعيد الجسم المدخلين، ويعيد price_to_sales خارجاً مقرّباً، ويتضمن سلسلة formula تعيد صياغة الهوية price_to_sales equals market_cap divided by total_revenue. مثال: market_cap قدره خمسمائة مليون مقابل total_revenue قدره مئتان وخمسون مليوناً يعطي price_to_sales قدره 2. مثال: market_cap قدره مليار ومئتا مليون مقابل ثلاثمائة وخمسة وسبعين مليوناً من المبيعات يعطي مضاعفاً غير صحيح لا حملاً فارغاً صامتاً.
أين تكسب حاسبة السعر إلى المبيعات موضعها
تستخدم ماسحات الأسواق العامة الهوية نفسها على القيمة السوقية للإيداعات مقابل الإيراد المبلّغ، وعقد JSON لا يبالي أي قصة أنتجت البسط. ولأن التنفيذ parse خالص من الفئة A، تكلف كل مكالمة ناجحة السعر الأساسي المنشور $0.002 بلا رموز نموذج وبلا شبكة صادرة. أبقوا total_revenue موجباً تماماً، وثبّتوا حقل price_to_sales المقرّب في الاختبارات، فتحصلون على مضاعف تقييم قابل للإعادة للأدوات ووحدات المقرر وعُمّال الحافة دون إقامة محرك مقارنات خاص بكم. تستطيع سكربتات المحفظة استدعاء الوحدة نفسها في حلقة على كثير من الرموز؛ كل عنصر طلب واحد، والوحدة item، ويبقى مسار المتصفح المجاني مطابقاً بايتاً ببايت لـ API حتى لا تكذب معاينة الصفحة عن الرقم الذي سيُحفظ بعد التخزين.
حالات التكامل
قاعة درس وتمارين تقييم CFA
ازرعوا أمثلة تعيد مضاعفاً مقرّباً عند إيراد موجب وتفشل بصوت عالٍ عندما يكون total_revenue صفراً أو سالباً.
أسئلة تقنية
كيف تُحسب نسبة السعر إلى المبيعات من القيمة السوقية وإجمالي الإيراد؟
أرسلوا عددين منتهيَين market_cap وtotal_revenue. تعيد API قيمة price_to_sales قسماً لـ market_cap على total_revenue، مقرّبة إلى ست منازل عشرية.
هل يجوز أن تكون القيمة السوقية صفراً؟
نعم. يُقبل market_cap قدره صفر وينتج نسبة سعر إلى مبيعات قدرها صفر. وتُقبل أيضاً قيمة سوقية سالبة بسطاً منتهياً.
كم تكلفة حاسبة السعر إلى المبيعات؟
أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقاً بمقدار $0.002 لكل استدعاء ناجح؛ والإدخال غير الصالح لا يُحاسب.