全ては顧客に価値を届けるために。CTO谷が語る、不正経費自動検知クラウド「Stena Expense」開発のウラガワ
はじめに
はじめまして。株式会社ChillStackのCTOの谷です。
弊社では経理部向けに経費申請から不正・不備を自動で検知する「Stena Expense」というサービスを提供しています。
リリースから2年ほど経ちますが、改めて「Stena Expense」のリリースまでどのような道のりがあったか開発の裏側を交えながらご紹介します。
先日リリースしたこちらの記事でビジネス視点でのプロダクトの生い立ちも紹介しております。興味がある方は是非ご覧ください。
「Stena Expense」をリリースに至るまでの道のり
「Stena Expense」が解決している課題
「Stena Expense」では経費申請データから不正・不備を自動で検知し、検査業務の自動化・効率化と企業の高度化するガバナンス向上に役立てるサービスです。
経費申請においてガバナンスを維持・向上するために既存の社内規定がいくつもあり、それらには1つの明細からわかるような単純なルールだけではなく、社員の一連の申請から確認しなければなりません。さらには入退館データなどと突合し、経費申請明細との整合性を確認するような社内規定もあります。
しかし、従来のシステムではこのような複雑な社内規定を全て自動で確認することはできません。
従来、不正・不備を検知するためには経費申請システムに付属している申請ルールの設定や二重申請防止機能などを利用します。
従来システムの問題点
1つの明細に対してのみの検知で時系列(申請者の行動)を考慮した不正・不備は検知できない
一部の不正や間違いのみの検知で顧客特有の複雑な不正・不備は検知することができない
入退館記録や営業記録などの経費申請外データと経費申請との突合はできない
以上の問題点により、企業のガバナンスを維持するためには、人の目で膨大な明細を確認しなければならず、それには膨大なコストがかかります。
「Stena Expense」 では、従来システムの問題点を解決し、全ての明細に対してそれらのチェックを自動化することで、人の目の確認よりも低コストで実現することが求められました。
顧客から求められていたこと
膨大な明細から時系列を考慮し、申請者の行動ベースで検知ができること
企業のニーズに合わせて柔軟で複雑な検知ルールのカスタマイズができること
入退館記録や営業記録などの複数種類のデータと経費申請との突合ができること
「Stena Expense」開発以前の自社技術スタック
「Stena Expense」リリース以前から運用を行っている「Stena Game」という、ゲームのチート検知を行うプロダクトがあります。
「Stena Game」は、ゲーム運用会社のサーバーに溜められるプレイヤーの行動ログを行動分析AIにより解析し、数100万のプレイヤーの中から不正な行動を取っているプレイヤーを検知するプロダクトです。
このプロダクトではゲームタイトルごとに「不正の定義」や「ログのフォーマット」、「ログの種類」などが様々で、非常に高い柔軟性が求められました。
このような特性を持ったプロダクトの運用経験をもとに、以下のような技術スタックを積み上げていました。
Stena Gameで培った技術スタック
行動ログなどの多種多様で膨大な時系列データからプレイヤーの行動を分析する力
ゲームタイトルごとに解決すべき「課題」に特化した高精度なAIを作る力
このような技術を”財務・経理”という全く別の業界の顧客へ活用していきました。
「Stena Expense」の開発で苦労した点と
どう解決したか
単純に「Stena Game」で培った技術力をそのまま活用できるわけではありませんでした。「Stena Expense」の開発を進めるにあたって、不正の結果のみを表示させるだけでは、経理担当者がその根拠の調査を行い、経費申請者に問い合わせなければなりません。その負担を減らすために、「なぜこのような不正の結果になったのか」を経理担当者が理解する必要が出てきたのです。
そこで「Stena Game」で利用していた説明可能性が低いアルゴリズムではなく、XAI (Explainable AI: 説明可能なAI) を利用することで、検知した根拠をその結果と共に表示しました。具体的には、理解しやすい統計値などを用いて、それらをルールベースのロジックも掛け合わせて検知を行います。
また、検知精度を維持するために、統計的な処理だけではなく自然言語処理の正規化などの前処理部分に力を注ぎました。その結果、ブラックボックスだった検知ロジックを明白にすることができ、経理担当者が検知結果に対する納得感を高めることができました。
また、ロジック構築や検知根拠を表示するにあたって、ビジネスチームや顧客と連携しながら顧客独自の社内規定とその背景も理解し、真に検知したい不正・不備とその内容を整理しました。その時に社内で意識していたことは、検知ロジックやプロダクトだけでなく、営業やカスタマーサポートなどのビジネスチームも含めて顧客に提供する価値としてニーズに応えられているかということでした。
ニーズに満たすために検知ロジックがどうしても複雑になってしまう場合がありました。そのような時はビジネスチームと話し合い、説明用資料を作成し、顧客へ説明しました。そうすることで、検知ロジックの品質を犠牲にすることなく、顧客の理解を深めることもでき、顧客が納得してプロダクトを利用することにつながります。
これらのような取り組みの結果、実際に導入いただいた顧客からは「業務スピードと品質の両方を劇的に向上してくれた」という喜びの声を多くいただいており、経理担当者の系申請への対応工数が従来比97%減といった事例もあります。さらには、顧客が導入以前は気がつかなかった不正・不備の経費申請明細も検知できました。
プロダクト開発で大切にしているマインド
このような経験で得たものや以前からあるChillStackの開発部門で大切にしているマインドをいくつかご紹介します。
技術に対する向き合い方
技術に対する探究心や学んだことを活かしてより最適なソリューションを作り上げることへの楽しさを大切にしています。エンジニアであるかぎり技術を楽しみながら、より良いモノへとプロダクトを磨き込み、顧客に価値を実感いただける機能になっていることがゴールであり、エンジニアの最大の喜びだと考えています。
しかし、時には原因不明のバグに悩まされたり、実現することが難しいような状況もあります。そのようなときでも根気強くやり抜く力を持っていなければなりません。その最大のモチベーションは顧客に価値を届けたい思いを持ち続けることだと思っています。
さらに顧客のニーズや顧客の状態にあった適切な技術を考え、最新の技術のみを使用することにこだわらず、解決すべき課題を意識し、その目的を見失わない姿勢が重要だと信じています。
顧客への向き合い方
苦労して作ったものが顧客に利用されなければ、それは負債になってしまいます。このような事態を避けるためにビジネスサイドだけでなくエンジニアも顧客の課題や要望を理解し、開発を行うことが大切です。そうすることで結果的にビジネスサイドとのコミュニケーションが活発になり、社内で組織が分裂せず同じチームとして共に顧客の抱える課題へ向き合うことが行われています。
弊社にはチーム一丸となってゴールに向かおうという「Co-Development」をValueとして掲げています。価値のあるソリューションを提供するという一つの目的にビジネスサイド・エンジニアサイドがチームとして一丸となって向かうことでそのValueを体現しています。
おわりに
今回は「Stena Expense」のリリースまでの道のりとChillStackがプロダクト開発で大切にしているマインドをご紹介しました。
しかし、プロダクトもまだ道半ばで取り組みたいことは山程あり、さらに多くの仲間と共に事業を拡大させていく予定です。
当社のプロダクト開発に興味を持った方は是非一度お声がけください。
▼ ChillStack公式サイト
▼ 不正経費自動検知クラウド
「Stena Expense」