# Multi-Armed Bandit

يرسل عنصر **Multi-Armed Bandit** إشعارًا فوريًا للمستخدمين، تمامًا مثل عنصر [Push](/ar/product/customer-journey/journey-elements/channels/push/). بدلاً من إعداد مسبق واحد، يمكنك توفير عدة متغيرات للمحتوى. يعمل التحسين باستمرار على البيانات الحية، دون إعادة تشغيل الاختبار يدويًا أو الحفاظ على تقسيم ثابت لحركة المرور. يقوم Pushwoosh بتوجيه المزيد من حركة المرور نحو المتغير الذي يتم فتحه أكثر.

<Aside type="caution" title="Multi-Armed Bandit هي ميزة تجريبية">
- **المتغيرات:** يتم دعم الإعدادات المسبقة للإشعارات الفورية الحالية فقط. لا يتم دعم متغيرات محتوى البريد الإلكتروني أو الرسائل القصيرة أو داخل التطبيق بعد.
- **مقياس النجاح:** يتم احتساب فتحات الإشعارات الفورية فقط كفوز في الوقت الحالي. سيتم قريبًا توفير خيار اختيار حدث مخصص كمقياس للنجاح.
- **الاختيار:** يعتمد على الأداء العام للمتغير عبر جميع المستخدمين، وليس على تفضيلات المستخدم الفردية. يتجنب Pushwoosh إرسال نفس المتغير إلى نفس الشخص مرتين على التوالي.

قد يتغير السلوك والإعدادات مع تطور هذه الميزة.
</Aside>

أضف عنصر **Multi-Armed Bandit** بعد الحدث أو الشرط الذي يجب أن يطلقه، ثم قم بتكوين العنصر.

<img src="/journey-elements-smart-content-1.webp" alt="عنصر Multi-Armed Bandit مضاف إلى لوحة الرحلة بعد مشغل"/>

## إضافة متغيرات المحتوى

<Aside type="tip">
لاستخدام Multi-Armed Bandit، قم أولاً بإنشاء إعدادين مسبقين أو أكثر للإشعارات الفورية في حسابك. [تعرف على المزيد حول إنشاء الإعدادات المسبقة للإشعارات الفورية](/ar/product/content/push-presets/). تحتاج إلى متغيرين على الأقل لحفظ العنصر.
</Aside>

1. انقر نقرًا مزدوجًا على عنصر **Multi-Armed Bandit** لفتح إعداداته.
2. في **Content variants**، حدد إعدادين مسبقين مختلفين على الأقل للإشعارات الفورية.
3. انقر على **Add variant** لتضمين المزيد من الإعدادات المسبقة. لا يوجد حد أقصى.

<img src="/journey-elements-smart-content-2.webp" alt="قسم متغيرات المحتوى في Multi-Armed Bandit مع إعدادين مسبقين محددين للإشعارات الفورية وزر إضافة متغير"/>

## اختيار مقياس النجاح

في قسم **Reward**، اختر ما يعتبر فوزًا للمتغير:

- **Push opened:** يفوز المتغير بالإرسال عندما يفتح المستخدم ذلك الإشعار.
- **Event happened:** اختر حدثًا مخصصًا كإشارة نجاح بدلاً من الفتحات. هذا الخيار سيتاح قريبًا.

قم بتعيين **Reward window** لتحديد عدد الساعات التي ينتظرها Pushwoosh بعد الإرسال قبل التحقق مما إذا كان الإشعار قد تم فتحه. الافتراضي هو ساعتان.

<img src="/journey-elements-smart-content-3.webp" alt="قسم المكافأة في Multi-Armed Bandit مع تحديد فتح الإشعار، وتعطيل حدوث الحدث، وحقل نافذة المكافأة"/>

<Aside type="note">
إذا فتح المستخدم الإشعار بعد إغلاق نافذة المكافأة، فسيظل الفتح يظهر في إحصائيات رسائلك العادية. لا يتم احتسابه ضمن تحسين Multi-Armed Bandit. لأغراض التعلم، يتم التعامل مع هذا الإرسال على أنه لم يتم فتحه. اختر نافذة طويلة بما يكفي لالتقاط الفتحات المهمة. تعني النافذة الأطول أيضًا أن Multi-Armed Bandit ينتظر وقتًا أطول قبل أن يتمكن من التعلم من كل إرسال.
</Aside>

## تخصيص المتغيرات وإضافة القسائم

<Aside type="note">
تنطبق هذه الإعدادات على عنصر Multi-Armed Bandit بأكمله، وليس على كل متغير على حدة. أيًا كان الإعداد المسبق الذي يرسله Multi-Armed Bandit في النهاية إلى المستخدم، فإن نفس قواعد التخصيص ومجموعة القسائم تملأ العناصر النائبة الخاصة به. إذا كانت بعض الإعدادات المسبقة للمتغيرات الخاصة بك فقط تتضمن عنصرًا نائبًا معينًا أو علامة ``{{voucher}}``، فإن المتغيرات الأخرى ببساطة لا تستخدمها - لا توجد طريقة لتعيين تعيينات أحداث مختلفة أو مجموعات قسائم لكل متغير.
</Aside>

### التخصيص باستخدام المحتوى الديناميكي

قم بتبديل **Personalise message with event attributes** لملء العناصر النائبة في الإعدادات المسبقة للمتغيرات الخاصة بك بقيم من حدث، بدلاً من علامات الجهاز. يجمع Multi-Armed Bandit العناصر النائبة المستخدمة عبر جميع المتغيرات المحددة في قائمة واحدة، بحيث تقوم بتعيين كل عنصر نائب مرة واحدة، بغض النظر عن الإعداد المسبق الذي يتم إرساله في النهاية.
 
 [تعرف على المزيد حول التخصيص في الرحلات](/ar/product/customer-journey/journey-elements/dynamic-content-and-liquid-templates-in-journeys/).

### الكتابة فوق العناصر النائبة لـ Liquid

قم بتبديل **Overwrite Liquid placeholders** وحدد حدثًا لتغذية سماته في علامات Liquid في الإعدادات المسبقة للمتغيرات التي تتطابق بالاسم. إذا قمت بتمكين كل من المحتوى الديناميكي وتخصيص Liquid، فإن Liquid له الأولوية.

### استخدام القسائم

قم بتبديل **Use Vouchers** لإرفاق رمز فريد من مجموعة قسائم بأي متغير يتم إرساله. قم بإنشاء الإعدادات المسبقة للمتغيرات الخاصة بك مع العنصر النائب ``{{voucher}}`` مسبقًا، ثم حدد **Voucher Pool** لسحب الرموز منه. اختياريًا، استخدم **Assign Tag** لحفظ الرمز الذي تم تسليمه إلى علامة مستخدم. 

[تعرف على المزيد حول القسائم](/ar/product/content/vouchers/).

## تعيين نوع الرسالة

اختر **Marketing message** أو **Transactional message**:

* **Marketing message**: للحملات والعروض الترويجية. تنطبق جميع القواعد والقيود. تحترم: إلغاء الاشتراك، وتحديد التكرار، وفترة الصمت. تستبعد: مستخدمي [مجموعة التحكم العالمية](/ar/product/audience-data-and-segmentation/global-control-group/).
* **Transactional message**: للرسائل التشغيلية أو الخدمية. لا تنطبق القواعد والقيود. تتجاوز: إلغاء الاشتراك، وتحديد التكرار، وفترة الصمت. يتم إرسالها إلى: مستخدمي [مجموعة التحكم العالمية](/ar/product/audience-data-and-segmentation/global-control-group/).

<img src="/journey-elements-smart-content-5.webp" alt="اختيار نوع الرسالة في عنصر Multi-Armed Bandit مع خيارات رسالة تسويقية ورسالة معاملات"/>

[تعرف على كيفية تأثير نوع الرسالة على التسليم](/ar/product/messaging-channels/marketing-vs-transactional/).

## تكوين إعدادات تسليم الرسائل

### تعيين تحديد التكرار

<Aside type="note">
تتوفر خيارات تحديد التكرار فقط عند تحديد **Marketing message**. عند اختيار **Transactional message**، لا ينطبق تحديد التكرار ويتم تعطيل هذه الخيارات.
</Aside>

استخدم [**Frequency capping**](/ar/product/messaging-channels/global-frequency-capping/#enable-global-frequency-capping) للحد من عدد المرات التي يتلقى فيها المستخدمون رسائل الإشعارات الفورية، مما يمنع الإفراط في المراسلة ويقلل من معدل التوقف. في إعدادات عنصر Multi-Armed Bandit، اختر أحد الخيارات التالية:

* **Use Global frequency capping settings**

  طبق الحدود على مستوى المشروع التي تم تكوينها في [إعدادات تحديد التكرار العالمية](/ar/product/messaging-channels/global-frequency-capping/#enable-global-frequency-capping).

  على سبيل المثال، إذا تم تعيين الحد العالمي على 3 رسائل في 9 أيام، فسيتم تخطي الرسائل الإضافية التي تتجاوز هذا الحد.

* **Ignore Global frequency capping**

  سيتلقى المستخدم هذه الرسالة حتى لو تجاوز حدود الرسائل للقناة. استخدم هذا الخيار بحذر لتجنب الإفراط في المراسلة.

* **Use custom frequency capping**

  قم بتعيين حد رسائل مخصص لهذه الرسالة. إذا تجاوز المستخدم هذا الحد المخصص، فسيتم تخطي الرسالة، وسينتقل المستخدم إلى الخطوة التالية.
  > **هام:** لا يعزل تحديد التكرار المخصص الرسالة عن **Global frequency capping**. لا تزال جميع الرسائل المرسلة على نفس القناة، بما في ذلك تلك من رحلات أو حملات أخرى، تُحتسب ضمن الحد العالمي. إذا كان المستخدم قد تلقى بالفعل 3 رسائل إشعارات فورية هذا الأسبوع من مصادر أخرى، فقد لا تزال هذه الرسالة محظورة، حتى لو كان تحديد التكرار المخصص سيسمح بها.
  [تعرف على المزيد](/ar/product/messaging-channels/global-frequency-capping/#customize-capping-for-specific-messages)

### تعيين حدود معدل الإرسال

يتحكم إعداد **Send rate** في مدى سرعة تسليم الرسائل إلى جمهورك. يساعدك ضبط معدل الإرسال على إدارة سرعة التسليم، ومنع الحمل الزائد على الواجهة الخلفية، وتحسين قابلية التسليم بشكل عام.

اختر أحد الخيارات التالية:

* **Use global send rate settings**
  يطبق حدود معدل الإرسال التي تم تكوينها في إعدادات تسليم الرسائل في مشروعك. إذا لم يتم تعيين أي حدود، فسيتم إرسال جميع الرسائل على الفور. استخدم هذا الخيار عندما تريد أن تتبع سرعة التسليم القواعد الافتراضية لمشروعك. [تعرف على المزيد حول حدود معدل الإرسال العالمية](/ar/product/messaging-channels/global-frequency-capping/#set-send-rate-limits)

![استخدام إعدادات معدل الإرسال العالمية](/send-rate-in-journey-elements-1.webp)

* **Send messages without send rate**
  يرسل الرسائل بأسرع ما يمكن، متجاهلاً أي حدود عالمية لمعدل الإرسال. استخدمه بحذر لتجنب التحميل الزائد على الواجهة الخلفية أو إنشاء ارتفاعات مفاجئة في التسليم.

![إرسال الرسائل بدون معدل إرسال](/send-rate-in-journey-elements-2.webp)

* **Use custom send rate**
  يتجاوز معدل الإرسال العالمي لهذه الرسالة فقط. يسمح لك بتحديد عدد الرسائل المرسلة في الدقيقة، مما يمنحك تحكمًا كاملاً في سرعة التسليم. سيتم إرسال الرسائل بالمعدل المخصص الذي تحدده في عنصر الرسالة.

![استخدام معدل إرسال مخصص](/send-rate-in-journey-elements-3.webp)

عند الانتهاء من تكوين عنصر Multi-Armed Bandit، انقر على **Save**.

## كيف يختار Multi-Armed Bandit متغيرًا

لا يتناوب Multi-Armed Bandit بين المتغيرات بالتساوي أو يجري تقسيمًا ثابتًا بنسبة 50/50 مثل [A/B/n split](/ar/product/customer-journey/journey-elements/flow-controls/abn-split/). بدلاً من ذلك، يراقب باستمرار أي متغير يتم فتحه أكثر ويوجه تدريجيًا هذا المتغير إلى حصة أكبر من المستخدمين. لا يزال يرسل المتغيرات الأخرى بشكل متكرر بما يكفي لمواصلة التعلم من البيانات الحقيقية.

بعض الأشياء التي يجب معرفتها حول سلوكه:

- يستغرق الأمر بعض الوقت والحجم لظهور قائد واضح. في البداية، يتم إرسال المتغيرات بشكل متساوٍ تقريبًا.
- يتجنب Pushwoosh إرسال نفس المتغير إلى نفس المستخدم مرتين على التوالي، حتى لا يتلقى الأشخاص نفس الرسالة بالضبط بشكل متكرر.
- يعتمد الاختيار على الأداء العام لكل متغير عبر جميع المستخدمين في الرحلة، وليس على تفضيلات المستخدم الفردية.

حتى بعد تأكيد متغير كفائز، يستمر Multi-Armed Bandit في العمل. على عكس [A/B/n split](/ar/product/customer-journey/journey-elements/flow-controls/abn-split/)، فإنه لا يثبت الفائز ويوجه كل حركة المرور إليه. يستمر المتغير الفائز في الحصول على أكبر حصة من عمليات الإرسال، بينما لا تزال المتغيرات الأخرى تتلقى حصة أصغر حتى يتمكن Pushwoosh من مواصلة التعلم. إذا تغير الأداء بمرور الوقت، يتكيف Multi-Armed Bandit ويمكنه نقل حركة المرور إلى قائد جديد.


## سيناريو مثال: استرداد عربة تسوق مهجورة

استخدم Multi-Armed Bandit عندما يضيف المستخدمون عناصر إلى عربة التسوق الخاصة بهم ولكن لا يكملون عملية الدفع. يبدأ المثال أدناه رحلة على حدث **Cart abandoned** ويختبر ثلاثة متغيرات للإشعارات الفورية لإعادة المستخدمين.

1. **إعداد الإعدادات المسبقة للإشعارات الفورية.** قم بإنشاء ثلاثة إعدادات مسبقة للإشعارات الفورية في حسابك قبل بناء الرحلة. [تعرف على المزيد حول إنشاء الإعدادات المسبقة للإشعارات الفورية](/ar/product/content/push-presets/). 

لهذا السيناريو الخاص بالعربة المهجورة، قد تقوم بإنشاء إعدادات مسبقة مثل هذه:

   - **تذكير بالعربة:** "هناك عناصر تنتظر في عربة التسوق الخاصة بك"
   - **استعجال العربة:** "تنتهي صلاحية عربة التسوق الخاصة بك في غضون ساعة واحدة"
   - **خصم العربة:** "احصل على خصم 10% إذا قمت بالدفع الآن"

2. **إنشاء الرحلة.** في **Campaigns → Customer Journey Builder**، انقر على **Create Campaign** واختر **Build a Journey from Scratch**. أضف عنصر [Trigger-based entry](/ar/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/) إلى اللوحة.

3. **تعيين المشغل.** قم بإنشاء أو تمكين حدث **Cart abandoned** الذي يتم إطلاقه عندما لا يكمل المستخدم عملية الدفع في غضون ساعات قليلة. في عنصر **Trigger-based entry**، حدد هذا الحدث كمشغل للرحلة. [تعرف على المزيد حول الأحداث](/ar/product/audience-data-and-segmentation/events/).

4. **إضافة عنصر Multi-Armed Bandit.** ضع عنصر **Multi-Armed Bandit** بعد المشغل، ثم افتح إعداداته.

5. **إضافة متغيرات المحتوى.** في **Content variants**، حدد الإعدادات المسبقة الثلاثة التي أنشأتها في الخطوة 1.

6. **اختيار مقياس النجاح.** في **Reward**، حدد **Push opened**. قم بتعيين **Reward window** إلى ساعتين. هذه النافذة طويلة بما يكفي لالتقاط الفتحات من المستخدمين الذين لا يفحصون هواتفهم على الفور، ولكنها قصيرة بما يكفي لمواصلة التعلم بسرعة.

7. **إنهاء الإعداد والإطلاق.** قم بتكوين نوع الرسالة وإعدادات التسليم، وانقر على **Save**، وقم بتنشيط الرحلة.

### بعد الإطلاق

قد يتصرف Multi-Armed Bandit بشكل تقريبي مثل هذا. يعتمد تقسيم حركة المرور الفعلي والتوقيت على حجم الإرسال وكيفية استجابة المستخدمين لكل متغير.

أولاً، يرسل Pushwoosh جميع المتغيرات الثلاثة بشكل متساوٍ تقريبًا، لأنه لا يملك بيانات كافية بعد. مع وصول الفتحات، يبدأ في تحويل المزيد من حركة المرور نحو أي متغير يتم فتحه أكثر. على سبيل المثال، إذا كان "احصل على خصم 10% إذا قمت بالدفع الآن" يتفوق باستمرار على الاثنين الآخرين، فقد يتلقى حوالي 60% من عمليات الإرسال بينما يتقاسم الاثنان الآخران الباقي.

يستمر Pushwoosh في إرسال المتغيرات ذات الأداء المنخفض أيضًا. هذا يحافظ على استمرار التعلم ويتبع القاعدة التي تنص على أن المستخدم الذي تم إرسال متغير واحد إليه للتو لن يتلقى نفس المتغير مرة أخرى في المرة التالية التي يصل فيها إلى هذه الخطوة.

## مراجعة النتائج

بعد حفظ العنصر وإطلاق الرحلة، افتح لوحة إحصائيات عنصر Multi-Armed Bandit لترى أداء متغيراتك.

<img src="/journey-elements-smart-content-4.webp" alt="لوحة إحصائيات Multi-Armed Bandit مع لافتة الحكم ومقاييس الإرسال والفتح وحركة المرور لكل متغير"/>

تظهر لافتة في الأعلى الحالة الحالية للتجربة:

- **Not enough data yet:** لم يجمع Multi-Armed Bandit ما يكفي من عمليات الإرسال لقول أي شيء ذي معنى.
- **Still learning:** هناك بيانات، ولكن لا يوجد متغير قائد واضح ومهم إحصائيًا بعد.
- **Significant leader:** تم تأكيد تفوق متغير واحد على الآخرين. يتم تمييزه بشارة **Winner**.


لكل متغير، سترى:

- **Sent:** عدد المرات التي تم فيها إرسال هذا المتغير.
- **Opened:** حصة عمليات الإرسال التي تم فتحها.
- **Traffic:** الحصة الحالية من عمليات الإرسال الجديدة التي تذهب إلى هذا المتغير.


## Multi-Armed Bandit مقابل A/B/n split

يقوم كل من **Multi-Armed Bandit** و [**A/B/n split**](/ar/product/customer-journey/journey-elements/flow-controls/abn-split/) بتحسين رسائلك، لكنهما يعملان بشكل مختلف. استخدم الجدول أدناه لتحديد أيهما يناسب حالة استخدامك.

| | **Multi-Armed Bandit** | **A/B/n Split** |
|---|---|---|
| **الآليات** | يحول حركة المرور باستمرار نحو المتغير الأفضل أداءً بناءً على الفتحات الحية | يقسم المستخدمين إلى فروع بنسب مئوية ثابتة تحددها مسبقًا. يمكن أن تحتوي الفروع على تدفقات تالية مختلفة تمامًا |
| **المتغيرات** | مطلوب إعدادان مسبقان على الأقل للإشعارات الفورية. لا يوجد حد أقصى للمتغيرات | ما يصل إلى أربعة فروع لكل اختبار |
| **تقسيم حركة المرور** | يبدأ بشكل متساوٍ تقريبًا، ثم يتحول تلقائيًا مع وصول البيانات | نسبة مئوية ثابتة تحددها، تظل ثابتة حتى يتم اختيار فائز |
| **المدة** | يعمل باستمرار، بدون نهاية محددة | يعمل حتى يتم الوصول إلى الأهمية الإحصائية أو تقوم بإيقافه يدويًا |
| **الفائز** | لا يتم تثبيته أبدًا: يحصل المتغير الفائز على المزيد من حركة المرور، لكن الآخرين لا يزالون يتلقون بعضًا منها | يتم تثبيته بعد اختيار فائز: يتم إلغاء تنشيط الفروع الخاسرة، ويتم توجيه جميع المستخدمين الجدد إلى الفائز |
| **الأفضل لـ** | تحسين المحتوى المستمر لخطوة رسالة واحدة (الإعدادات المسبقة للإشعارات الفورية فقط، في الوقت الحالي) | اختبار تدفقات أو تسلسلات مختلفة هيكليًا عندما تريد قرارًا لمرة واحدة ومثبتًا |