یادداشت‌های میدانی

طراحی صف بازبینی KYC که مقیاس‌پذیر باشد

صف بازبینی KYC گردش‌کار بک‌آفیسی است که در آن بررسی‌های هویتیِ ناتمام‌مانده توسط ماشین، پیش روی یک انسان قرار می‌گیرد. بیشتر درخواست‌ها باید خودکار تأیید شوند؛ صف برای آن‌هایی است که نمی‌شوند. هدف کل طراحی آن است که کوچک بماند و فقط ابهام واقعی را نگه دارد، چون صفی که از پرونده‌هایی پر شود که ماشین باید تصمیمشان را می‌گرفت، کنترل نیست، گلوگاهی است که با ثبت‌نام‌ها خطی رشد می‌کند. صف را درست طراحی کنید تا بک‌آفیس با استثناها مقیاس بگیرد، نه با حجم.

همین ویژگی واحد، یعنی عمداً کوچک بودن، همه‌ی تصمیم‌های بعدی را هدایت می‌کند. از تفکیکی شروع کنید که صف را کوچک نگه می‌دارد.

پردازش مستقیم هدف است، صف استثناست

پردازش مستقیم (STP) یعنی درخواست از ابتدا تا انتها بدون دخالت انسان تأیید شود: مدارک خوانده شده، هویت تطبیق داده شده، غربالگری تحریم و PEP پاک، liveness گذرانده و تصمیم ثبت شده است. این باید مسیر رایج باشد و سهم درخواست‌هایی که از آن می‌گذرند، یعنی نرخ STP، تنها عددی است که نشان می‌دهد صف مقیاس‌پذیر خواهد بود یا نه. اگر نود و چند درصد خودکار تأیید شوند، صف انسانی جریان باریک و قابل‌مدیریتی دارد؛ اگر نیمی از آن‌ها به بازبینی بیفتند، باید همگام با رشد بازبین استخدام کنید. صف جایی نیست که KYC در آن انجام می‌شود. جایی است که KYC خودکار اعتراف می‌کند مطمئن نیست. نرخ STP را بالا ببرید تا همه‌ی اعداد دیگر خودبه‌خود بهتر شوند: پرونده‌های کمتر در صف، انتظار کوتاه‌تر و نیاز کمتر به استخدام بازبین. ارزش دارد مستقیم سراغش بروید: ثبت بهتر مدارک در کلاینت، راهنمایی روشن‌تر پیش از گرفتن عکس، و آستانه‌های تطبیق که طوری تنظیم شوند که مشتریان واقعی با یک قاعده‌ی بیش‌ازحد محتاط رد نشوند؛ چون هر درصدی که اینجا برمی‌گردد، پرونده‌ای است که هرگز بعدازظهر کسی را نمی‌گیرد.

چه چیزی وارد صف می‌شود و چرا

پرونده‌ها به دلایلی مشخص و نام‌پذیر به بازبینی می‌افتند و دلیل، مهم‌ترین ویژگی هر پرونده است. عکس مدرک آن‌قدر تار است که خوانده نمی‌شود. نام روی کارت شناسایی با نام درخواست یکی نیست. غربالگری تحریم یا PEP یک تطابق احتمالی برگردانده که انسان باید تأییدش یا ردش کند. نشانی با هیچ منبعی قابل تأیید نیست. بررسی liveness رد شده، یا همان چهره یا مدرک از پیش روی حساب دیگری وجود دارد. هر کدام نوع متفاوتی از کار است و قضاوتی متفاوت می‌خواهد، و ریختن همه‌شان در یک توده‌ی یکدست نخستین اشتباه صف بازبینی است. حتی یک دلیل واحد هم می‌تواند وزن‌های بسیار متفاوتی داشته باشد: عدم تطابق نام ممکن است اختلاف عادی نام همسر باشد یا نخستین نشانه‌ی هویت دزدیده‌شده، و کار صف این است که پرونده را به کسی برساند که تفاوت را تشخیص می‌دهد، نه این‌که حکمی شتاب‌زده برای پرونده‌ای تحمیل کند که سزاوار دقت است.

یک صف کافی نیست: بر اساس دلیل تفکیک کنید

یک صف واحد هر بازبین را مجبور می‌کند همه‌فن‌حریف باشد و هر پرونده را پشت پرونده‌های نامرتبط منتظر نگه می‌دارد. تفکیک بر اساس دلیل هر دو را حل می‌کند. صف تطابق احتمالی تحریم را کسانی بررسی می‌کنند که در غربالگری و تعیین تکلیف آموزش دیده‌اند؛ صف کیفیت مدرک یک بررسی بصری سریع است که بازبین تازه‌کار در چند ثانیه انجام می‌دهد؛ صف حساب تکراری یک تحقیق تقلب است. هر بخش مسیریابی، مهارت موردنیاز و هدف سطح خدمت (SLA) خودش را دارد، چون عکس تار باید در چند دقیقه حل شود، در حالی که یک تطابق واقعی تحریم سزاوار تصمیم‌گیری دقیق و بی‌عجله است. تفکیک همان چیزی است که اجازه می‌دهد توان عملیاتی و سخت‌گیری با هم باشند، نه این‌که یکی فدای دیگری شود.

صف بازبینی با استخدام بازبین بیشتر مقیاس‌پذیر نمی‌شود. مقیاس‌پذیری از این‌جا می‌آید که درست تشخیص دهید کدام پرونده‌ها اصلاً به بازبینی نیاز نداشتند، و پرونده‌هایی که نیاز دارند از قبل بر اساس دلیلشان دسته‌بندی‌شده برسند.
— Protocore · مهندسی عملیات

اقدام‌های دلیل‌محور با ثبت حسابرسی

هر تصمیمی که بازبین می‌گیرد، چه تأیید، چه رد، چه ارجاع به سطح بالاتر و چه درخواست مدارک بیشتر، باید دلیل داشته باشد و ثبت شود. نه یک توضیح آزاد که بعداً و از سر ناچاری نوشته شده، بلکه انتخابی ساختاریافته که توضیح می‌دهد چرا این اقدام انجام شد و درست در همان لحظه ثبت می‌شود. این بوروکراسی نیست؛ همین است که صف را قابل دفاع می‌کند. وقتی تنظیم‌گر، حسابرس یا بازبین بعدی می‌پرسد چرا حسابی با وجود یک هشدار تأیید شده، پاسخ یک بازبین مشخص است با زمان ثبت و دلیلی صریح، نه یک بالا انداختن شانه. مسیر حسابرسی فقط‌افزودنی (append-only) است، بنابراین تصمیم را نمی‌شود بی‌سروصدا بعد از واقعه بازنویسی کرد؛ اصلاحیه‌ها ورودی جدیدند، نه ویرایش روی ورودی‌های قبلی. در پشته‌ی ما این صف و مدل حسابرسی‌اش در Protocore Center (/products/center) قرار دارد؛ کنسول اپراتوری که در آن هر اقدام دارای سطح دسترسی ویژه به ذکر دلیل نیاز دارد و در لاگی ثبت می‌شود که بی‌صدا قابل تغییر نیست.

پرونده‌های چهار‌چشم

بعضی تصمیم‌ها آن‌قدر پیامد دارند که نمی‌شود به یک نفر سپردشان. رفع یک تطابق واقعی در فهرست تحریم‌ها، تأیید یک پروفایل پرریسک یا لغو یک رد خودکار باید با تأیید بازبین دوم همراه باشد: maker-checker یا همان چهار‌چشم. بازبین اول پیشنهاد می‌دهد و دلیلش را می‌نویسد؛ بازبین دوم، با اختیار لازم، تأیید یا رد می‌کند و دلیل خودش را ثبت می‌کند. هر دو اقدام لاگ می‌شوند. این بی‌اعتمادی به بازبین‌ها نیست؛ پذیرفتن این واقعیت است که پرخطرترین تأییدها همان‌هایی‌اند که یک اشتباه در آن‌ها بیشترین هزینه را دارد و چشم دوم ارزان‌ترین بیمه در برابر آن است. طراحی صف باید این پرونده‌ها را بر اساس دلیل، خودکار به مسیر دومرحله‌ای بفرستد و کار را به حافظه‌ی بازبین‌ها نسپارد. اما مسیر دومرحله‌ای را عمداً برای پرونده‌های پرپیامد نگه دارید؛ اگر همه‌چیز را در آن بگذارید، هزینه‌ی کل صف دو برابر می‌شود و بازبین‌ها عادت می‌کنند امضای دوم را بدون دقت بزنند، که بی‌سروصدا فلسفه‌ی وجودی آن را از بین می‌برد.

طراحی برای حجم بالا: قدمت، اولویت‌بندی، SLA

صفی که فقط بزرگ می‌شود، صفی است که شکست خورده. فشاری را که صف را در حرکت نگه می‌دارد در طراحی بگنجانید. قدمت پرونده‌ها باید دیده شود تا چیزی فراموش نشود؛ هر بخش هدف سطح خدمت (SLA) خودش را دارد، به‌طوری که پرونده‌ی عکس‌ تار که SLA چنددقیقه‌ای‌اش را رد کرده با پرونده‌ی تحریمی که هنوز در SLA طولانی‌ترش است متفاوت نمایان می‌شود. اولویت‌بندی یک انتخاب واقعی است: قدیمی‌ترین‌ها اول، عادلانه و ساده است، اما ریسک‌محور، یعنی بیشترین مواجهه‌ی بالقوه در صدر، اغلب انتخاب درست‌تر است، با قدمت به‌عنوان معیار تعیین‌کننده در تساوی تا پرونده‌های کم‌ریسک هم تعیین تکلیف شوند و گرسنه نمانند. صفحه‌ی بازبین باید پرونده‌ی بعدی را نشان دهد که از قبل مسیریابی و اولویت‌بندی شده، نه فهرستی برای گزینش، چون در صفی که آدم‌ها از میانش انتخاب می‌کنند، پرونده‌های دردسرساز هیچ‌وقت انتخاب نمی‌شوند. صفی که قدمتش دیده نشود بی‌صدا می‌پوسد: پرونده‌های سخت ته صف می‌مانند، پرونده‌های آسان بالا می‌چرخند، و تنها شاخصی که این را آشکار می‌کرد، یعنی عمر قدیمی‌ترین پرونده‌ی باز، دقیقاً همان عددی است که تا وقتی مشتری شکایت نکند کسی نگاهش نمی‌کند.

اندازه‌گیری صف

چهار عدد نشان می‌دهند طراحی کار می‌کند یا نه. نرخ STP می‌گوید چه سهمی اصلاً به انسان نیاز نداشت؛ عمق صف و روندش می‌گوید به بار کار می‌رسید یا عقب می‌افتید؛ زمان تصمیم‌گیری، به تفکیک هر بخش و در مقایسه با SLA آن، می‌گوید مشتری‌ها برای ثبت‌نام بیش از حد منتظر می‌مانند یا نه؛ و نرخ بازگشایی، یعنی تصمیم‌هایی که بعداً نقض شدند، می‌گوید بازبین‌ها درست تصمیم می‌گیرند یا فقط سریع. این‌ها را با هم ببینید، چون در تعارض با هم‌اند: پایین آوردن زمان تصمیم‌گیری همزمان با بالا رفتن نرخ بازگشایی یعنی سرعت را با اشتباه خریده‌اید. صف سالم کوچک است، در حرکت است، درست تصمیم می‌گیرد و درباره‌ی پرونده‌های باز مانده‌اش صادق است.

بک‌آفیسی که مردم تصور می‌کنند، یعنی اتاق‌هایی پر از کارمندانی که درخواست‌ها را یکی‌یکی وارد می‌کنند، حاصل زمانی است که اتوماسیون کم از پس کار برمی‌آید و صف یک انبوه یکدست و بی‌تفکیک است. بک‌آفیسی که مقیاس‌پذیر است وارونه‌ی آن است: بیشتر درخواست‌ها هرگز به انسان نمی‌رسند، آن‌هایی که می‌رسند بر اساس دلیل و اولویت مرتب‌شده‌اند، هر اقدام با دلیلش در یک لاگ فقط‌افزودنی ثبت می‌شود و چهار‌چشم از تصمیم‌هایی که لازم است محافظت می‌کند. صف را برای استثناها بسازید تا با رشد شما کوچک بماند. اگر آن را جایی بسازید که KYC در آن انجام می‌شود، با هر ثبت‌نامی که می‌پذیرید بزرگ‌تر می‌شود.

سیستمی برای ساختن دارید؟

مسئله را بگویید. با یک معماری و یک برنامه برمی‌گردیم.