کشف ناهنجاری در دادههای مالی و عملیاتی یعنی شناسایی رفتارها، تراکنشها یا رویدادهایی که با الگوی طبیعی و تاریخی کسبوکار همخوانی ندارند. این ناهنجاریها میتوانند نشانه خطای انسانی در ثبت اسناد، باگهای نرمافزاری در سیستم حسابداری، سوءاستفادههای مالی یا اختلال در خط تولید و زنجیره تامین باشند. سیستمهای سنتی گزارشگیری معمولا این موارد را زیر میانگینها و نمودارهای کلی پنهان میکنند و مدیران زمانی متوجه مشکل میشوند که خسارت وارد شده است.
استفاده درست از روشهای هوش مصنوعی و آمار پیشرفته در کشف ناهنجاری، میتواند حدود هشتاد تا نود درصد از خطاهای پنهان و رفتارهای مشکوک را در لحظه یا بهصورت روزانه کشف کند. پیادهسازی چنین سیستمی نیازمند بازه زمانی هشت تا دوازده هفتهای است و نیازی به تغییر کل زیرساختهای نرمافزاری سازمان ندارد، بلکه بهصورت یک لایه تحلیلی روی دادههای موجود قرار میگیرد.
ناهنجاری دقیقا چیست و چرا گزارشهای استاندارد آن را لو نمیدهند
گزارشهای داشبورد مدیریتی و هوش تجاری سنتی بر پایه جمعزدن و میانگینگیری استوارند. وقتی شما فروش ماهانه یا هزینه کل انبار را بررسی میکنید، اعداد بزرگ تراکنشهای ریز و نامتعارف را درون خود هضم میکنند. برای مثال، اگر کاربری در یک سیستم فروشگاه زنجیرهای، تخفیفهای کوچک سه درصدی را برای هزار تراکنش شخصی اعمال کند، رقم کلی فروش تغییر حساسی نشان نمیدهد اما یک تخلف ساختاریافته رخ داده است.
قوانین سختگیرانه و حد آستانههای ثابت که در اکثر نرمافزارهای مالی ایران استفاده میشوند هم کارایی محدودی دارند. متخلفان یا سیستمهای دارای باگ، معمولا الگوی خود را به گونهای تنظیم میکنند که زیر حد آستانه هشدار باقی بمانند. کشف ناهنجاری بر خلاف قوانین ثابت، رفتار طبیعی هر متغیر را نسبت به تاریخچه خود و سایر متغیرها یاد میگیرد و رفتارهای خارج از تناسب را شناسایی میکند.
ناهنجاریها عموما به سه دسته اصلی تقسیم میشوند:
- ناهنجاری نقطهای: یک تراکنش مالی با رقمی بسیار بالاتر یا پایینتر از حد معمول یک حساب خاص.
- ناهنجاری سیاقی یا زمینهای: یک ثبت انبار کاملا عادی از نظر عددی، اما در ساعت سه بامداد روز تعطیل که با روند زمانسنجی سیستم متناقض است.
- ناهنجاری جمعی: مجموعهای از دادهها که به تنهایی عادی هستند اما الگوی تکرار آنها کنار هم نشاندهنده یک مشکل عملیاتی یا خرابی تجهیزات است.
روشها و الگوریتمهای کاربردی؛ از آمار کلاسیک تا یادگیری ماشین
انتخاب روش مناسب برای کشف ناهنجاری کاملا به جنس دادهها و حجم آنها بستگی دارد. ادعای برخی فروشندگان مبنی بر استفاده از یک الگوریتم هوش مصنوعی جادویی برای همه دادهها عاری از واقعیت است. در پروژههای اجرایی معمولا از ترکیب چند روش استفاده میشود.
اصلیترین الگوریتمهای مورد استفاده در پروژههای مالی و عملیاتی عبارتند از:
- الگوریتم ایزولیشن فورست (Isolation Forest): یکی از بهترین و سریعترین روشها برای دادههای چندمتغیره متداول در سیستمهای مالی و منابع سازمان. این روش با ایزوله کردن نقاط دادهای، مواردی که با تعداد برشهای کمتری از بقیه جدا میشوند را به عنوان ناهنجاری معرفی میکند.
- اتوانکودرها (Autoencoders): شبکههای عصبی عمیقی که برای بازسازی دادههای ورودی آموزش میبینند. اگر مدل نتواند یک داده جدید را با خطای کم بازسازی کند، آن داده به عنوان ناهنجاری شناخته میشود. این روش برای دادههای پیچیده و با ابعاد بالا عالی است اما هزینه محاسباتی بالاتری دارد.
- الگوریتم دیبیاسکن (DBSCAN): یک روش خوشهبندی مبتنی بر تراکم که دادههایی که در هیچ خوشهای قرار نمیگیرند را به عنوان داده پرت یا ناهنجار شناسایی میکند.
- تجزیه سریهای زمانی (STL Decomposition): برای دادههای عملیاتی و مالی دارای فصلبندی و روند، مانند میزان فروش روزانه یا مصرف انرژی. با حذف اثر فصل و روند، باقیمانده دادهها بررسی میشود تا نوسانات غیرعادی کشف گردند.
مراحل عملی پیادهسازی پروژه در یک مجموعه ایرانی
اجرای موفق یک پروژه کشف ناهنجاری بیشتر از آنکه به پیچیدگی کدنویسی مربوط باشد، به شناخت عمیق از فرایندهای کاری و کیفیت دادهها بستگی دارد. در مجموعههای ایرانی، ناهمگون بودن پایگاههای داده و ثبت دستی بخشی از اطلاعات، چالش اصلی پروژه است.
یک پروژه استاندارد کشف ناهنجاری طی چهار مرحله اصلی پیش میرود:
- آمادهسازی و پاکسازی دادهها: در این مرحله که حدود پنجاه درصد زمان پروژه را میگیرد، دادههای مالی، ثبتهای انبار یا لوگهای سیستم از پایگاههای مختلف استخراج و یکپارچه میشوند.
- مدلسازی و آموزش اولیه: الگوریتمها روی دادههای تاریخی معمولا دوازده تا سیوشش ماه گذشته آموزش داده میشوند تا الگوی نرمال سیستم استخراج شود.
- ارزیابی با کمک خبرگان دامنه: هشدارهای تولید شده توسط مدل به حسابرسان یا مدیران عملیاتی نشان داده میشود تا مشخص شود چه درصدی از هشدارهای مدل واقعا ارزشمند بوده و چه درصدی هشدار کاذب بوده است.
- استقرار و اتصال به سیستمهای موجود: مدل به صورت سرویس پیادهسازی شده و به صورت روزانه یا لحظهای دادههای جدید را اسکن کرده و هشدارهای مربوطه را به داشبورد مدیریتی ارسال میکند.
چه زمانی نباید به سراغ کشف ناهنجاری رفت
کشف ناهنجاری راهکار مناسبی برای همه سازمانها در هر مقطعی نیست. مواردی وجود دارد که ورود به این پروژهها صرفا اتلاف سرمایه و زمان است.
اگر سازمان شما شرایط زیر را دارد، بهتر است ابتدا زیرساختهای پایه را اصلاح کنید:
- دادههای تاریخی ناچیز یا کاملا نامعتبر: اگر کمتر از شش ماه داده ثبت شده دارید یا اکثر دادهها به صورت دستی و با خطاهای فاحش وارد شدهاند، مدلهای یادگیری ماشین فقط نویز را پردازش خواهند کرد.
- عدم حضور کارشناس یا حسابرس برای بررسی هشدارها: کشف ناهنجاری یک ابزار کمکی برای انسان است، نه جایگزین آن. اگر فردی در سازمان نباشد که هشدارهای تولید شده را بررسی و تایید کند، خروجی سیستم بلااستفاده میماند.
- تغییرات مداوم و بنیادی در فرایندهای کاری: اگر مدل بزینس شما هر دو ماه یکبار به طور کلی تغییر میکند، الگوی نرمال متناظری وجود ندارد که سیستم بتواند آن را یاد بگیرد و تعداد هشدارهای کاذب به شدت افزایش خواهد یافت.
گام اول برای شروع مسیر
برای شروع، نیازی نیست کل دادههای مالی و عملیاتی سازمان را وارد پروژه کنید. بهترین روش، تعریف یک پروژه پایلوت دو ماهه روی یک بخش پرریسک مانند صورتحسابهای فروش، ثبتهای انبار یا هزینههای جاری شرکت است.
در پایلوت اولیه، دادههای یک سال گذشته آن بخش بررسی شده و گزارش ناهنجاریهای کشفشده به همراه تحلیل علت آنها ارائه میشود. این کار هم میزان بازگشت سرمایه واقعی را به شما نشان میدهد و هم آمادگی زیرساخت دادهای سازمانتان را برای توسعه بیشتر شفاف میسازد.