פיתוח מודול אנליטיקה למנהל 1C-Bitrix
תארו לעצמכם: כל בוקר המנהל מבלה 30 דקות באיסוף דוחות ממקטעי ניהול שונים. הכנסות — בדוחות הזמנות, המרה — בסטטיסטיקות, החזרות — ביומן השינויים. הנתונים מפוזרים, אין תמונה כוללת. פיתחנו מודול שאוסף הכל ללוח מחוונים אחד תוך שניות.
במשך למעלה מ-10 שנים השלמנו מעל 500 פרויקטים על 1C-Bitrix, ואנליטיקה מותאמת אישית היא אחת מההתאמות המבוקשות ביותר. המודול בנוי על טבלאות צבירה המספקות מהירויות טעינה מהירות פי 100 מ-SQL ישיר. בואו נראה איך זה עובד.
למה דוחות סטנדרטיים לא מספיקים
הדוחות המובנים של Bitrix מיועדים לתרחישים אוניברסליים, אבל לכל עסק יש KPIs משלו. לדוגמה, בקמעונאות מזון קריטי לעקוב אחר מחזור מוצרים, ואילו למוצרים דיגיטליים — זמן בין הזמנה לתשלום. ללא אנליטיקה מותאמת, או שסובלים מנתונים מפוזרים או שמוציאים תקציב על סקריפטים וסיכומי Excel.
הנתונים לאנליטיקה מפוזרים על פני מספר טבלאות:
| מדד | טבלה |
|---|---|
| הזמנות, הכנסות | b_sale_order |
| תוכן הזמנות | b_sale_basket |
| סטטוסי תשלום | b_sale_pay_system_action, b_sale_order_payment |
| סיבות ביטול | b_sale_order_change |
| רמות מלאי | b_catalog_store_product |
| צפיות במוצרים | לוג מותאם או Yandex.Metrica API |
שאילתות ישירות לטבלאות אלה בזמן אמת עבור לוח מחוונים היא רעיון רע: b_sale_order בחנות פעילה מכיל מיליוני רשומות. הפתרון הוא טבלאות צבירה המחושבות מחדש בלילה ובאופן מצטבר לפי צורך. ארכיטקטורה זו מספקת מהירויות קריאה מהירות פי 100 מ-SQL ישיר.
שלבי פיתוח מודול האנליטיקה
תהליך יישום המודול מורכב ממספר שלבים:
- ניתוח דרישות עסקיות — זיהוי מדדים מרכזיים ותרחישי שימוש. אנו אוספים את רצונות המנהל וקובעים אילו נתונים נדרשים בלוח המחוונים.
- עיצוב סכמת נתונים — יצירת טבלאות צבירה עם אינדקסים וחלוקה (partitioning) לטעינה מהירה.
- פיתוח סוכנים ואירועים — הגדרת משימות רקע לחישוב מחדש של צבירות ועדכונים מצטברים כל 15 דקות.
- יצירת לוח מחוונים — ממשק עם מסננים, גרפים וטבלאות. הפאנל העליון מציג מדדים מרכזיים להיום.
- אינטגרציה עם API חיצוני — חיבור Yandex.Metrica, CRM, שירותי דיוור לפי צורך.
- בדיקות והגדרת הרשאות גישה — הבחנה בנראות דוחות לתפקידים שונים.
- תיעוד והדרכה — תיאור סכמה, סוכנים, מדריך מנהל.
- תמיכה באחריות — חודש אחד לאחר המסירה.
איך הצבירה עובדת
צרו טבלה נפרדת עם סיכומים יומיים:
-- Дневные агрегаты
CREATE TABLE myvendor_analytics_daily (
date DATE NOT NULL,
orders INT DEFAULT 0,
revenue DECIMAL(14,2) DEFAULT 0,
avg_check DECIMAL(14,2) DEFAULT 0,
new_users INT DEFAULT 0,
canceled INT DEFAULT 0,
PRIMARY KEY (date)
);
סוכן בשעה 02:00 מחשב מחדש את היום הקודם ומעדכן את השורה. נתוני היום הנוכחי מתעדכנים כל 15 דקות באופן מצטבר — מהרשומה האחרונה שעובדה לפי -- Дневные агрегаты CREATE TABLE myvendor_analytics_daily ( date DATE NOT NULL, orders INT DEFAULT 0, revenue DECIMAL(14,2) DEFAULT 0, avg_check DECIMAL(14,2) DEFAULT 0, new_users INT DEFAULT 0, canceled INT DEFAULT 0, PRIMARY KEY (date) ); . למידע נוסף על מכניקת סוכנים, ראו תיעוד 1C-Bitrix.
מבנה לוח המחוונים
פאנל עליון — מדדים מרכזיים להיום:
- הכנסות (ואחוז שינוי לעומת אתמול / שבוע שעבר)
- מספר הזמנות
- צ'ק ממוצע
- המרה: מבקרים → הזמנות (אם Metrica מחובר)
בלוק "מוצרים מובילים" לתקופה נבחרת: לפי כמות מכירות, הכנסות, כמות החזרות. נתונים מטבלת צבירה b_sale_order.DATE_STATUS.
משפך הזמנות. מציג הפסדים בכל שלב:
- נוסף לסל (מ-
myvendor_analytics_product_daily+b_sale_fuser) - עבר לתשלום
- שולם
- התקבל (סטטוס משלוח)
זהו הדוח החשוב ביותר — הוא מראה בדיוק היכן הכסף אובד.
פירוט: דוח קוהורטות
ניתוח קוהורטות — עד כמה החנות שומרת על לקוחות. קוהורטה היא קבוצת משתמשים שביצעו את ההזמנה הראשונה שלהם באותה תקופה (שבוע או חודש). ניתוח קוהורטות מעריך באופן אובייקטיבי את שימור הלקוחות.
SQL לקוהורטות
-- Первый заказ каждого пользователя
WITH first_orders AS (
SELECT user_id, MIN(DATE_TRUNC('month', date_insert)) AS cohort_month
FROM b_sale_order
WHERE canceled = 'N' AND user_id > 0
GROUP BY user_id
),
-- Все последующие заказы
repeat_orders AS (
SELECT o.user_id, fo.cohort_month, DATE_TRUNC('month', o.date_insert) AS order_month
FROM b_sale_order o
JOIN first_orders fo ON o.user_id = fo.user_id
WHERE o.canceled = 'N'
)
SELECT cohort_month, order_month, COUNT(DISTINCT user_id) AS users
FROM repeat_orders
GROUP BY cohort_month, order_month
ORDER BY cohort_month, order_month;התוצאה מוצגת כמפת חום: שורות — קוהורטות, עמודות — חודשים לאחר הרכישה הראשונה, ערך — אחוז שימור.
ייצוא ותזמון דוחות
כל דוח מיוצא ל-Excel (באמצעות PhpSpreadsheet או כלים פנימיים) ול-CSV. המודול תומך בתזמון: שליחת דוח נבחר למייל המנהל פעם בשבוע. התזמון מיושם באמצעות סוכני Bitrix עם הגדרות המאוחסנות ב-b_sale_basket.
טעויות אופייניות בפיתוח אנליטיקה
- שאילתות SQL ישירות ל-
-- Первый заказ каждого пользователя WITH first_orders AS ( SELECT user_id, MIN(DATE_TRUNC('month', date_insert)) AS cohort_month FROM b_sale_order WHERE canceled = 'N' AND user_id > 0 GROUP BY user_id ), -- Все последующие заказы repeat_orders AS ( SELECT o.user_id, fo.cohort_month, DATE_TRUNC('month', o.date_insert) AS order_month FROM b_sale_order o JOIN first_orders fo ON o.user_id = fo.user_id WHERE o.canceled = 'N' ) SELECT cohort_month, order_month, COUNT(DISTINCT user_id) AS users FROM repeat_orders GROUP BY cohort_month, order_month ORDER BY cohort_month, order_month;בזמן אמת — מעמיסות על מסד הנתונים ומאטות את החנות. השתמשו בצבירות. - חוסר אינדקסים על תאריך — ללא אינדקס, בחירה חודשית אורכת דקות.
- חישוב מחדש סינכרוני של צבירות — עדיף לבצע באופן אסינכרוני דרך סוכנים.
- התעלמות מהרשאות גישה — לוח המחוונים צריך להציג רק נתונים המותרים לתפקיד.
מה כלול
- ניתוח דרישות עסקיות ועיצוב ארכיטקטורה
- פיתוח מודול עם קוד מקור ותיעוד
- אינטגרציה עם מערכות חיצוניות (במידת הצורך)
- בדיקות והגדרת הרשאות גישה
- הדרכת מנהל ומסירת סיסמאות
- תמיכת אחריות לחודש
לוחות זמנים ועלות
| היקף | הרכב | לוח זמנים |
|---|---|---|
| בסיסי | מדדים מרכזיים + מוצרים מובילים + צבירה | 3 עד 4 שבועות |
| בינוני | + משפך + קוהורטות + ייצוא | 6 עד 8 שבועות |
| מורחב | + אינטגרציית Metrica + תחזיות + תזמון | 9 עד 13 שבועות |
העלות מחושבת באופן אישי לפי מורכבות הצבירה ומספר האינטגרציות. אנו מבטיחים הערכה שקופה ללא חיובים נסתרים. אוטומציה של אנליטיקה חוסכת עד 40 שעות בחודש — 20% מזמן העבודה של מנהל. אם אתם רוצים לוח מחוונים דומה, קבלו הערכה תוך יום אחד — צרו קשר. קבלו ייעוץ כבר עכשיו.

