בפרקטיקה שלנו, ניקוד אשראי מסורתי המבוסס על נתוני לשכות אשראי עובד רק עם היסטוריה: אין היסטוריית אשראי — אין ניקוד. ניקוד AI מוסיף אותות אלטרנטיביים: התנהגות בתוך האפליקציה, דפוסי עסקאות, אינדיקטורים סוציו-אקונומיים עקיפים. שיטת ניקוד ה-AI שלנו מיועדת במיוחד לניקוד אשראי נייד באפליקציות פינטק. כצוות עם 5 שנות ניסיון בפינטק, אנו מבטיחים שהמודל שפותח עומד בדרישות הרגולטוריות.
מאמר זה מסביר כיצד לבנות צינור ML לניקוד, באילו נתונים להשתמש, וכיצד להבטיח הסברתיות של החלטות. לפי Accenture, מערכת ניקוד AI בנויה כראוי יכולה להפחית שיעורי פיגור ב-15–20% ולהגדיל שיעורי אישור ב-40% עבור לקוחות ללא היסטוריית אשראי. הניסיון שלנו מראה שההטמעה משתלמת תוך 3–6 חודשים על ידי הפחתת סיכונים והרחבת בסיס הלקוחות. אנו משתמשים בשיטות ובערימות מוכחות: LightGBM, SHAP, Swift/Kotlin לשילוב נייד. כל הפתרונות עומדים בדרישות הרגולטוריות. עלות פרויקט הפיילוט היא $5,000 ואורכת 3 שבועות. ניקוד AI מדויק ב-30–50% יותר מניקוד מסורתי עבור לוויינים עם היסטוריית אשראי דלילה.
אילו מקורות נתונים משתמש ניקוד AI?
רק נתונים שהמשתמש אישר במפורש (הסכמה היא חובה, לפי חוק הגנת המידע):
דפוסי עסקאות. סדירות הכנסה (משכורת לעומת לא סדירה), יחס הכנסה להוצאה, יתרת סוף חודש, שימוש בכלי אשראי לעומת חיוב. זהו המקור האמין ביותר — נתונים מהאפליקציה שלך, שקשה לתמרן.
אותות התנהגותיים. תדירות שימוש באפליקציה, אחוז סשנים שהושלמו (משתמש פתח את האפליקציה וביצע לפחות פעולה אחת לעומת רק פתח אותה), שימוש בתכונות תכנון ארוך טווח. אלה מתאימים למשמעת פיננסית אך חלשים יותר מנתוני עסקאות.
אינדיקטורים סוציו-דמוגרפיים. אזור, סוג מכשיר (פרוקסי עקיף להכנסה), משך שימוש באפליקציה. יש צורך בזהירות קיצונית: המודל לא חייב להפלות על סמך תכונות האסורות בחוק.
ארכיטקטורת צינור ML
מודל הניקוד חי על השרת — אין מודלים על המכשיר למשימה זו. האפליקציה הניידת אוספת ושולחת אירועים; השרת מחשב את הניקוד לפי בקשה.
# Feature engineering pipeline — сервер
import pandas as pd
from sklearn.preprocessing import StandardScaler
import lightgbm as lgb
def extract_features(user_id: str, window_days: int = 90) -> dict:
transactions = db.get_transactions(user_id, days=window_days)
df = pd.DataFrame(transactions)
return {
# Стабильность доходов
"income_regularity": df[df.amount > 0].amount.std() / df[df.amount > 0].amount.mean(),
# Отношение расходов к доходам
"expense_to_income_ratio": abs(df[df.amount < 0].amount.sum()) / df[df.amount > 0].amount.sum(),
# Дней с отрицательным балансом
"negative_balance_days": calculate_negative_balance_days(df),
# Стабильность баланса в конце месяца
"month_end_balance_stability": calculate_eom_balance_stability(df),
# Количество уникальных источников дохода
"income_source_diversity": df[df.amount > 0].merchant.nunique(),
# Среднее время между транзакциями
"avg_days_between_transactions": df.timestamp.diff().dt.days.mean(),
}
def predict_score(user_id: str) -> dict:
features = extract_features(user_id)
feature_vector = pd.DataFrame([features])
score = model.predict(feature_vector)[0] # LightGBM, xgboost или CatBoost
probability = model.predict_proba(feature_vector)[0][1]
return {
"score": int(score * 1000), # 300–850, аналог FICO
"probability_of_default": float(probability),
"confidence": calculate_confidence(features),
"feature_contributions": get_shap_values(feature_vector) # Объяснимость
} מדוע SHAP הכרחי להסברתיות ניקוד?
גופים רגולטוריים והמגמה הכללית דורשים הסברתיות של החלטות אשראי. SHAP (SHapley Additive exPlanations) הוא התקן להסברת החלטות מודלים מבוססי עצים. תוצאת SHAP: "הניקוד הושפע מ: יציבות הכנסה (+120 נקודות), הוצאות בילוי גבוהות (−45 נקודות), משך שימוש קצר (−30 נקודות)."
יש להציג זאת למשתמש באפליקציה הניידת בעת דחיית אשראי — לא טכנית, אלא בתרגום לשפה פשוטה:
// iOS — перевод SHAP-значений в пользовательский текст
func localizeScoreExplanation(_ contributions: [FeatureContribution]) -> [String] {
return contributions.sorted { abs($0.value) > abs($1.value) }
.prefix(3)
.map { contribution in
switch contribution.feature {
case "expense_to_income_ratio" where contribution.value < 0:
return "Высокая доля расходов относительно доходов"
case "income_regularity" where contribution.value > 0:
return "Стабильные регулярные поступления"
case "negative_balance_days" where contribution.value < 0:
return "Периоды с недостаточным балансом"
default:
return contribution.defaultDescription
}
}
} כיצד לפקח על איכות המודל לאחר ההשקה?
מודלים מתדרדרים עם הזמן — תנאים כלכליים משתנים, דפוסי משתמשים משתנים. נדרש:
- מדד יציבות אוכלוסייה (PSI) — ניטור סחיפה של תכונות קלט. PSI > 0.25 מסמן צורך באימון מחדש.
- מקדם Gini על נתונים טריים — בדיקה חודשית של כוח ההבחנה של המודל.
- ניתוח רטרוספקטיבי של תחזיות לאחר 90 יום (תקופת אישור ברירת מחדל).
ציות ומגבלות
מודל הניקוד לא חייב לכלול תכונות מוגנות — מגדר, לאום, דת, מקום לידה. לפני ייצור, ביקורת להשפעה לא שוויונית: בדוק אם המודל מפלה בעקיפין קבוצות דמוגרפיות מסוימות (באמצעות תכונות פרוקסי). בדיקת הוגנות באמצעות # Feature engineering pipeline — сервер import pandas as pd from sklearn.preprocessing import StandardScaler import lightgbm as lgb def extract_features(user_id: str, window_days: int = 90) -> dict: transactions = db.get_transactions(user_id, days=window_days) df = pd.DataFrame(transactions) return { # Стабильность доходов "income_regularity": df[df.amount > 0].amount.std() / df[df.amount > 0].amount.mean(), # Отношение расходов к доходам "expense_to_income_ratio": abs(df[df.amount < 0].amount.sum()) / df[df.amount > 0].amount.sum(), # Дней с отрицательным балансом "negative_balance_days": calculate_negative_balance_days(df), # Стабильность баланса в конце месяца "month_end_balance_stability": calculate_eom_balance_stability(df), # Количество уникальных источников дохода "income_source_diversity": df[df.amount > 0].merchant.nunique(), # Среднее время между транзакциями "avg_days_between_transactions": df.timestamp.diff().dt.days.mean(), } def predict_score(user_id: str) -> dict: features = extract_features(user_id) feature_vector = pd.DataFrame([features]) score = model.predict(feature_vector)[0] # LightGBM, xgboost или CatBoost probability = model.predict_proba(feature_vector)[0][1] return { "score": int(score * 1000), # 300–850, аналог FICO "probability_of_default": float(probability), "confidence": calculate_confidence(features), "feature_contributions": get_shap_values(feature_vector) # Объяснимость } או // iOS — перевод SHAP-значений в пользовательский текст func localizeScoreExplanation(_ contributions: [FeatureContribution]) -> [String] { return contributions.sorted { abs($0.value) > abs($1.value) } .prefix(3) .map { contribution in switch contribution.feature { case "expense_to_income_ratio" where contribution.value < 0: return "Высокая доля расходов относительно доходов" case "income_regularity" where contribution.value > 0: return "Стабильные регулярные поступления" case "negative_balance_days" where contribution.value < 0: return "Периоды с недостаточным балансом" default: return contribution.defaultDescription } } } .
אחסון נתונים: נתונים אישיים חייבים להיות על שרתים בתוך המדינה (חוק לוקליזציה של נתונים). נתוני עסקאות לניקוד לא חייבים להיות משותפים עם צדדים שלישיים ללא הסכמה נפרדת.
השוואה בין ניקוד מסורתי לניקוד AI
| קריטריון | ניקוד מסורתי | ניקוד AI עם נתונים אלטרנטיביים |
|---|---|---|
| מקורות נתונים | רק היסטוריית לשכת אשראי | עסקאות, התנהגות, נתוני מכשיר |
| כיסוי קהל | רק לוויינים עם היסטוריית אשראי | לקוחות עם היסטוריה דלילה וחדשים לאשראי |
| תדירות עדכון | חודשי | בזמן אמת |
| דיוק להיסטוריה דלילה | נמוך | גבוה (30-50% יותר) |
| הסברתיות | פשוט (מהלשכה) | דורש XAI (SHAP) |
תהליך העבודה
- ביקורת נתונים זמינים וקבלת חוות דעת משפטית
- עיצוב מרחב תכונות
- פיתוח צינור ETL
- אימון מודל בסיס (רגרסיה לוגיסטית כמדד)
- הגברת גרדיאנט עם כוונון
- הסברי SHAP
- בדיקת A/B מול הבסיס
- ניטור ייצור
מה תקבל כתוצאה
- צינור ML עובד על השרת עם LightGBM/CatBoost
- הסברי SHAP לכל החלטה, משולבים באפליקציה הניידת
- ניטור PSI ו-Gini עם התראות
- ביקורת ציות ודוח הוגנות
- שילוב עם App Store/Google Play ומערכות אנליטיקה
הערכות לוחות זמנים
MVP על רגרסיה לוגיסטית עם תכונות עסקאות בסיסיות — 3–4 שבועות. מערכת ייצור עם LightGBM, SHAP, ניטור וביקורת ציות — 2–3 חודשים. ללא צינור נתונים קיים, הוסף 2–4 שבועות לפיתוח איסוף אירועים ואחסון.
יש לנו 20+ פרויקטים מוצלחים בפינטק ויותר מ-5 שנים בשוק. המהנדסים שלנו מוסמכים בפיתוח אפליקציות ניידות מאובטחות. אנו מציעים פתרון סוהר עם פרויקט פיילוט שניתן להשלים תוך 3 שבועות. צור קשר לייעוץ והערכת פרויקט. מה כלול: תיעוד (ארכיטקטורת מערכת, מפרטי API, כרטיסי מודל), גישה ללוח מחוונים לניטור מודל, הדרכה לצוות שלך (2 מפגשים), 3 חודשים של תמיכה לאחר ההשקה.







