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

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Разработка AI-системы выбора и оценки поставщиков Supplier Risk AI
Средняя
~1-2 недели
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Разработка 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-мониторингом новостей и автоматическими алертами.