From fd30b9f6faab8a7ea7e5561553844b7df1aa1a9c Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Tue, 16 Jun 2026 22:44:47 +0300 Subject: [PATCH] feat: add generate_study script for automated study content creation --- scratch/generate_study.py | 629 ++++++++++++++++++++++++++ دراسة_الجدوى_سيرو_الإصدار_الثالث.docx | Bin 0 -> 47573 bytes 2 files changed, 629 insertions(+) create mode 100644 scratch/generate_study.py create mode 100644 دراسة_الجدوى_سيرو_الإصدار_الثالث.docx diff --git a/scratch/generate_study.py b/scratch/generate_study.py new file mode 100644 index 0000000..1a8861f --- /dev/null +++ b/scratch/generate_study.py @@ -0,0 +1,629 @@ +#!/usr/bin/env python3.13 +""" +Generate the updated feasibility study (Version 3.1) for Siro App. +Produces both .docx and .html output. +""" + +from docx import Document +from docx.shared import Inches, Pt, Cm, RGBColor +from docx.enum.text import WD_ALIGN_PARAGRAPH +from docx.enum.table import WD_TABLE_ALIGNMENT +from docx.enum.section import WD_ORIENT +from docx.oxml.ns import qn +from docx.oxml import OxmlElement +import os + +OUTPUT_DIR = "/Users/hamzaaleghwairyeen/development/App/Siro" + +# ─── Colours ─── +PRIMARY = RGBColor(0x1E, 0x3A, 0x8A) +DARK = RGBColor(0x0F, 0x17, 0x2A) +WHITE = RGBColor(0xFF, 0xFF, 0xFF) +GREY = RGBColor(0x47, 0x55, 0x69) +LGREY = RGBColor(0xF1, 0xF5, 0xF9) +GREEN = RGBColor(0x16, 0x7A, 0x34) +RED = RGBColor(0xB9, 0x1C, 0x1C) + +def set_cell_shading(cell, color_hex): + """Set cell background colour.""" + shading = OxmlElement('w:shd') + shading.set(qn('w:val'), 'clear') + shading.set(qn('w:color'), 'auto') + shading.set(qn('w:fill'), color_hex) + cell._tc.get_or_add_tcPr().append(shading) + +def add_table(doc, headers, rows, col_widths=None, header_color="1e3a8a", header_text_color="FFFFFF"): + """Add a formatted table.""" + table = doc.add_table(rows=1 + len(rows), cols=len(headers)) + table.alignment = WD_TABLE_ALIGNMENT.CENTER + table.style = 'Table Grid' + + # Header row + for i, h in enumerate(headers): + cell = table.rows[0].cells[i] + cell.text = '' + p = cell.paragraphs[0] + p.alignment = WD_ALIGN_PARAGRAPH.CENTER + run = p.add_run(h) + run.bold = True + run.font.size = Pt(10) + run.font.color.rgb = WHITE + set_cell_shading(cell, header_color) + + # Data rows + for r_idx, row in enumerate(rows): + for c_idx, val in enumerate(row): + cell = table.rows[r_idx + 1].cells[c_idx] + cell.text = '' + p = cell.paragraphs[0] + p.alignment = WD_ALIGN_PARAGRAPH.CENTER if c_idx > 0 else WD_ALIGN_PARAGRAPH.RIGHT + run = p.add_run(str(val)) + run.font.size = Pt(9.5) + if r_idx == len(rows) - 1: + run.bold = True + if c_idx == 0: + run.bold = True + + if col_widths: + for i, w in enumerate(col_widths): + for row in table.rows: + row.cells[i].width = Cm(w) + return table + +def add_heading(doc, text, level=1): + h = doc.add_heading(text, level=level) + h.alignment = WD_ALIGN_PARAGRAPH.RIGHT + for run in h.runs: + run.font.color.rgb = PRIMARY if level <= 2 else DARK + return h + +def add_para(doc, text, bold=False, size=10, color=None, align=WD_ALIGN_PARAGRAPH.RIGHT): + p = doc.add_paragraph() + p.alignment = align + run = p.add_run(text) + run.bold = bold + run.font.size = Pt(size) + if color: + run.font.color.rgb = color + return p + +def add_bullet(doc, text, bold_prefix=""): + p = doc.add_paragraph(style='List Bullet') + p.alignment = WD_ALIGN_PARAGRAPH.RIGHT + if bold_prefix: + run = p.add_run(bold_prefix) + run.bold = True + run.font.size = Pt(10) + run = p.add_run(text) + run.font.size = Pt(10) + return p + + +def generate_docx(): + doc = Document() + + # Set RTL for entire document + style = doc.styles['Normal'] + style.font.name = 'Calibri' + style.font.size = Pt(10) + style.element.rPr.rFonts.set(qn('w:eastAsia'), 'Calibri') + + # ── Title Page ── + for _ in range(4): + doc.add_paragraph() + + p = doc.add_paragraph() + p.alignment = WD_ALIGN_PARAGRAPH.CENTER + run = p.add_run("دراسة الجدوى الاقتصادية\nتطبيق سيرو للنقل الذكي") + run.bold = True + run.font.size = Pt(28) + run.font.color.rgb = PRIMARY + + p = doc.add_paragraph() + p.alignment = WD_ALIGN_PARAGRAPH.CENTER + run = p.add_run("الإصدار الثالث — يونيو 2026\nنموذج الدفع الشهري المرحلي") + run.font.size = Pt(16) + run.font.color.rgb = GREY + + doc.add_paragraph() + + # Key metrics boxes + metrics = [ + ("السوق المستهدف", "سوريا — دمشق الكبرى"), + ("نموذج الاستثمار", "دفع شهري مرحلي ($8,000/شهر)"), + ("رأس المال التأسيسي", "$9,000 (دفعة واحدة)"), + ("نقطة الخروج", "نهاية الشهر الخامس إذا لم تتحقق المؤشرات"), + ("نطاق نقطة التعادل", "الشهر السابع حتى التاسع"), + ("أقصى تعرض للمستثمر", "$49,000 (عند الخروج المبكر)"), + ("إجمالي الاستثمار المتوقع", "$65,000 — $81,000"), + ] + for label, val in metrics: + p = doc.add_paragraph() + p.alignment = WD_ALIGN_PARAGRAPH.CENTER + run = p.add_run(f"{label}: ") + run.bold = True + run.font.size = Pt(11) + run = p.add_run(val) + run.font.size = Pt(11) + run.font.color.rgb = PRIMARY + + doc.add_page_break() + + # ── 1. Executive Summary ── + add_heading(doc, "أولاً: الملخص التنفيذي", 1) + + add_para(doc, + "سيرو تطبيق نقل ذكي جاهز للإطلاق في السوق السوري، يعمل على بنية تحتية مستقلة تقنياً لا تعتمد على " + "أي خدمات خارجية مكلفة أو مقيدة جغرافياً. يتميز بأدنى عمولة في السوق (11%) مقابل 17-20% لدى المنافسين، " + "مما يجعله الخيار المنطقي للسائق والراكب معاً.") + + add_para(doc, + "تتبنى هذه الخطة نموذج دفع شهري مرحلي يحمي المستثمر من تجميد رأس المال، ويضمن استمرارية تشغيلية مرتبطة " + "بالأداء الفعلي. وجود شرط خروج صريح في الشهر الخامس يُعطي الطرفين وضوحاً تاماً في المخاطر والتوقعات.") + + add_para(doc, "أبرز نقاط القوة التنافسية", bold=True, size=11) + bullets = [ + ("▸ المنتج مكتمل تقنياً ومختبر ميدانياً — لا مخاطر تطوير"), + ("▸ تجربة الطيار: 1,447 سائق انضموا بـ$1,400 إعلانات فقط — بدون حوافز"), + ("▸ أدنى عمولة في السوق: 11% مقابل 17-20% عند المنافسين"), + ("▸ بنية تحتية ذاتية توفر 60% من تكاليف التشغيل مقارنة بالنظراء"), + ("▸ المؤسس يغطي وظائف 5 أشخاص — وفر $3,000-5,000/شهر في الرواتب"), + ("▸ نموذج استثمار شهري مرحلي: صفر مخاطر تجميد رأس المال"), + ] + for b in bullets: + add_bullet(doc, b) + + # Key indicators table + add_para(doc, "مؤشرات الأداء الرئيسية", bold=True, size=11) + add_table(doc, + ["المؤشر", "القيمة"], + [ + ["رأس المال التأسيسي (مرة واحدة)", "$9,000"], + ["المصاريف التشغيلية الشهرية", "$8,000/شهر"], + ["نقطة الخروج للمستثمر", "نهاية الشهر الخامس إذا لم تتحقق المؤشرات"], + ["نطاق التعادل", "الشهر 7 — 9"], + ["أقصى خسارة عند الخروج المبكر", "$49,000"], + ["إجمالي الاستثمار حتى التعادل", "$65,000 — $81,000"], + ["عمولة التطبيق", "11% من كل رحلة"], + ["متوسط حصة الشركة للرحلة", "$0.30 / رحلة"], + ["هدف الرحلات عند التعادل", "889 رحلة/يوم"], + ], + col_widths=[12, 6] + ) + + # ── 2. Vision & Business Model ── + doc.add_page_break() + add_heading(doc, "ثانياً: الرؤية والنموذج التجاري", 1) + + add_para(doc, "الرؤية", bold=True, size=11) + add_para(doc, "أن يكون سيرو المنصة الأولى للنقل الذكي الموثوق في سوريا، بعمولة عادلة للسائق وخدمة موثوقة للراكب، على بنية رقمية مستقلة وسيادية.") + + add_para(doc, "نموذج الإيرادات", bold=True, size=11) + add_bullet(doc, "عمولة 11% من قيمة كل رحلة تُقتطع تلقائياً من أجرة السائق") + add_bullet(doc, "متوسط قيمة الرحلة: $2.75 — حصة الشركة: $0.30/رحلة") + add_bullet(doc, "مستقبلاً: إعلانات داخل التطبيق، اشتراكات السائق المميز، خدمات B2B للشركات والفنادق") + + add_para(doc, "الميزة التنافسية — لماذا سيرو؟", bold=True, size=11) + add_table(doc, + ["المعيار", "سيرو", "المنافسون"], + [ + ["عمولة التطبيق", "11%", "17% - 20%"], + ["خريطة المنصة", "IntaleqMaps — ذاتية $0", "Google Maps $5,000-15,000/شهر"], + ["نظام OTP", "Flash Call ذاتي — $0", "SMS مدفوع $0.03-0.05/رسالة"], + ["تكلفة التطوير المستمر", "المؤسس = المطور", "فريق خارجي مكلف"], + ["البنية التحتية", "خوادم ذاتية مستقلة", "Cloud APIs قابلة للتوقف"], + ["خدمة العملاء", "مدمجة + AI (Nabeeh)", "مراكز خارجية مكلفة"], + ], + col_widths=[5, 6, 7] + ) + + # ── 3. Market Analysis ── + doc.add_page_break() + add_heading(doc, "ثالثاً: تحليل السوق السوري", 1) + + add_heading(doc, "3-1: لماذا الآن؟", 2) + add_para(doc, "تمر سوريا في مرحلة إعادة الإعمار وانفتاح اقتصادي تدريجي منذ نهاية 2024. دمشق الكبرى تشهد حركة تجارية متصاعدة مع نقص واضح في وسائل النقل المنظم.") + + add_heading(doc, "3-2: حجم السوق", 2) + add_table(doc, + ["المؤشر", "التقدير"], + [ + ["سكان دمشق الكبرى", "4 - 5 مليون نسمة"], + ["مستخدمو الهاتف الذكي", "65% - 70%"], + ["الرحلات اليومية المحتملة", "200,000 - 400,000 رحلة/يوم"], + ["حصة السوق المستهدفة سنة 1", "1% - 2% (1,500 - 2,000 رحلة/يوم)"], + ["نتيجة تجربة الطيار", "1,447 سائق سجلوا بـ$1,400 تسويق فقط"], + ], + col_widths=[10, 8] + ) + + add_heading(doc, "3-3: المنافسون الرئيسيون", 2) + add_table(doc, + ["التطبيق", "نقطة الضعف", "فرصتنا"], + [ + ["YallaGo", "عمولة 20% تُرهق السائق", "11% = ولاء السائق يتحول إلينا"], + ["Zakinn", "عمولة 17% تُرهق السائق", "نبدأ من المنطقة الأكثر طلباً"], + ["Tafaddal", "تجربة مستخدم ضعيفة", "UX متقدم + تطبيق سائق أفضل"], + ["سيرو — ميزتنا", "أدنى عمولة + بنية مستقلة", "الأصعب تقليداً في السوق"], + ], + col_widths=[4, 6, 8] + ) + + # ── 4. Operational Plan ── + doc.add_page_break() + add_heading(doc, "رابعاً: الخطة التشغيلية", 1) + + add_heading(doc, "4-1: اختيار موقع المكتب في دمشق", 2) + add_para(doc, "يشترط الترخيص القانوني وجود مقر موثق. الميزانية المخصصة: $600/شهر.") + + add_table(doc, + ["المنطقة", "التقييم", "الإيجار الشهري", "الملاحظة"], + [ + ["المزة", "★★★★★", "$500 - $700", "الأفضل: مقر الشركات الكبرى"], + ["كفرسوسة", "★★★★☆", "$400 - $600", "قريب من المزة، أسعار معقولة"], + ["الصالحية", "★★★☆☆", "$400 - $550", "مركزي، وصول جيد"], + ["أبو رمانة", "★★☆☆☆", "$700 - $1,000", "مرموق لكن يتجاوز الميزانية"], + ["برزة", "★★☆☆☆", "$280 - $400", "أرخص لكن أقل احترافية"], + ], + col_widths=[3, 2.5, 3.5, 8] + ) + add_para(doc, "التوصية: كفرسوسة أو المزة — 50-70 م² مع هامش تفاوض", bold=True) + + # 4-2: Office Furniture (revised) + add_heading(doc, "4-2: المشتريات والتجهيزات المكتبية", 2) + + add_para(doc, "أ — الأثاث المكتبي", bold=True, size=10) + add_table(doc, + ["البند", "الكمية", "سعر الوحدة", "الإجمالي"], + [ + ["مكتب رئيسي مع أدراج", 1, "$80", "$80"], + ["مكاتب موظفين بسيطة", 3, "$40", "$120"], + ["كرسي مكتبي دوّار رئيسي", 1, "$60", "$60"], + ["كراسي موظفين", 3, "$30", "$90"], + ["طاولة اجتماعات صغيرة (4 أشخاص)", 1, "$50", "$50"], + ["برادي (ستائر) للمكتب", "—", "—", "$25"], + ["رفوف تخزين بسيطة", "—", "—", "$25"], + ["مراوح (عدد 2)", 2, "$25", "$50"], + ["إجمالي الأثاث", "", "", "$500"], + ], + col_widths=[7, 2, 2.5, 2.5] + ) + + add_para(doc, "ب — المعدات والتجهيزات", bold=True, size=10) + add_table(doc, + ["البند", "الإجمالي"], + [ + ["طابعة/ماسح ضوئي", "$35"], + ["إكسسوارات (كابلات، ماوس، لوحات مفاتيح)", "$20"], + ["قرطاسية ومستلزمات (3 أشهر)", "$20"], + ["أدوات ضيافة أولية", "$25"], + ["إجمالي التجهيزات", "$100"], + ], + col_widths=[10, 4] + ) + + add_para(doc, "ج — أثاث وتجهيزات سكن المؤسس", bold=True, size=10) + add_table(doc, + ["البند", "الإجمالي"], + [ + ["سرير + فرشة (عدد 2)", "$100"], + ["إحرامات + مخدات (عدد 2)", "$25"], + ["برادي للسكن", "$25"], + ["ثلاجة صغيرة للمكتب والسكن", "$80"], + ["غاز صغير (سفري) + أدوات مطبخ", "$70"], + ["سخان مياه (شمسي/كهربائي)", "$50"], + ["إجمالي تجهيزات السكن", "$350"], + ], + col_widths=[10, 4] + ) + + # 4-3: Technical Equipment + add_heading(doc, "4-3: أجهزة التطوير والمعدات التقنية", 2) + add_table(doc, + ["البند", "الإجمالي", "ملاحظة"], + [ + ["MacBook Pro M4 Pro Max (40 GPU)", "$3,100", "جهاز التطوير والإدارة الرئيسي"], + ["iPhone (أحدث إصدار)", "$500", "اختبار تطبيق iOS"], + ["جهاز Android (أحدث إصدار)", "$300", "اختبار تطبيق Android"], + ["باقي أجهزة التطوير", "$1,100", "ملحقات وإكسسوارات تطوير"], + ["إجمالي أجهزة التطوير", "$5,000", ""], + ], + col_widths=[8, 3.5, 5.5] + ) + + add_para(doc, "ملاحظة: تم استبدال أجهزة الحاسوب المكتبي لخدمة العملاء بهواتف ذكية (3 × $150 ضمن بند هواتف خدمة العملاء في CAPEX).", size=9, color=GREY) + + # ── 5. HR Plan ── + doc.add_page_break() + add_heading(doc, "خامساً: خطة الموارد البشرية", 1) + + add_heading(doc, "5-1: الهيكل الوظيفي والرواتب", 2) + add_table(doc, + ["المسمى الوظيفي", "العدد", "الراتب الشهري", "الإجمالي"], + [ + ["المشغل الرئيسي / المؤسس التنفيذي", 1, "$3,500", "$3,500"], + ["ممثل خدمة العملاء", 3, "$110 - $130", "$400"], + ["إجمالي الرواتب الشهرية", "4 أشخاص", "", "$3,900"], + ], + col_widths=[7, 2, 3.5, 3] + ) + + add_para(doc, "ملاحظات:", bold=True, size=9) + add_bullet(doc, "تم إلغاء بند مدير السوشيال ميديا (فريلانسر) — المؤسس يدير التسويق الرقمي مباشرة") + add_bullet(doc, "تم إلغاء بند السكرتيرة الإدارية — المهام توزع على فريق خدمة العملاء والمؤسس") + add_bullet(doc, "فريق خدمة العملاء: 3 موظفين براتب $110-130/شهر ($400 إجمالي)") + add_bullet(doc, "برنامج تدريب خدمة العملاء: أسبوعين (بدلاً من 4 أسابيع)") + + # ── 6. Financial Plan ── + doc.add_page_break() + add_heading(doc, "سادساً: الخطة المالية التفصيلية", 1) + + add_heading(doc, "6-1: رأس المال التأسيسي — $9,000 (دفعة واحدة)", 2) + add_para(doc, "يُصرف كاملاً عند بدء التأسيس قبل الإطلاق.") + + add_table(doc, + ["البند", "المبلغ", "البيان"], + [ + ["شهادة اعتمادية (الهيئة الناظمة)", "$600", "ترخيص التطبيق"], + ["أتعاب المحامي والتخليص القانوني", "$1,500", "تأسيس الشركة + تراخيص"], + ["رسوم وزارة (سجل تجاري + وزارة نقل)", "$200", "رسوم حكومية"], + ["هواتف خدمة العملاء (3 أجهزة)", "$450", "3 × $150"], + ["أجهزة التطوير (Mac + iPhone + Android)", "$5,000", "حسب التفصيل في 4-3"], + ["لابتوب للسيرفرات وإدارة الإعلانات", "$350", "جهاز منفصل لإدارة السيرفرات"], + ["تجهيز المكتب (أثاث + معدات)", "$550", "حسب التفصيل في 4-2"], + ["تجهيزات سكن المؤسس", "$350", "أثاث وتجهيزات أساسية"], + ["إجمالي رأس المال التأسيسي", "$9,000", ""], + ], + col_widths=[8, 2.5, 6] + ) + + add_heading(doc, "6-2: المصاريف التشغيلية الشهرية — $8,000/شهر", 2) + add_table(doc, + ["البند", "المبلغ", "البيان"], + [ + ["راتب المشغل الرئيسي", "$3,500", "تقني + إداري + تسويق + عمليات"], + ["فريق خدمة العملاء × 3", "$400", "بمتوسط $133/موظف"], + ["سيرفرات وبنية سحابية", "$200", "استضافة + نسخ احتياطي"], + ["إيجار المكتب", "$600", "كفرسوسة / المزة"], + ["إيجار سكن المشغل", "$300", "ضمن خطة الرواتب"], + ["خدمات الإنترنت", "$45", "خط ثابت مزدوج"], + ["فاتورة الكهرباء", "$70", "مكتب + معدات"], + ["باقات خطوط هواتف (3 أرقام)", "$30", "لخدمة العملاء"], + ["إعلانات رقمية (Facebook + TikTok)", "$2,855", "المتبقي من الميزانية"], + ["إجمالي OPEX الشهري", "$8,000", ""], + ], + col_widths=[7, 2.5, 6] + ) + + add_para(doc, "ملاحظة: تم إلغاء بند إدارة السوشيال ميديا ($200) وبند السكرتيرة ($100). الفائض (~$355 إضافية) يُضاف إلى ميزانية الإعلانات الرقمية ($2,855 بدلاً من $2,500).", size=9, color=GREY) + + # 6-3: Driver Incentives + add_heading(doc, "6-3: خطة حوافز السائقين", 2) + add_table(doc, + ["الفترة", "السائقون", "التكلفة", "المصدر"], + [ + ["الشهر الأول", "100 سائق × $15", "$1,500", "من CAPEX (احتياطي)"], + ["الشهر الثاني", "120 سائق × $15", "$1,800", "من CAPEX (احتياطي)"], + ["الشهر الثالث", "150+ سائق", "من الإيرادات", "ذاتي التمويل"], + ["الشهر الرابع+", "300-500 سائق", "من الإيرادات", "ذاتي التمويل"], + ], + col_widths=[4, 4, 3.5, 4] + ) + + # 6-4: Cash Flow Table + add_heading(doc, "6-4: جدول التدفق النقدي الشهري", 2) + add_table(doc, + ["الشهر", "صرف المستثمر", "الإيرادات", "العجز", "الإجمالي", "رحلات/يوم", "سائق نشط"], + [ + ["التأسيس", "$9,000", "—", "-$9,000", "$9,000", "—", "—"], + ["1", "$8,000", "$270", "-$7,730", "$17,000", "30", "100"], + ["2", "$8,000", "$630", "-$7,370", "$25,000", "70", "120"], + ["3", "$8,000", "$1,350", "-$6,650", "$33,000", "150", "220"], + ["★4 — فحص", "$8,000", "$3,150", "-$4,850", "$41,000", "350", "350"], + ["★5 — خروج", "$8,000", "$5,400", "-$2,600", "$49,000", "600", "480"], + ["6", "$8,000", "$6,750", "-$1,250", "$57,000", "750", "550"], + ["⚡7", "$8,000", "$8,100", "+$100", "$65,000", "900", "630"], + ["⚡8", "$8,000", "$9,450", "+$1,450", "$73,000", "1,050", "750"], + ["⚡9", "$8,000", "$10,500", "+$2,500", "$81,000", "1,167", "840"], + ["10", "$0", "$11,250", "+$3,250", "—", "1,250", "900"], + ["11", "$0", "$12,375", "+$4,375", "—", "1,375", "980"], + ["12", "$0", "$13,500", "+$5,500", "—", "1,500", "1,050"], + ["13", "$0", "$14,400", "+$6,400", "—", "1,600", "1,100"], + ["14", "$0", "$15,300", "+$7,300", "—", "1,700", "1,150"], + ], + col_widths=[2.5, 2.5, 2, 2, 2.5, 2, 2] + ) + + # ── 7. Investment Structure ── + doc.add_page_break() + add_heading(doc, "سابعاً: هيكل الاستثمار — نموذج الدفع الشهري", 1) + + add_para(doc, "آلية الدفع:", bold=True, size=11) + add_bullet(doc, "المستثمر يدفع $9,000 مرة واحدة عند التوقيع (CAPEX)") + add_bullet(doc, "يدفع $8,000 شهرياً لتغطية التشغيل الكامل") + add_bullet(doc, "الدفع يتوقف تلقائياً عندما تتجاوز الإيرادات $8,000/شهر") + add_bullet(doc, "لا يوجد التزام بإجمالي محدد مقدماً") + + add_para(doc, "", size=6) + add_para(doc, "جدول الدفع المتوقع (سيناريو قاعدي — تعادل الشهر 8):", bold=True, size=10) + add_table(doc, + ["الشهر", "المبلغ", "نوع الدفع", "حالة المشروع"], + [ + ["صفر", "$9,000", "مرة واحدة", "تجهيز + ترخيص + تعيين"], + ["1", "$8,000", "شهري", "إطلاق ناعم"], + ["2", "$8,000", "شهري", "نمو متصاعد"], + ["3", "$8,000", "شهري", "حوافز ذاتية"], + ["4 — فحص", "$8,000", "شهري", "مراجعة أداء"], + ["5 — خروج", "$8,000", "شهري", "استمرار أو خروج"], + ["6", "$8,000", "شهري", "قرب التعادل"], + ["7", "$8,000", "شهري", "تعادل متفائل"], + ["8 — تعادل", "$8,000 (آخر)", "شهري", "الإيرادات ≥ $8,000"], + ["9+", "$0", "ذاتي", "المشروع يمول نفسه"], + ], + col_widths=[3, 3, 3, 7] + ) + + add_para(doc, "", size=6) + add_para(doc, "إجمالي تعرض المستثمر في كل سيناريو:", bold=True, size=10) + add_table(doc, + ["السيناريو", "التوقف", "الإجمالي", "ملاحظة"], + [ + ["خروج مبكر (فشل)", "نهاية ش5", "$49,000", "أقصى خسارة $49,000"], + ["تعادل متفائل", "منتصف ش7", "$57,000", "أفضل سيناريو"], + ["تعادل قاعدي", "منتصف ش8", "$65,000", "الأرجح"], + ["تعادل محافظ", "منتصف ش9", "$73,000", "نمو أبطأ"], + ], + col_widths=[5, 3, 3, 5] + ) + + add_para(doc, "", size=6) + add_para(doc, "لماذا لا يوجد احتياطي مالي في هذا النموذج؟", bold=True, size=11) + add_para(doc, "في النموذج القديم (مبلغ واحد)، المستثمر يدفع كل شيء مقدماً والاحتياطي يجلس خاملاً. في النموذج الجديد (شهري):", size=10) + add_bullet(doc, "المستثمر يدفع فقط ما صُرف فعلاً") + add_bullet(doc, "لا توجد أموال خاملة — كل دولار يُشغَّل") + add_bullet(doc, "المستثمر يخاطر بـ$49,000 كحد أقصى (عند الخروج)") + add_bullet(doc, "نقطة الخروج هي الحماية الحقيقية بدلاً من الاحتياطي") + + # ── 8. Exit Clause ── + doc.add_page_break() + add_heading(doc, "ثامناً: شرط الخروج — بند الحماية", 1) + + add_para(doc, "يحق للمستثمر إيقاف الدفعات الشهرية والخروج في نهاية الشهر الخامس إذا لم تتحقق المؤشرات.", size=10) + + add_para(doc, "", size=6) + add_para(doc, "مؤشرات الأداء — نقطة الفحص (الشهر 4):", bold=True, size=10) + add_table(doc, + ["المؤشر", "الحد الأدنى", "الحد المثالي"], + [ + ["الرحلات اليومية", "200/يوم", "350/يوم"], + ["السائقون المسجلون", "300", "450"], + ["السائقون النشطون", "150", "250"], + ["الإيرادات الشهرية", "$1,800", "$3,150"], + ["معدل احتجاز السائق", "55%", "70%"], + ["تقييم التطبيق", "4.0+", "4.3+"], + ], + col_widths=[6, 4, 4] + ) + + add_para(doc, "", size=6) + add_para(doc, "مؤشرات الأداء — نقطة القرار (الشهر 5):", bold=True, size=10) + add_table(doc, + ["المؤشر", "حد الاستمرار", "الخروج إذا أقل من"], + [ + ["الرحلات اليومية", "400/يوم", "300/يوم"], + ["السائقون النشطون", "400", "250"], + ["الإيرادات الشهرية", "$4,000+", "$2,700"], + ["نمو أسبوعي", "+10% متواصل", "ثبات أو تراجع"], + ["عقود B2B", "عقد واحد", "صفر عقود"], + ], + col_widths=[6, 4, 4] + ) + + # ── 9. Break-Even ── + doc.add_page_break() + add_heading(doc, "تاسعاً: تحليل نقطة التعادل — نطاق الشهر 7 إلى 9", 1) + + add_para(doc, "لماذا نطاق وليس رقماً ثابتاً؟", bold=True, size=10) + add_para(doc, "السوق السوري في مرحلة إعادة الإعمار = سوق متقلب بطبيعته. النطاق (7-9) أكثر صدقاً وأكثر حماية لكلا الطرفين.") + + add_para(doc, "", size=6) + add_table(doc, + ["السيناريو", "نقطة التعادل", "إجمالي الاستثمار", "الوصف"], + [ + ["متفائل", "الشهر 7", "$57,000", "نمو سريع، B2B مبكر"], + ["قاعدي (الأرجح)", "الشهر 8", "$65,000", "نمو طبيعي"], + ["محافظ", "الشهر 9", "$73,000", "سوق متقلب"], + ["خروج مبكر", "لا تعادل", "$49,000", "آخر دفعة ش5"], + ], + col_widths=[4, 3, 4, 5] + ) + + add_para(doc, "", size=6) + add_para(doc, "معادلة التعادل:", bold=True, size=11) + add_para(doc, "889 رحلة/يوم (عند $0.30/رحلة × 30 يوماً = $8,010)", bold=True, size=12, color=PRIMARY) + add_table(doc, + ["المعطى", "الرقم", "كيف وصلنا إليه"], + [ + ["عمولة الشركة لكل رحلة", "$0.30", "11% من متوسط رحلة $2.75"], + ["أيام الشهر", "30", ""], + ["OPEX الشهري المستهدف", "$8,000", ""], + ["رحلات التعادل اليومية", "889/يوم", "$8,000 ÷ $0.30 ÷ 30"], + ["تعادل الشهر 7 (900/يوم)", "$8,100 > $8,000 ✓", "متحقق"], + ], + col_widths=[6, 4, 6] + ) + + # ── 10. Risk Analysis ── + doc.add_page_break() + add_heading(doc, "عاشراً: تحليل المخاطر وخطط التخفيف", 1) + add_table(doc, + ["المخاطرة", "التأثير", "الاحتمالية", "خطة التخفيف"], + [ + ["تأخر الترخيص", "عالٍ", "متوسطة", "البدء قبل الإطلاق بشهرين"], + ["بطء نمو السائقين", "عالٍ", "منخفضة", "1,447 سائق بـ$1,400 — مثبت"], + ["انخفاض الإيرادات", "عالٍ", "متوسطة", "شرط الخروج ش5 يحمي المستثمر"], + ["تقلبات أمنية/سياسية", "عالٍ", "منخفضة-متوسطة", "بنية مستقلة - لا اعتماد على APIs غربية"], + ["دخول منافس جديد", "متوسط", "متوسطة", "11% عمولة = عتبة تنافسية شبه مستحيلة"], + ["مشاكل تقنية", "متوسط", "منخفضة", "المطور = المؤسس — استجابة فورية"], + ["فشل الإعلانات", "متوسط", "منخفضة", "تجربة سابقة مثبتة + A/B Testing"], + ], + col_widths=[5, 2, 3, 6] + ) + + # ── 11. Roadmap ── + doc.add_page_break() + add_heading(doc, "حادي عشر: خارطة الطريق والأهداف التشغيلية", 1) + add_table(doc, + ["المرحلة", "الشهر", "الأهداف", "مؤشرات النجاح"], + [ + ["التأسيس", "قبل الإطلاق", "ترخيص + مكتب + توظيف", "وثائق قانونية + فريق جاهز"], + ["الإطلاق الناعم", "ش 1-2", "100-120 سائق محفز", "70+ رحلة/يوم"], + ["بناء الزخم", "ش 3", "حوافز ذاتية + B2B", "150 رحلة/يوم"], + ["نقطة الفحص", "ش 4", "مراجعة مع المستثمر", "350 رحلة/يوم | $3,150"], + ["قرار الاستمرار", "ش 5", "استمرار أو خروج", "600 رحلة/يوم | عقد B2B"], + ["الاقتراب من التعادل", "ش 6", "750 رحلة/يوم", "عجز $1,250 فقط"], + ["⚡ نطاق التعادل", "ش 7-9", "الإيرادات ≥ OPEX", "889+ رحلة/يوم"], + ["النمو الذاتي", "ش 10-12", "فائض شهري", "$3,250-$5,500 فائض"], + ["التوسع الجغرافي", "ش 13+", "حلب أو اللاذقية", "1,600+ رحلة/يوم"], + ], + col_widths=[4, 2, 4, 6] + ) + + # ── 12. Conclusion ── + doc.add_page_break() + add_heading(doc, "ثاني عشر: الخلاصة والتوصية النهائية", 1) + + add_para(doc, "ملخص نقاط الثقة للمستثمر:", bold=True, size=11) + add_bullet(doc, "المنتج جاهز ومختبر — 1,447 سائق التحقوا بـ$1,400 فقط") + add_bullet(doc, "أدنى عمولة في السوق (11%) = ميزة تنافسية دائمة") + add_bullet(doc, "نموذج الدفع الشهري يحمي المستثمر — لا تجميد لرأس المال") + add_bullet(doc, "شرط الخروج الواضح يضع سقفاً لأقصى خسارة ($49,000)") + add_bullet(doc, "نقطة التعادل (7-9 أشهر) واقعية ومبنية على بيانات حقيقية") + add_bullet(doc, "البنية التقنية المستقلة = مقاومة للعقوبات والقيود") + + add_para(doc, "", size=6) + add_table(doc, + ["المؤشر", "القيمة"], + [ + ["رأس المال التأسيسي (مرة واحدة)", "$9,000 — عند توقيع الاتفاقية"], + ["المصاريف التشغيلية الشهرية", "$8,000/شهر — يتوقف عند التعادل"], + ["أقصى تعرض للمستثمر", "$49,000 — نقطة الخروج: نهاية الشهر الخامس"], + ["إجمالي الاستثمار حتى التعادل", "$65,000 — $73,000"], + ["نطاق التعادل", "الشهر السابع إلى التاسع"], + ], + col_widths=[10, 8] + ) + + add_para(doc, "", size=8) + add_para(doc, "هذه الدراسة أُعدت بناءً على بيانات حقيقية من السوق السوري وتجربة ميدانية فعلية. كل رقم فيها مبني على افتراضات محافظة.", bold=True, size=10, align=WD_ALIGN_PARAGRAPH.CENTER) + add_para(doc, "— نهاية دراسة الجدوى — الإصدار الثالث — يونيو 2026 —", size=9, color=GREY, align=WD_ALIGN_PARAGRAPH.CENTER) + + # Save + docx_path = os.path.join(OUTPUT_DIR, "دراسة_الجدوى_سيرو_الإصدار_الثالث.docx") + doc.save(docx_path) + print(f"✅ DOCX saved: {docx_path}") + return docx_path + + +if __name__ == "__main__": + generate_docx() diff --git a/دراسة_الجدوى_سيرو_الإصدار_الثالث.docx b/دراسة_الجدوى_سيرو_الإصدار_الثالث.docx new file mode 100644 index 0000000000000000000000000000000000000000..0680afa9f82ef429907d30ee5d4441e512ea023b GIT binary patch literal 47573 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 literal 0 HcmV?d00001