Каталог решений - Обнаружение аномальных транзакций в 1С: простой, но эффективный подход. Анализ платежных поручений, анализ счетов. Пример обнаружения аномалий в 1С. Алгоритм обнаружения аномалий

Обнаружение аномальных транзакций в 1С: простой, но эффективный подход. Анализ платежных поручений, анализ счетов. Пример обнаружения аномалий в 1С. Алгоритм обнаружения аномалий

Обнаружение аномальных транзакций в 1С: простой, но эффективный подход. Анализ платежных поручений, анализ счетов. Пример обнаружения аномалий в 1С. Алгоритм обнаружения аномалий

В наличии

В мире финансов и бухгалтерии обнаружение аномальных транзакций является критически важной задачей. Аномальные транзакции могут указывать на мошенничество, ошибки или другие проблемы, которые могут привести к финансовым потерям. В этой статье мы рассмотрим, как можно реализовать простой, но эффективный подход к обнаружению аномальных транзакций в системе 1С.

Категория:

Описание

Зачем это нужно?

Аномальные транзакции могут быть вызваны различными факторами:

  • Мошенничество: Несанкционированные переводы, фиктивные счета.
  • Ошибки: Ошибки ввода данных, сбои в системах.
  • Специфические события: Необычные бизнес-операции, изменения в законодательстве.

Своевременное выявление аномалий помогает предотвратить финансовые потери и улучшить контроль над финансовыми операциями.

В мире финансов и бухгалтерии, обнаружение аномальных транзакций является критически важной задачей. Аномальные транзакции могут указывать на мошенничество, ошибки или другие проблемы, которые могут привести к финансовым потерям. В этой статье мы рассмотрим, как можно реализовать простой, но эффективный подход к обнаружению аномальных транзакций в системе 1С.

       

Подход к обнаружению аномалий

Мы рассмотрим простой подход, основанный на анализе трех основных критериев:

  1. Сумма транзакции: Необычно большие или малые суммы могут указывать на аномалии.
  2. Дата транзакции: Транзакции, совершенные в необычное время (например, в выходные дни или ночью), могут быть подозрительными.
  3. Описание транзакции: Описания, содержащие подозрительные ключевые слова (например, "обналичивание", "неизвестный платеж"), могут указывать на аномалии.

 

Что такое аномалии?

Аномалии (или выбросы) — это наблюдения (или данные), которые значительно отличаются от большинства других наблюдений в наборе данных. Они не соответствуют ожидаемому поведению или закономерностям и выделяются на общем фоне.

Аномалии могут встречаться в самых разных областях, где собираются и анализируются данные:

  • Бухгалтерия и финансы: Необычные транзакции, мошеннические операции, ошибки в учете.
  • Производство: Дефекты продукции, сбои оборудования, отклонения от технологических процессов.
  • Здравоохранение: Редкие заболевания, необычные показатели здоровья пациентов.
  • Информационная безопасность: Кибератаки, вторжения в системы, вирусная активность.
  • Метеорология: Экстремальные погодные явления (ураганы, наводнения, засухи).
  • Транспорт: Аварии, задержки рейсов, поломки техники.

 

Алгоритмы вычисления аномалий:

Существует множество алгоритмов для выявления аномалий, которые можно разделить на несколько категорий:

  • Статистические методы:
    • Метод стандартных отклонений: Основан на предположении, что данные имеют нормальное распределение. Аномалиями считаются значения, отклоняющиеся от среднего значения на заданное количество стандартных отклонений.
    • Z-оценка: Вычисляет, насколько далеко от среднего значения находится конкретная точка данных, в единицах стандартного отклонения.
    • Метод межквартильного размаха (IQR): Аномалиями считаются значения, выходящие за пределы определенного диапазона, рассчитанного на основе IQR.
  • Методы машинного обучения:
    • Метод опорных векторов (SVM): Строит гиперплоскость, отделяющую нормальные данные от аномалий.
    • Изолирующий лес (Isolation Forest): Строит случайные деревья для выделения аномалий, которые требуют меньше разделений.
    • Автокодировщики (Autoencoders): Нейронные сети, которые обучаются восстанавливать обычные данные и выявляют те, которые плохо восстанавливаются.
    • Кластерный анализ: Группирует схожие данные вместе и определяет точки, которые не принадлежат ни к одному кластеру.
  • Методы на основе плотности:
    • DBSCAN (Density-Based Spatial Clustering of Applications with Noise): Выявляет кластеры на основе плотности данных и помечает как аномалии точки, которые находятся в областях с низкой плотностью.
  • Методы временных рядов:
    • ARIMA (Autoregressive Integrated Moving Average): Прогнозирует будущие значения на основе исторических данных и выявляет отклонения от прогноза.
    • Экспоненциальное сглаживание: Применяет веса к историческим данным для прогнозирования будущих значений и выявляет отклонения.

 

 Применение поиска аномалий очень широко:

  • Выявление мошенничества: Обнаружение подозрительных транзакций в банковских системах, страховых компаниях и т.д.
  • Обнаружение вторжений: Выявление несанкционированного доступа к компьютерным системам и сетям.
  • Контроль качества: Обнаружение дефектов продукции на производственных линиях.
  • Мониторинг состояния оборудования: Предсказание поломок оборудования на основе анализа данных с датчиков.
  • Диагностика заболеваний: Выявление необычных показателей здоровья пациентов.
  • Обнаружение аномалий в социальных сетях: Выявление фейковых аккаунтов, ботов и распространения дезинформации.
  • Анализ данных о клиентах: Сегментация клиентов и выявление тех, кто ведет себя необычно (например, внезапно прекращает покупки).

 

Ответственность за выявление аномалий зависит от конкретной области применения:

  • В бухгалтерии и финансах: Бухгалтеры, аудиторы, финансовые аналитики, специалисты по безопасности.
  • В производстве: Инженеры, техники, специалисты по контролю качества.
  • В здравоохранении: Врачи, медсестры, лаборанты.
  • В информационной безопасности: Специалисты по информационной безопасности, аналитики угроз.
  • В анализе данных: Аналитики данных, специалисты по машинному обучению.

 

Как избежать аномалий:

  • Полностью избежать аномалий невозможно, но можно снизить их вероятность и минимизировать их последствия:
    • Тщательный сбор данных: Обеспечение точности и полноты данных, исключение ошибок при вводе.
    • Стандартизация процессов: Внедрение четких процедур и правил для всех операций.
    • Обучение персонала: Повышение квалификации сотрудников, чтобы они могли распознавать и предотвращать аномалии.
    • Автоматизация: Использование автоматизированных систем для мониторинга данных и выявления отклонений.
    • Аудит: Регулярная проверка данных и процессов для выявления проблем и слабых мест.

 

Математические функции для поиска аномалий

    В  зависимости от выбранного алгоритма, используются различные математические функции:

  • Среднее значение (Mean): ΣxK22; / n (сумма всех значений, деленная на количество значений)
  • Медиана (Median): Значение, находящееся в середине отсортированного набора данных.
  • Стандартное отклонение (Standard Deviation): √[Σ(xK22; — μ)² / (n-1)] (квадратный корень из дисперсии)
  • Дисперсия (Variance): Σ(xK22; — μ)² / (n-1) (мера разброса значений относительно среднего)
  • Межквартильный размах (Interquartile Range, IQR): Разница между 75-м и 25-м процентилями.
  • Z-оценка: (xK22; — μ) / σ (где xK22; — значение, μ — среднее, σ — стандартное отклонение)
  • Евклидово расстояние: √[Σ(aK22; — bK22;)²] (расстояние между двумя точками в многомерном пространстве)
  • Функции плотности вероятности (Probability Density Functions, PDF): Используются для оценки вероятности того, что значение принадлежит к определенному распределению.

 

Применим и разберем нашу обработку анализа аномалий.

     Мы использовали комбинированный метод на основе статистического анализа и правил.

Статистический анализ: 

  • Расчет среднего значения и стандартного отклонения суммы транзакций.
  • Анализ частоты совершения транзакций по дням недели.

Правила: Анализ ключевых слов в описании транзакций.

Комбинация: Мы объединили эти методы, используя веса для разных критериев (сумма, дата, описание) для расчета общей оценки аномальности.

 

Первоначальные данные:

Мы создали "Таблицу значений" с колонками "Дата", "Сумма" и "Описание", которые можно получить из таких документов, как Платежное поручение, счет, заявка на оплату, заявка на расходование средств, реализация товаров и услуг и т.д.

Добавили (настраиваемые) параметры для алгоритма обработки:

  • ПорогАномалий: Значение, определяющее, какую общую оценку считать аномальной (в нашем примере, 1.2).
  • ВесСуммы, ВесДаты, ВесОписания : Веса, определяющие важность каждого критерия при расчете общей оценки.
  • ПодозрительныеСлова: Список ключевых слов, которые указывают на подозрительные транзакции.

Работа обработки:

  1. Получение данных: Обработка получает данные из таблицы значений Транзакции.
  2. Расчет статистики:
  • Рассчитывается средняя сумма транзакций и стандартное отклонение.
  • Рассчитывается количество транзакций, совершенных в каждый день недели.
  1. Анализ по критериям:
  • Сумма: Вычисляется оценка аномальности для каждой транзакции на основе отклонения суммы от среднего значения (Z-оценка).
  • Дата: Вычисляется оценка аномальности по дню недели (чем реже день недели, тем выше оценка).
  • Описание: Выявляется наличие подозрительных ключевых слов в описании транзакции, присваивается оценка.
  1. Комбинированная оценка: Оценка по каждому критерию объединяется в общую оценку аномальности, с учетом заданных весов.
  2. Выявление аномалий: Транзакции, у которых общая оценка превышает заданный ПорогАномалии, считаются аномальными.
  3. Вывод результатов: Отображается список аномальных транзакций с указанием даты, суммы, описания и общей оценки.

 

Ожидаемый результат:

Обработка должна выявить и отобразить транзакции, которые отличаются от нормальных по сумме, дате и/или описанию.

Для таблицы: 

NДатаСумма Описание
102.10.2023551,00 Оплата поставщику
203.10.2023803,00 Оплата поставщику
304.10.2023701,00 Оплата поставщику
405.10.2023984,00 Оплата поставщику
506.10.2023542,00 Оплата поставщику
607.10.2023720,00 Оплата поставщику
708.10.2023537,00 Оплата поставщику
809.10.2023874,00 Оплата поставщику
910.10.2023775,00 Оплата поставщику
1011.10.2023778,00 Оплата поставщику
1112.10.2023965,00 Оплата поставщику
1213.10.2023811,00 Оплата поставщику
1314.10.2023664,00 Оплата поставщику
1415.10.2023724,00 Оплата поставщику
1516.10.2023934,00 Оплата поставщику
1617.10.2023736,00 Оплата поставщику
1718.10.2023832,00 Оплата поставщику
1819.10.2023678,00 Оплата поставщику
1920.10.2023674,00 Оплата поставщику
2021.10.2023561,00 Оплата поставщику
2122.10.2023727,00 Оплата поставщику
2223.10.2023535,00 Оплата поставщику
2324.10.2023858,00 Оплата поставщику
2425.10.2023969,00 Оплата поставщику
2526.10.2023926,00 Оплата поставщику
2627.10.2023851,00 Оплата поставщику
2728.10.2023862,00 Оплата поставщику
2829.10.2023662,00 Оплата поставщику
2930.10.2023545,00 Оплата поставщику
3031.10.2023916,00 Оплата поставщику
3115.10.202312 000,00 Неизвестный платеж
3222.10.202315 000,00 Перевод на карту
3331.10.2023800,00 Оплата поставщику
3405.11.20239 500,00 Оплата поставщику
3510.10.2023700,00 Обналичивание
3618.10.202311 000,00 

Оплата поставщику

 

Аномальные транзакции:
Дата: 15.10.2023 0:00:00, Сумма: 12 000, Описание: Неизвестный платеж, Общая оценка: 1,82
Дата: 22.10.2023 0:00:00, Сумма: 15 000, Описание: Перевод на карту, Общая оценка: 2,32
Дата: 05.11.2023 0:00:00, Сумма: 9 500, Описание: Оплата поставщику, Общая оценка: 1,41
Дата: 18.10.2023 0:00:00, Сумма: 11 000, Описание: Оплата поставщику, Общая оценка: 1,67
  • 15.10.2023, 12 000, Неизвестный платеж: Большая сумма + подозрительное описание = высокая оценка аномальности.
  • 22.10.2023, 15 000, Перевод на карту: Большая сумма + подозрительное описание (ключевое слово "перевод на карту") = высокая оценка аномальности.
  • 05.11.2023, 9 500, Оплата поставщику: Выходной день (редкая дата) + большая сумма = умеренная оценка (может быть аномалией, в зависимости от настроек весов и порога).
  • 18.10.2023, 11 000, Оплата поставщику: Большая сумма, в сочетании с нормальным днем = умеренная оценка (может быть аномалией).

 

Размышления улучшения обработки:

  • Более сложные методы анализа:
    • Более сложный анализ описания: Использовать методы обработки естественного языка (NLP) для выявления семантики описаний и обнаружения подозрительных паттернов.
    • Анализ временных рядов: Использовать методы анализа временных рядов (например, ARIMA) для прогнозирования будущих значений и выявления отклонений.
    • Машинное обучение: Попробовать реализовать более сложные методы, такие как Isolation Forest (но это потребует внешней интеграции).
  • Более гибкая настройка:
    • Динамическая настройка весов: Предоставить возможность пользователю настраивать веса для различных критериев.
    • Настройка порога: Предоставить пользователю возможность изменять порог аномальности.
  • Более информативные результаты:
    • Добавить больше информации в результаты анализа (например, Z-оценку по сумме, частоту дня недели).
    • Визуализировать результаты (например, графики распределения сумм, графики временных рядов).
  • Интеграция с данными 1С:
    • Реализовать возможность получения данных из документов, справочников, регистров накопления 1С.
    • Сохранять результаты анализа в 1С.
  • Интеграция с оповещениями:
    • Отправлять уведомления о выявленных аномалиях пользователям.

Вот так можно применить эту обработку в реальной системе 1С. Это простая обработка, где пользователю надо лишь нажать кнопку, и где вместо начальных данных более опытный пользователь может добавить привязку начальных данных к реальным документам 1С. Еще один момент: обработка универсальная, и должна работать во всех 1С на управляемых формах для тестирования. Примеры работы на скриншотах.

has been added to your cart:
Оформление заказа