למשתמשים יש היסטוריית עסקאות והוצאות. אבל פילטרים קלאסיים כמו "חודש שעבר" לא מראים אם יהיו להם מספיק כספים עד יום המשכורת. התוצאה: משיכת יתר, עמלות, לחץ. אנו מפתחים מודל חיזוי שמשתלב באפליקציה הניידת וסוגר את הפער הזה. המודל מנתח דפוסי הוצאות, מתחשב בעונתיות (למשל, הוצאות מוגברות בחגים), ומתריע 5–7 ימים לפני גירעון פוטנציאלי. לצורך חיזוי, אנו משתמשים בארכיטקטורה היברידית: מודל קל משקל על המכשיר באמצעות CoreML או TFLite לחיזויים מהירים, ומודל בצד השרת לאימון מחדש תקופתי. הנדסת תכונות כוללת ממוצעים נעים, זיהוי תשלומים חוזרים ותכונות לוח שנה. נבחן את הפרויקט שלך תוך 1–2 ימים — צור קשר לדיון בפרטים.
ארכיטקטורה: גישה היברידית
הבחירה היכן להריץ חיזויים היא החלטה ארכיטקטונית מרכזית. לחיזוי תקציב, גישה היברידית היא אופטימלית: מודל קוונטיזציה קל על המכשיר לחיזויים מקוונים מהירים, ומודל מלא על השרת לאימון מחדש תקופתי.
| תכונה | על המכשיר (CoreML/TFLite) | צד השרת (Python/MLflow) |
|---|---|---|
| זמן חיזוי | < 5 אלפיות שנייה לחיזוי 30 יום | 50–200 אלפיות שנייה כולל רשת |
| תלות ברשת | לא | כן |
| התאמה אישית | רק מודל טעון | כוונון מלא |
| פרטיות | הנתונים אף פעם לא עוזבים את המכשיר | הנתונים נשלחים לשרת |
על המכשיר אנו פורסים מודל קוונטיזציה באמצעות CoreML (iOS) או TensorFlow Lite (אנדרואיד). קוונטיזציה של INT8 מקטינה את גודל המודל פי 4 ללא אובדן דיוק משמעותי. CoreML מקבל .mlmodel, TFLite — .tflite. המרה מ-PyTorch או Keras היא משימה סטנדרטית.
מידע נוסף על קוונטיזציה של מודלים
קוונטיזציה ממירה משקלים של 32 ביט למספרים שלמים של 8 ביט. לחיזויים פיננסיים, ירידת MAE אינה עולה על 2-5%. אנו משתמשים בקוונטיזציה לאחר אימון: כמה מאות דוגמאות כיול מהיסטוריית המשתמש מספיקות.// iOS: загрузка CoreML модели и предсказание
import CoreML
class BudgetForecaster {
private let model: BudgetForecastModel
init() throws {
let config = MLModelConfiguration()
config.computeUnits = .cpuAndNeuralEngine
model = try BudgetForecastModel(configuration: config)
}
func predictBalance(features: BudgetForecastModelInput) throws -> Double {
let output = try model.prediction(input: features)
return output.predictedBalance
}
}// iOS: загрузка CoreML модели и предсказание import CoreML class BudgetForecaster { private let model: BudgetForecastModel init() throws { let config = MLModelConfiguration() config.computeUnits = .cpuAndNeuralEngine model = try BudgetForecastModel(configuration: config) } func predictBalance(features: BudgetForecastModelInput) throws -> Double { let output = try model.prediction(input: features) return output.predictedBalance } } — המודל משתמש במנוע העצבי בשבבי A12 ומעלה. חיזוי של 30 יום באייפון 14 אורך פחות מ-5 אלפיות שנייה.
הכנת נתונים ותכונות
איכות החיזוי תלויה בתכונות, לא במודל. מהיסטוריית העסקאות אנו מפיקים:
- ממוצע נע של הוצאות על פני 7/30/90 ימים לפי קטגוריה
- יום בשבוע ויום בחודש (עונתיות בתוך החודש היא אמיתית: ההוצאות ב-25 לחודש שונות באופן שיטתי מה-10)
- דגל חוזר: תשלומים במרווחים קבועים (Netflix, שכר דירה, הלוואה)
- סטייה של התקופה הנוכחית מהממוצע — ציון z של הוצאות
תשלומים חוזרים הם מקרה מיוחד. הם דורשים זיהוי נפרד: אשכולות לפי computeUnits = .cpuAndNeuralEngine + מחזוריות. אלגוריתם פשוט עובד היטב: קבץ עסקאות מאותו סוחר, חשב חציון מרווח ביניהן, אם סטיית התקן < 3 ימים — זה חוזר.
איך לבחור מודל חיזוי?
לסדרות זמן פיננסיות עם היסטוריה של 3–24 חודשים, שלוש גישות עובדות היטב:
| מודל | מתי מתאים | מורכבות יישום |
|---|---|---|
| ARIMA/SARIMA | מעט נתונים, ללא אי-ליניאריות | נמוכה |
| LightGBM/XGBoost | תכונות מעורבות, טבלאי | בינונית |
| LSTM/Transformer | דפוסים מורכבים, הרבה היסטוריה | גבוהה |
בפועל, LightGBM עולה על LSTM להיסטוריה של פחות משנתיים. בבדיקות, LightGBM מהיר פי 3 מ-LSTM על מערכי נתונים טיפוסיים עם עד שנתיים היסטוריה, עם דיוק דומה. השוואה לפי פרמטרים מרכזיים:
| פרמטר | LightGBM | LSTM |
|---|---|---|
| זמן אימון על 12 חודשי נתונים | 25 דקות | 150 דקות |
| מספר היפרפרמטרים | ~20 | ~50 |
| יכולת פרשנות | גבוהה (חשיבות תכונות) | נמוכה (קופסה שחורה) |
| טביעת זיכרון על המכשיר | 20 MB | 200 MB |
ניתן להמיר LightGBM ל-TFLite באמצעות פורמט ביניים ONNX.
איך ליישם חיזוי: תוכנית שלב אחר שלב
- ביקורת נתונים — אסוף לפחות 3 חודשי עסקאות, בדוק איכות ושלמות.
- הנדסת תכונות — חשב ממוצעים נעים, זהה תשלומים חוזרים, הוסף תכונות לוח שנה.
- בחירת מודל ואימון — השווה LightGBM ו-LSTM על הנתונים שלך, בחר את הטוב ביותר לפי MAE.
- המרה ואופטימיזציה — בצע קוונטיזציה למודל והמר ל-CoreML/TFLite.
- אינטגרציה וממשק משתמש — הטמע את המודל באפליקציה, הוסף תרשים חיזוי עם רווח סמך.
- ניטור ואימון מחדש — הגדר עדכון רקע למודל פעם בשבוע.
למה Federated Learning משפר פרטיות?
פעם בשבוע (או כשמתווספות N עסקאות חדשות), השרת מאמן מחדש מודל אישי על נתוני המשתמש. תכנית: מודל גלובלי בסיסי + כוונון על היסטוריה אישית.
Federated Learning היא אפשרות לאפליקציות רגישות לפרטיות. Google FL באמצעות TensorFlow Federated, Apple Private Federated Learning (iOS 17+). נתוני המשתמש אף פעם לא עוזבים את המכשיר; רק עדכוני גרדיאנט נשלחים לשרת. TensorFlow Federated
המודל המותאם אישית מועבר למכשיר באמצעות משימת רקע — amount ± 5% ב-iOS, BGProcessingTask באנדרואיד. טען WorkManager / .mlmodel חדשים דרך Wi-Fi, החלף את הישן ללא הפעלה מחדש של האפליקציה.
ממשק משתמש: הצגת החיזוי
חיזוי ללא הקשר הוא חסר ערך. אנו מציגים:
- יתרה צפויה בסוף החודש עם רווח סמך (לא מספר בודד — טווח)
- פירוט: היכן המודל "רואה" הוצאות מתוכננות גדולות
- התראה: אם החיזוי מראה גירעון — הודעה 5+ ימים מראש, לא ביום X
אנו מיישמים את רווח הסמך באמצעות רגרסיית קוונטילים: אמן שלושה מודלים (q10, q50, q90) — תחזית פסימית, חציונית, אופטימית. הצג כטווח בתרשים.
כדי ליישם ממשק כזה באפליקציה שלך, צור קשר — נכין אב טיפוס תוך 2–3 ימים. לפי הערכותינו, החיסכון במשיכות יתר ועמלות נע בין $100–500 לחודש למשתמש. הלקוחות שלנו חוסכים בממוצע $900–1.3 אלף בשנה.
מה כלול בעבודה
- ביקורת מבנה ואיכות נתוני עסקאות
- פיתוח צינור ניקוי והנדסת תכונות
- אימון ואימות המודל על נתונים היסטוריים
- המרה ל-CoreML/TFLite, אופטימיזציה למכשיר
- אינטגרציה לאפליקציה הניידת, רכיב ממשק חיזוי
- הגדרת צינור אימון מחדש בצד השרת
- תיעוד, הדרכת צוות ותמיכה במהלך היישום
הערכות לוחות זמנים
MVP עם מודל בסיסי ARIMA/LightGBM וממשק — 1–2 שבועות. מערכת אישית מלאה עם Federated Learning ועדכוני מודל ברקע — 4–8 שבועות.
צור קשר להערכת פרויקט. הזמן פיתוח MVP — אנו מבטיחים דיוק חיזוי ואינטגרציה מלאה. קבל ייעוץ על יישום חיזוי בינה מלאכותית.







