Розробка AI-системи вибору та оцінки постачальників Supplier Risk AI

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Розробка AI-системи вибору та оцінки постачальників Supplier Risk AI
Середній
~1-2 тижні
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1123
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    860

Разработка AI-системы выбора и оценки поставщиков Supplier Risk AI

Отказ ключевого поставщика может остановить производство: дефицит одного компонента обходится дороже, чем превентивный мониторинг всей базы поставщиков. AI-система формирует динамический рейтинг поставщиков и сигнализирует о рисках за 2–6 недель до их реализации.

Данные для оценки поставщика

Внутренние данные:

  • OTIF (On Time In Full): доля поставок в срок и в полном объёме
  • Quality rejection rate: % отклонённых партий, возвраты
  • Invoice accuracy: ошибки в документах, расхождения с PO
  • Response time: время ответа на запросы, инциденты

Внешние данные:

  • Финансовая отчётность (СПАРК, Rusbonds для РФ; Bloomberg, D&B для международных)
  • Новостной мониторинг: санкции, судебные иски, смена руководства, пожары на заводе
  • Таможенная статистика: динамика объёмов экспорта поставщика
  • ESG-рейтинги (MSCI, Sustainalytics, CDP)
  • Геополитические риски по стране происхождения

Модель оценки рисков

Комплексный Supplier Risk Score (0–100)

import pandas as pd
import numpy as np
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.preprocessing import StandardScaler

class SupplierRiskModel:
    def __init__(self):
        self.model = GradientBoostingClassifier(
            n_estimators=200, learning_rate=0.05,
            max_depth=4, subsample=0.8
        )
        self.scaler = StandardScaler()

    def build_features(self, supplier_data):
        """Формирование признаков для оценки риска"""
        features = {
            # Операционные метрики (последние 12 мес)
            'otif_12m': supplier_data['on_time_in_full_rate'],
            'otif_trend': supplier_data['otif_q4'] - supplier_data['otif_q1'],
            'quality_rejection_rate': supplier_data['rejection_rate'],
            'avg_lead_time_deviation': supplier_data['lead_time_std'],

            # Финансовые метрики
            'current_ratio': supplier_data['current_assets'] / supplier_data['current_liabilities'],
            'debt_to_equity': supplier_data['total_debt'] / supplier_data['equity'],
            'revenue_growth_yoy': supplier_data['revenue_growth'],
            'altman_z_score': self._altman_z(supplier_data),

            # Концентрационные риски
            'single_source_flag': int(supplier_data['is_sole_supplier']),
            'country_risk_score': supplier_data['country_political_risk'],
            'customer_concentration': supplier_data['top_customer_pct'],  # % выручки от нас
        }
        return pd.DataFrame([features])

    def _altman_z(self, d):
        """Altman Z-score для прогноза банкротства"""
        return (1.2 * d['working_capital'] / d['total_assets'] +
                1.4 * d['retained_earnings'] / d['total_assets'] +
                3.3 * d['ebit'] / d['total_assets'] +
                0.6 * d['market_cap'] / d['total_liabilities'] +
                1.0 * d['revenue'] / d['total_assets'])

NLP-мониторинг новостей:

from transformers import pipeline

risk_classifier = pipeline(
    "text-classification",
    model="ProsusAI/finbert",  # финансовый sentiment
    device=0
)

RISK_KEYWORDS = {
    'critical': ['банкротство', 'пожар', 'санкции', 'арест', 'ликвидация'],
    'high': ['убытки', 'задержка', 'проверка', 'штраф', 'авария'],
    'medium': ['реструктуризация', 'смена директора', 'забастовка']
}

def score_news_risk(news_texts, supplier_id):
    results = []
    for text in news_texts:
        sentiment = risk_classifier(text[:512])[0]
        risk_level = 'low'
        for level, keywords in RISK_KEYWORDS.items():
            if any(kw in text.lower() for kw in keywords):
                risk_level = level
                break
        results.append({'text': text[:100], 'sentiment': sentiment, 'risk': risk_level})
    return results

Оповещение и действия

Alert-система по уровням:

Уровень Триггер Действие
Критический Score <20 или новость о банкротстве Немедленное уведомление CPO, активация backup
Высокий Score 20–40 или OTIF <70% за 3 мес Совещание с поставщиком, поиск альтернативы
Средний Score 40–60 или тренд снижения Аудит, усиленный входной контроль
Низкий Score >80 Плановый мониторинг

Backup Supplier Discovery:

При риск-триггере: автоматический поиск альтернативных поставщиков:

  • Матчинг по техническим требованиям (номенклатура, сертификаты, объём)
  • Приоритет: уже аттестованные, но неактивные поставщики
  • Оценка lead time на переключение

Сегментация базы поставщиков

Кластеризация (k-means) по двум осям: стратегическая важность × уровень риска:

  • Стратегические с высоким риском: глубокий мониторинг, совместные программы risk mitigation
  • Стратегические с низким риском: партнёрские программы, долгосрочные контракты
  • Транзакционные с высоким риском: немедленный поиск замены
  • Транзакционные с низким риском: базовый мониторинг

Срок разработки: 3–5 месяцев для системы с интеграцией внутренних ERP-данных, NLP-мониторингом новостей и автоматическими алертами.