يجب على التقرير الذي يقارن ميزانيات أو قيم عقود سابقة بالحالية أن يعيدها إلى أسعار شهر واحد. اختر شهر الأساس، وسمِّ مؤشر الأسعار، وصف النتيجة. تعيد Narwhal الرقم القياسي لأسعار المستهلك لأي شهر ولآخر شهر منشور، فيُضرب كل مبلغ في آخر مؤشر ويُقسم على مؤشر شهره.
ثلاثة خيارات يجب أن يتخذها كل تقرير يعيد التعبير عن المبالغ
التقرير الذي يضع عقد إيجار وُقّع قبل سنوات بجانب ميزانية هذا العام يقارن نقودا مختلفة القيمة. ويعالج مسؤولو التخطيط المالي وأصحاب العقود ذلك بإعادة كل مبلغ إلى أسعار شهر واحد، وثلاثة خيارات تحدد ما إذا كان يمكن الدفاع عن النتيجة. شهر الأساس هو الشهر الذي تُعاد إليه كل المبالغ. والمؤشر هو سلسلة الأسعار المستخدمة للانتقال بين الأشهر. والتسمية هي الجملة التي تخبر القارئ بالأمرين معا. توفر الواجهة البرمجية قيم المؤشر، ويذكر التقرير الخيارات.
تعيد نقطة نهاية المشاهدات الرقم القياسي العام لأسعار المستهلك لدولة ما شهريا. يقرأ هذا الطلب مؤشر مارس 2012، وهو شهر عقد إيجار مكتب.
curl -s -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/economics/USA/cpi/observations?start=2012-03&end=2012-03"{
"country": "USA",
"as_of": "2026-10-14T00:00:00Z",
"index_base": "1982-84=100",
"observations": [
{
"period": "2012-03",
"value": "229.392"
}
],
"next_cursor": null
}يقبل start وend الصيغة YYYY-MM. وvalue سلسلة نصية عشرية، أما index_base فيسمي فترة الأساس لسلسلة المؤشر، ولا أثر لها على النسبة بين شهرين منها.
استخدم آخر شهر منشور كشهر أساس
تعيد نقطة نهاية CPI من دون period أحدث مؤشر منشور. استخدم شهره كشهر أساس للتقرير كله، فيعاد كل سطر إلى الأسعار نفسها.
curl -s -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/economics/USA/cpi"{
"country": "USA",
"period": "2026-09",
"value": "336.940",
"index_base": "1982-84=100",
"released_on": "2026-10-14"
}period هو شهر الأساس، وvalue هو المؤشر، وreleased_on هو تاريخ نشره. يُعبَّر عن المبلغ المعاد بأسعار ذلك الشهر وليس بأسعار يوم تشغيل التقرير. اذكر ذلك في التقرير.
إعادة التعبير عن قائمة عقود وميزانيات دفعة واحدة
- اذكر كل مبلغ مع الشهر الذي سُعّر فيه استخدم الشهر الذي انطبق فيه السعر، وهو في العقد عادة شهر توقيعه أو شهر ربطه بالمؤشر، وليس سنة الإبلاغ عنه.
- اقرأ السلسلة مرة واحدة يغطي طلب مشاهدات واحد نطاق الأشهر كله. يطلب السكربت الفترة من 2012-01 إلى 2024-12 مع ضبط
limitعلى 1000، ويبني قاموسا بحسبperiod. - الضرب والقسمة باستخدام Decimal يُضرب كل مبلغ في مؤشر شهر الأساس ويُقسم على مؤشر شهره. قرّب إلى السنتات مرة واحدة فقط في النهاية.
- اطبع التسمية مع الجدول يذكر السطر الأول من المخرجات شهر الأساس والدولة وأساس المؤشر، فلا يمكن قراءة الجدول بدونه.
import json import os import urllib.request from decimal import Decimal, ROUND_HALF_UP def get(path): req = urllib.request.Request( "https://api.narwhalapi.com" + path, headers={"Authorization": "Bearer " + os.environ["NARWHAL_API_KEY"]}, ) with urllib.request.urlopen(req, timeout=30) as r: return json.load(r) latest = get("/v1/economics/USA/cpi") base_month, cpi_base = latest["period"], Decimal(latest["value"]) series = get("/v1/economics/USA/cpi/observations?start=2012-01&end=2024-12&limit=1000") cpi = {o["period"]: Decimal(o["value"]) for o in series["observations"]} lines = [ ("Office lease", "2012-03", "480000"), ("Software contract", "2018-06", "120000"), ("Equipment purchase", "2022-01", "75000"), ] print(f"All amounts in {base_month} prices, US CPI {cpi_base}, base {latest['index_base']}") for name, month, amount in lines: restated = (Decimal(amount) * cpi_base / cpi[month]).quantize(Decimal("0.01"), ROUND_HALF_UP) print(f"{name:20} {month} {Decimal(amount):>10,} index {cpi[month]} restated {restated:>12,}")
يصبح عقد الإيجار البالغ 480,000 من مارس 2012 مبلغ 705,042.90 بأسعار سبتمبر 2026. وقسمة مؤشر الأساس على مؤشر شهر الإيجار تعطي 1.469، أي أن الأسعار في هذه السلسلة ارتفعت بنسبة 46.9 بالمئة خلال تلك المدة. وارتفع عقد البرمجيات بنسبة 33.7 بالمئة وشراء المعدات بنسبة 19.8 بالمئة.
All amounts in 2026-09 prices, US CPI 336.940, base 1982-84=100
Office lease 2012-03 480,000 index 229.392 restated 705,042.90
Software contract 2018-06 120,000 index 251.989 restated 160,454.62
Equipment purchase 2022-01 75,000 index 281.148 restated 89,883.26كيف تضع تسمية لعمود المبالغ المعاد التعبير عنها
| البند | الصياغة في التقرير |
|---|---|
| شهر الأساس | بأسعار سبتمبر 2026، وهو آخر شهر منشور عند تشغيل التقرير |
| مؤشر | الرقم القياسي لأسعار المستهلك في الولايات المتحدة، العام، الأساس 1982-84=100 |
| شهر المصدر | اعرض الشهر الذي سُعّر فيه كل مبلغ أصلي في العمود المجاور للمبلغ المعاد |
| التقريب | قرّب إلى السنتات مرة واحدة في النهاية واذكر ذلك |
احتفظ بالمبلغ الأصلي والمبلغ المعاد جنبا إلى جنب، فيستطيع المراجع التحقق من أي صف بعملية ضرب واحدة.
ليس للميزانية السنوية شهر تسعير واحد. اختر شهرا واحدا من تلك السنة، مثل شهر اعتماد الميزانية، وطبّقه على كل سطر في تلك الميزانية واذكر الشهر في التسمية. والبديل هو متوسط المشاهدات الشهرية الاثنتي عشرة لتلك السنة، وعلى التقرير أن يسمي ما يستخدمه منهما.
أي مؤشر أسعار ينبغي أن يستخدمه العقد؟
استخدم المؤشر الذي ينص عليه العقد. تعيد الواجهة البرمجية الرقم القياسي العام لأسعار المستهلك في دولة ما. فإذا كان عقد إيجار أو توريد مرتبطا بمؤشر أساسي أو إقليمي أو قطاعي، فسيختلف الرقم المعاد عن الرقم التعاقدي، لذا تأكد من المؤشر قبل إصدار التقرير.
هل يمكن لتقرير واحد إعادة مبالغ من عدة دول؟
أعد المبالغ داخل دولة واحدة في كل مرة، لأن لكل سلسلة أساسها الخاص، ولأن قيمة مؤشر دولة لا تدل على أسعار دولة أخرى. ولعرض النتائج بعملة واحدة، حوّل المبالغ المعاد التعبير عنها بسعر صرف لتاريخ تحدده، في خطوة منفصلة.
ماذا لو لم يُنشر الشهر الذي أحتاجه بعد؟
يعيد طلب فترة بلا قيمة منشورة استجابة مشكلة 404 مع الرمز series_not_found. وبالنسبة إلى الولايات المتحدة، فإن طلب أكتوبر 2026 يعطي ذلك وقت كتابة هذه الصفحة. استخدم period من نقطة نهاية CPI كشهر أساس واذكر ذلك في التسمية.
نُشر في .