פיתוח מודול אנליטיקה למנהל 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 |
| צפיות במוצרים | לוג מותאם או API של Yandex.Metrica |
שאילתות ישירות לטבלאות אלה בזמן אמת עבור לוח מחוונים היא רעיון רע: 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) - המשיך לתשלום
- שולם
- התקבל (סטטוס משלוח)
זהו הדוח החשוב ביותר — הוא מראה בדיוק היכן הכסף אובד.
פירוט: דוח קבוצות (Cohort)
ניתוח קבוצות — עד כמה החנות שומרת על לקוחות. קבוצה היא קבוצת משתמשים שביצעו את ההזמנה הראשונה שלהם באותה תקופה (שבוע או חודש). ניתוח קבוצות מעריך אובייקטיבית את שימור הלקוחות.
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% מזמן העבודה של מנהל. אם אתם רוצים לוח מחוונים דומה, קבלו הערכה ליום אחד — צרו קשר. קבלו ייעוץ כבר עכשיו.

