(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-02
(45)【発行日】2022-06-10
(54)【発明の名称】局所性鋭敏型ハッシュおよび局所外れ値因子アルゴリズムを使用して不正取引を検出するためのコンピュータ実施方法
(51)【国際特許分類】
G06Q 30/00 20120101AFI20220603BHJP
【FI】
G06Q30/00 342
(21)【出願番号】P 2020567840
(86)(22)【出願日】2020-07-14
(86)【国際出願番号】 IB2020056623
(87)【国際公開番号】W WO2021038328
(87)【国際公開日】2021-03-04
【審査請求日】2021-01-29
(32)【優先日】2019-08-27
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】520244544
【氏名又は名称】クーパン コーポレイション
(74)【代理人】
【識別番号】230104019
【氏名又は名称】大野 聖二
(74)【代理人】
【識別番号】100131451
【氏名又は名称】津田 理
(74)【代理人】
【識別番号】100167933
【氏名又は名称】松野 知紘
(74)【代理人】
【識別番号】100174137
【氏名又は名称】酒谷 誠一
(74)【代理人】
【識別番号】100184181
【氏名又は名称】野本 裕史
(72)【発明者】
【氏名】ファン,シャオチョン
【審査官】久宗 義明
(56)【参考文献】
【文献】米国特許出願公開第2016/0253672(US,A1)
【文献】米国特許出願公開第2018/0225391(US,A1)
【文献】市原 直通,FinTechで変わる会計の世界,企業会計 第69巻 第6号 ACCOUNTING,日本,株式会社中央経済社,2017年,第69巻,55(775)~63(783)ページ
【文献】Markus GOLDSTEIN,FastLOF: An Expectation-Maximization based Local Outlier Detection Algorithm,21st Internationa Conference on Pattern Recognition (ICPR 2012),International Association for Pattern Recognition,2012年11月11日,2282~2285ページ,[令和3年11月4日検索], インターネット<URL: https://ieeexplore.ieee.org/document/6460620>
【文献】A MIRA,RODHA: Robust Outlier Detection using Hybrid Approach,American Journal of Intelligent Systems,第2巻、第5号,米国,Scientific & Academic Publishing Co.,2012年02月05日,129~140ページ,[令和3年11月4日検索], インターネット<https://article.sapub.org/10.5923.j.ajis.20120205.07.html>
【文献】Malcolm Slaney,Locality-Sensitive Hashing for Finding Nearest Neighbors [Lecture Notes],IEEE SIGNAL PROCESSING MAGAZINE,米国,IEEE,2008年03月,128~131ページ,[令和3年11月4日検索], インターネット<URL: https://ieeexplore.ieee.org/document/4472264>
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装システムであって、
命令を記憶する1つまたは複数のメモリデバイスと、
動作を実施するために前記命令を実行するように構成されている1つまたは複数のプロセッサとを備え、
前記動作は、
ユーザデバイスから、1つまたは複数の不正データ点を検出することを求める要求を受信することと、
データベース内のすべてのデータ点の特徴ベクトルを構築することであって、前記データ点は属性を含む電子取引を表
し、前記データベース内のデータ点は自動監査システムによって修正される、特徴ベクトルを構築することと、
前記構築され
た特徴ベクトルの局所性鋭敏型ハッシュテーブルを構築することであって、各ハッシュテーブルは、独立して計算されている同一のハッシュ値を有するデータ点を含む少なくとも1つのセルを含み、各データ点は同一のセル内の隣接データ点によって表される、
前記局所性鋭敏型ハッシュテーブルを構築することと、
各データ点に最良の隣接データ点を割り当てることであって、前記最良の隣接データ点は、構築され
たハッシュテーブル内で前記データ点と同じセル内に最も頻繁に配置されている、
前記割り当てることと、
各データ点に関連付けられている、前記割り当てられ
た最良の隣接データ点に対し
て局所外れ値因子アルゴリズムを適用することによって、各データ点の外れ値スコアを計算することと、
前記計算され
た外れ値スコアに基づいて不正データ点を検出することと、
を含む、コンピュータ実装システム。
【請求項2】
局所性鋭敏型ハッシュテーブルを構築することは、
k個のランダムベクトルを生成することであって、前記ベクトルの次元は前記データ点の次元に対応する、
前記生成することと、
前記k個のランダムベクトルと前記構築され
た特徴ベクトルとのドット積を計算することと、
結果が正の場合は前記計算され
たドット積の結果に1を割り当て、そうでない場合は結果に0を割り当てることと、
k個のドット積に対して計算され
たすべてのビット値を連結することと、
構築され
たすべての特徴ベクトルについてドット積を計算する動作を繰り返
すことであって、ビット単位の値を割り当て、すべての前記ビット値を連結して、構築され
たすべての特徴ベクトルのハッシュ値を計算する
、前記繰り返すことと、
前記特徴ベクトルに関連付けられ
たデータ点を同じハッシュ値によってグループ化し、前記グループ化され
たデータ点を1つのセルに配置することによって、局所性鋭敏型ハッシュテーブルを生成することと、
を含み、
前記k個のランダムベクトルを生成するステップ、
前記ドット積を計算するステップ、
前記ビット単位の値を割り当てるステップ、
前記すべてのビット値を連結するステップ、
前記動作を繰り返すステップ、および
、前記局所性鋭敏型ハッシュテーブルを生成するステップは、固定回数の反復にわたって繰り返し実施され、反復ごとにkはkに1を加算することによって更新される、請求項1に記載のコンピュータ実装システム。
【請求項3】
外れ値スコアを計算することは、
各データ点と該データ点のすべての隣接データ点との間の平均距離を計算することと、
前記計算され
た平均距離に基づいて、各データ点の局所到達可能密度を計算することと、
各データ点の前記計算され
た局所到達可能密度に局所外れ値因子を適用することにより、外れ値スコアを計算することと、
を含む、請求項1に記載のコンピュータ実装システム。
【請求項4】
前記計算され
た外れ値スコア
が1に近いことは、一貫性
が高いことを示し、
不正データ点は、一貫性の低いデータ点によって示される、請求項1に記載のコンピュータ実装システム。
【請求項5】
前記不正データ点が、不正な支払い、アカウント乗っ取り、転売、および購入者エンティティの不正を含む、請求項1に記載のコンピュータ実装システム。
【請求項6】
前記属性は、商業者ID、取引日、平均金額/取引/日、取引金額、取引のタイプ、取引のリスクレベル、および1日の支払拒否平均額を含む、請求項1に記載のコンピュータ実装システム。
【請求項7】
特徴ベクトルを構築することは、前記データ点の属性を抽出することであって、前記属性は、商業者ID、取引日、平均金額/取引/日、取引金額、取引のタイプ、取引のリスクレベル、および1日の支払拒否平均額を含む、抽出することを含む、請求項1に記載のコンピュータ実装システム。
【請求項8】
前記抽出され
た属性が数値にスケーリングされる、請求項7に記載のコンピュータ実装システム。
【請求項9】
前記特徴ベクトルが多次元である、請求項1に記載のコンピュータ実装システム。
【請求項10】
コンピュータ実施方法であって、
ユーザデバイスから、1つまたは複数の不正データ点を検出することを求める要求を受信することと、
データベース内のすべてのデータ点の特徴ベクトルを構築することであって、前記データ点は属性を含む電子取引を表
し、前記データベース内のデータ点は自動監査システムによって修正される、特徴ベクトルを構築することと、
前記構築され
た特徴ベクトルの局所性鋭敏型ハッシュテーブルを構築することであって、各ハッシュテーブルは、独立して計算されている同一のハッシュ値を有するデータ点を含む少なくとも1つのセルを含み、各データ点は同一のセル内の隣接データ点によって表される、
前記局所性鋭敏型ハッシュテーブルを構築することと、
各データ点に最良の隣接データ点を割り当てることであって、前記最良の隣接データ点は、構築され
たハッシュテーブル内で前記データ点と同じセル内に最も頻繁に配置されている、
前記割り当てることと、
各データ点に関連付けられている、前記割り当てられ
た最良の隣接データ点に対し
て局所外れ値因子アルゴリズムを適用することによって、各データ点の外れ値スコアを計算することと、
前記計算され
た外れ値スコアに基づいて不正データ点を検出することと、
を含む、コンピュータ実施方法。
【請求項11】
局所性鋭敏型ハッシュテーブルを構築することは、
k個のランダムベクトルを生成することであって、前記ベクトルの次元は前記データ点の次元に対応する、
前記生成することと、
前記k個のランダムベクトルと前記構築され
た特徴ベクトルとのドット積を計算することと、
結果が正の場合は前記計算され
たドット積の結果に1を割り当て、そうでない場合は結果に0を割り当てることと、
k個のドット積に対して計算され
たすべてのビット値を連結することと、
構築され
たすべての特徴ベクトルについてドット積を計算する動作を繰り返
すことであって、ビット単位の値を割り当て、すべての前記ビット値を連結して、構築されているすべての特徴ベクトルのハッシュ値を計算する
、前記繰り返すことと、
前記特徴ベクトルに関連付けられ
たデータ点を同じハッシュ値によってグループ化し、前記グループ化され
たデータ点を1つのセルに配置することによって、局所性鋭敏型ハッシュテーブルを生成することと、
を含み、
前記k個のランダムベクトルを生成するステップ、
前記ドット積を計算するステップ、
前記ビット単位の値を割り当てるステップ、
前記すべてのビット値を連結するステップ、
前記動作を繰り返すステップ、および、
前記局所性鋭敏型ハッシュテーブルを生成するステップは、固定回数の反復にわたって繰り返し実施され、反復ごとにkはkに1を加算することによって更新される、請求項
10に記載の方法。
【請求項12】
外れ値スコアを計算することは、
各データ点と該データ点のすべての隣接データ点との間の平均距離を計算することと、
前記計算され
た平均距離に基づいて、各データ点の局所到達可能密度を計算することと、
各データ点の前記計算され
た局所到達可能密度に局所外れ値因子を適用することにより、外れ値スコアを計算することと、
を含む、請求項
10に記載の方法。
【請求項13】
前記計算され
た外れ値スコア
が1に近いことは、一貫性
が高いことを示し、
不正データ点は、一貫性の低いデータ点によって示される、請求項
10に記載の方法。
【請求項14】
前記不正データ点が、不正な支払い、アカウント乗っ取り、転売、および購入者エンティティの不正を含む、請求項
10に記載の方法。
【請求項15】
前記属性は、商業者ID、取引日、平均金額/取引/日、取引金額、取引のタイプ、取引のリスクレベル、および1日の支払拒否平均額を含む、請求項
10に記載の方法。
【請求項16】
特徴ベクトルを構築することは、前記データ点の属性を抽出することであって、前記属性は、商業者ID、取引日、平均金額/取引/日、取引金額、取引のタイプ、取引のリスクレベル、および1日の支払拒否平均額を含む、抽出することを含む、請求項
10に記載の方法。
【請求項17】
前記抽出され
た属性が数値にスケーリングされる、請求項
16に記載の方法。
【請求項18】
前記特徴ベクトルが多次元である、請求項
10に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、コンピュータ化されたシステムおよび方法であって、そのようなシステムのデータベース内の不正データ点を検出するための、コンピュータ化されたシステムおよび方法に関する。本開示の実施形態は、発明的で非従来型のシステムであって、そのようなシステム上で局所性鋭敏型ハッシュおよび局所外れ値因子アルゴリズムを使用することによって、不正取引などの不正データ点を検出するための、発明的で非従来型のシステムに関する。
【背景技術】
【0002】
インターネットの普及に伴い、インターネットを利用して商品を購入するユーザが増えている。電子取引の範囲および量が拡大し続けるにつれて、不正取引を検出するためのシステムと方法が開発された。ただし、検出方法およびシステムが開発されるにつれて、不正取引は進化した。不正取引は様々な形態に変化し、まったく異なるパターンを示している。
【0003】
従来の方法およびシステムは、静的ルールを使用することによって非異常の中から異常を検出することに重点を置いている。システムは最初に少なくとも1つの異常を識別し、次に異常を検出するためのルールを作成する。ルールは、パターンマイニング技術を使用して識別することができる。静的ルールの前提は、ほとんどの異常が少数の異常タイプに属していることであり、したがって、システムは、それらの異常タイプを説明する少数の静的ルールを見つけることによって、ほとんどの異常を検出することができる。ただし、静的ルールは、ルールを回避するために異なるパターンを示す異常を検出することができない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、電子取引における不正データ点を検出するための改善された方法およびシステムが必要とされている。
【課題を解決するための手段】
【0005】
本開示の一態様は、命令を記憶するメモリと、局所性鋭敏型ハッシュおよび局所外れ値因子アルゴリズムを使用して不正データ点を検出する方法を実施するために命令を実行するようにプログラムされている少なくとも1つのプロセッサとを含むシステムに関する。この方法は、ユーザデバイスから、1つまたは複数の不正データ点を検出することを求める要求を受信することと、データベース内のすべてのデータ点の特徴ベクトルを構築することであって、データ点は属性を含む電子取引を表す、特徴ベクトルを構築することと、構築されている特徴ベクトルの局所性鋭敏型ハッシュテーブルを構築することであって、各ハッシュテーブルは、独立して計算されている同一のハッシュ値を有するデータ点を含む少なくとも1つのセルを含み、各データ点は同一のセル内の隣接データ点によって表される、局所性鋭敏型ハッシュテーブルを構築することとを含む。この方法は、各データ点に最良の隣接データ点を割り当てることであって、最良の隣接データ点は、構築されているハッシュテーブル内で上記データ点と同じセル内に最も頻繁に配置されている、割り当てることと、各データ点に関連付けられている、割り当てられている最良の隣接データ点に対して修正局所外れ値因子アルゴリズムを適用することによって、各データ点の外れ値スコアを計算することと、計算されている外れ値スコアに基づいて不正データ点を検出することとをさらに含む。
【0006】
本開示の別の態様は、局所性鋭敏型ハッシュおよび局所外れ値因子アルゴリズムの組み合わせを使用して、不正データ点を検出するための方法に関する。この方法は、ユーザデバイスから、1つまたは複数の不正データ点を検出することを求める要求を受信することと、データベース内のすべてのデータ点の特徴ベクトルを構築することであって、データ点は属性を含む電子取引を表す、特徴ベクトルを構築することと、構築されている特徴ベクトルの局所性鋭敏型ハッシュテーブルを構築することであって、各ハッシュテーブルは、独立して計算されている同一のハッシュ値を有するデータ点を含む少なくとも1つのセルを含み、各データ点は同一のセル内の隣接データ点によって表される、局所性鋭敏型ハッシュテーブルを構築することとを含む。この方法は、各データ点に最良の隣接データ点を割り当てることであって、最良の隣接データ点は、構築されているハッシュテーブル内で上記データ点と同じセル内に最も頻繁に配置されている、割り当てることと、各データ点に関連付けられている、割り当てられている最良の隣接データ点に対して修正局所外れ値因子アルゴリズムを適用することによって、各データ点の外れ値スコアを計算することと、計算されている外れ値スコアに基づいて不正データ点を検出することとをさらに含む。
【0007】
本開示のさらに別の態様は、局所性鋭敏型ハッシュおよび局所外れ値因子アルゴリズムの組み合わせを使用して不正データ点を検出するための方法を実施するためにプロセッサによって実行することができる命令を含む非一時的コンピュータ可読記憶媒体に関する。この方法は、ユーザデバイスから、1つまたは複数の不正データ点を検出することを求める要求を受信することと、データベース内のすべてのデータ点の特徴ベクトルを構築することであって、データ点は属性を含む電子取引を表す、特徴ベクトルを構築することと、構築されている特徴ベクトルの局所性鋭敏型ハッシュテーブルを構築することであって、各ハッシュテーブルは、独立して計算されている同一のハッシュ値を有するデータ点を含む少なくとも1つのセルを含み、各データ点は同一のセル内の隣接データ点によって表される、局所性鋭敏型ハッシュテーブルを構築することとを含む。この方法は、各データ点に最良の隣接データ点を割り当てることであって、最良の隣接データ点は、構築されているハッシュテーブル内で上記データ点と同じセル内に最も頻繁に配置されている、割り当てることと、各データ点に関連付けられている、割り当てられている最良の隣接データ点に対して修正局所外れ値因子アルゴリズムを適用することによって、各データ点の外れ値スコアを計算することと、計算されている外れ値スコアに基づいて不正データ点を検出することとをさらに含む。
【0008】
他のシステム、方法、およびコンピュータ可読媒体も、本明細書で説明される。
【図面の簡単な説明】
【0009】
【
図1A】開示された実施形態と一致する、出荷、輸送、および物流オペレーションを可能にする通信のためのコンピュータ化されたシステムを備えるネットワークの例示的な実施形態を示す概略ブロック図である。
【
図1B】開示された実施形態と一致する、対話型ユーザインターフェース要素と共に、検索要求を満たす1つまたは複数の検索結果を含む例示的な検索結果ページ(SRP)を示す図である。
【
図1C】開示された実施形態と一致する、対話型ユーザインターフェース要素と共に製品および製品に関する情報を含む例示的な単一ディスプレイページ(SDP)を示す図である。
【
図1D】開示された実施形態に一致する、対話型ユーザインターフェース要素と共に仮想ショッピングカート内のアイテムを含む例示的なカートページを示す図である。
【
図1E】開示された実施形態と一致する、対話型ユーザインターフェース要素と共に、購入および出荷に関する情報と共に仮想ショッピングカートからのアイテムを含む例示的な注文ページを示す図である。
【
図2】開示された実施形態と一致する、開示されたコンピュータ化されたシステムを利用するように構成されている例示的なフルフィルメントセンタの概略図である。
【
図3A】開示された実施形態と一致する、内部フロントエンドシステム上で局所性鋭敏型ハッシュおよび局所外れ値因子アルゴリズムの組み合わせを使用して不正データ点を検出するための例示的な方法を示す図である。
【
図3B】開示された実施形態と一致する、局所性鋭敏型ハッシュテーブルを構築するための例示的な方法を示す図である。
【
図3C】開示された実施形態と一致する、局所外れ値因子アルゴリズムを使用して各データ点の外れ値スコアを計算するための例示的な方法を示す図である。
【
図4A】開示された実施形態と一致する、サンプル取引データ点を示す図である。
【
図4B】開示された実施形態と一致する、サンプル取引データ点を示す図である。
【
図4C】開示された実施形態と一致する、サンプル取引データ点を示す図である。
【
図4D】開示された実施形態と一致する、サンプル取引データ点を示す図である。
【
図4E】開示された実施形態と一致する、サンプル取引データ点を示す図である。
【
図4F】開示された実施形態と一致する、サンプル取引データ点を示す図である。
【発明を実施するための形態】
【0010】
以下の詳細な説明は、添付の図面を参照する。可能な限り、図面および以下の説明では、同一または類似の部分を参照するために、同一の参照番号が使用される。いくつかの例示的な実施形態が本明細書で説明されるが、修正、適応、および他の実装が可能である。例えば、置換、追加、または修正が図面に示された構成要素およびステップに行われてもよく、本明細書に記載された例示的な方法は、開示された方法にステップを置換、並べ替え、除去、もしくは追加することによって、または、独立したステップを互いに並列に実施することによって修正されてもよい。したがって、以下の詳細な説明は、開示された実施形態および実施例に限定されない。むしろ、本発明の適切な範囲は、添付の特許請求の範囲によって定義される。
【0011】
本開示の実施形態は、局所性鋭敏型ハッシュおよび局所外れ値因子アルゴリズムの組み合わせを使用することによって不正データ点を検出するように構成されているコンピュータ実装システムおよび方法に関する。開示された実施形態は、ユーザが信頼できる挙動を学習することによって不正データ点を検出することを可能にする発明的な技術的特徴を提供する。不正挙動とは異なり、信頼できる挙動は時間の経過と共に変化しない。したがって、信頼できる挙動を表すデータ点は、様々なグループ化の下で一貫した空間配置を有する。例えば、開示された実施形態は、データ点間の一貫性を表す各データ点の外れ値スコアを計算し、一貫性のない程度の外れ値スコアに関連付けられているデータ点を選択することによって不正データ点を検出する。
【0012】
図1Aを参照すると、出荷、輸送、および物流動作を可能にする通信のためのコンピュータ化されたシステムを含むシステムの例示的な実施形態を示す概略ブロック
図100が示されている。
図1Aに示すように、システム100は様々なシステムを含むことができ、その各々は、1つまたは複数のネットワークを介して互いに接続することができる。システムはまた、例えばケーブルを使用して、直接接続を介して互いに接続されてもよい。図示のシステムは、出荷権限技術(SAT)システム101、外部フロントエンドシステム103、内部フロントエンドシステム105、輸送システム107、モバイルデバイス107A、107B、107C、売り手ポータル109、出荷および注文追跡(SOT)システム111、フルフィルメント(履行)最適化(FO)システム113、フルフィルメントメッセージングゲートウェイ(FMG)115、サプライチェーン管理(SCM)システム117、労働力管理システム119、モバイルデバイス119A、119B、119C(フルフィルメントセンタ(FC)200の内部にあるものとして図示)、第三者パーティフルフィルメントシステム121A、121B、121C、フルフィルメントセンタ認証システム(FC認証)123、労働管理システム(LMS)125を含む。
【0013】
SATシステム101は、いくつかの実施形態では注文状態および配送状態を監視するコンピュータシステムとして実装されてもよい。例えば、SAT装置101は注文がその約束配送日(PDD)を過ぎているかどうかを判定し、新しい注文を開始すること、配達されていない注文でアイテムを再出荷すること、配達されていない注文をキャンセルすること、注文カスタマとのコンタクトを開始することなどを含む適切な処置をとることができる。SAT装置101は、出力(特定の期間中に出荷された荷物の数のよう)及び入力(出荷に使用するために受け取った空のボール紙箱の数のよう)を含む他のデータを監視することもできる。また、SATシステム101はシステム100内の異なるデバイス間のゲートウェイとして機能し、外部フロントエンドシステム103およびFOシステム113などのデバイス間の通信(例えば、ストアアンドフォワードまたは他の技術を使用する)を可能にしてもよい。
【0014】
いくつかの実施形態では、外部フロントエンドシステム103は外部ユーザがシステム100内の1つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、システム100がシステムの提示を可能にして、ユーザがアイテムのための注文を配置することを可能にする実施形態では、外部フロントエンドシステム103が検索リクエストを受信し、アイテムページを提示し、決済情報を要請するウェブサーバとして実装されてもよい。例えば、外部フロントエンドシステム103は、アパッチHTTPサーバ、マイクロソフトインターネットインフォメーションサービス、NGINX等のソフトウェアを実行するコンピュータ又はコンピュータとして実施することができる。他の実施形態では、外部フロントエンドシステム103が外部デバイス(例えば、モバイルデバイス102Aまたはコンピュータ102B)からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得した情報に基づいて受信した要求に対する応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【0015】
いくつかの実施形態では、外部フロントエンドシステム103がウェブキャッシングシステム、データベース、検索システム、または支払いシステムのうちの1つまたは複数を含むことができる。一態様では外部フロントエンドシステム103がこれらのシステムのうちの1つまたは複数を備えることができ、別の態様では外部フロントエンドシステム103がこれらのシステムのうちの1つまたは複数に接続されたインターフェース(例えば、サーバ間、データベース間、または他のネットワーク接続)を備えることができる。
【0016】
図1B、
図1C、
図1D、および
図1Eによって示されるステップの例示的な組は、外部フロントエンドシステム103のいくつかの動作を説明するのに役立つことができる。外部フロントエンドシステム103は提示および/またはディスプレイのために、システム100内のシステムまたはデバイスから情報を受け取ることができる。例えば、外部フロントエンドシステム103は、検索結果を含む1つ以上のウェブページをホスティングまたは提供することができる: ページ(SRP)(例えば、
図1B)、単一ディテールページ(SDP)(例えば、
図1C)、カードページ(例えば、
図1D)、または注文ページ(例えば、
図1E)。ユーザデバイス(例えば、モバイルデバイス102Aまたはコンピュータ102Bを使用する)は外部フロントエンドシステム103にナビゲートし、サーチボックスに入力することによってサーチをリクエストすることができる。外部フロントエンドシステム103は、システム100内の1つまたは複数のシステムからリクエストすることができる。例えば、外部フロントエンドシステム103は、検索要求を満たす情報をFOシステム113に要求してもよい。また、外部フロントエンドシステム103は検索結果に含まれる商品ごとに、約束配送日または「PDD」を(FOシステム113から)リクエストし、受信することもできる。
PDDはいくつかの実施形態では、特定の期間内に、例えば、その日の最後(午後11時59分)までに注文された場合、製品を含む荷物が、いつユーザの所望の場所に到着するか、または製品がユーザの所望の場所に配送されることを約束される日付かのいずれかの推定値を表すことができる(PDDはFOシステム113に関して以下でさらに説明される)。
【0017】
外部フロントエンドシステム103がその情報に基づいてSRP(例えば、
図1B)を準備することができる。SRPは、検索要求を満たす情報を含むことができる。例えば、これは、検索要求を満たす製品の写真を含むことができる。SRPはまた、各製品についてのそれぞれの価格、または各製品についての強化された配送オプション、PDD、重み、規模、オファー、割引などに関する情報を含んでもよい。外部フロントエンドシステム103は(例えば、ネットワークを介して)要求側ユーザデバイスにSRPを送信することができる。
【0018】
次いで、ユーザデバイスは例えば、ユーザインターフェースをクリックまたはタップすることによって、または別のインプットデバイスを使用して、SRPから製品を選択して、SRP上に表される製品を選択し得る。ユーザデバイスは選択されたプロダクトに関するリクエストを作成し、それを外部フロントエンドシステム103に送ることができる。これに応じて、外部フロントエンドシステム103は、選択された商品に関する情報をリクエストすることができる。例えば、情報は、それぞれのSRP上の製品について提示される情報を超える追加の情報を含むことができる。これには、例えば、貯蔵寿命、原産国、体重、大きさ、荷物中のアイテムの個数、取扱説明書、または生成物に関する他の事項が含まれ得る。また、情報は(例えば、この製品および少なくとも1つの他の製品を購入した顧客のビッグデータおよび/または機械学習分析に基づく)類似の製品に対する推奨、頻繁に質問される質問に対する回答、顧客からのレビュー、製造業者情報、写真などを含むことができる。
【0019】
外部フロントエンドシステム103は受信したプロダクトインフォメーションに基づいて、SDP(単一ディテールページ)(例えば、
図1C)を準備することができる。SDPはまた、「今すぐ買う」ボタン、「カードに追加する」ボタン、数量欄、アイテムの写真等のような他の対話型要素を含んでもよい。SDPは、製品を提供する売り手のリストをさらに含むことができる。リストは各売り手が提供する価格に基づいて注文されてもよく、その結果、最低価格で製品を販売することを提案する売り手は最上位にリストされてもよい。リストは最高ランクの売り手が最上位にリストされるように、売り手ランキングに基づいて注文されてもよい。売り手ランキングは例えば、約束されたPDDを満たす売り手の過去の実績を含む、複数の要因に基づいて定式化されてもよい。外部フロントエンドシステム103は(例えば、ネットワークを介して)要求側ユーザデバイスにSDPを配信することができる。
【0020】
依頼元ユーザデバイスは、商品情報を記載したSDPを受け取る場合がある。SDPを受信すると、ユーザデバイスはSDPと対話することができる。例えば、要求ユーザデバイスのユーザは、SDP上の「カートに入れる」ボタンをクリックするか、あるいは他の方法で対話することができる。これは、ユーザに関連付けられたショッピングカートに製品を追加する。ユーザデバイスはこのリクエストを送信して、商品をショッピングカートに追加し、外部フロントエンドシステム103に送ることができる。
【0021】
外部フロントエンドシステム103はカートページ(例えば、
図1D)を生成することができる。カートページはいくつかの実施形態ではユーザが仮想の「買物かご」に追加した商品をリストし、ユーザデバイスは、SRP、SDP、または他のページ上のアイコンをクリックするか、または他の方法で対話することによって、カートページをリクエストしてもよい。いくつかの実施形態では、カートページがユーザがショッピングカートに追加したすべての製品、ならびに各製品の数量、各製品のアイテム当たりの価格、関連する数量に基づく各製品の価格、PDDに関する情報、配送方法、出荷費用、ショッピングカート内の製品を修正するためのユーザインターフェース要素(例えば、数量の削除または修正)、他の製品を注文するかまたは製品の定期的な配送を設定するためのオプション、利息支払いを設定するためのオプション、購入を進めるためのユーザインターフェース要素などのカート内の製品に関する情報を列挙することができる。ユーザデバイスのユーザはショッピングカート内の商品の購入を開始するために、ユーザインターフェース要素(例えば、「今すぐ買う」と読むボタン)をクリックするか、または他の方法でユーザインターフェース要素と対話することができる。そうすると、ユーザデバイスは、このリクエストを送信して、外部フロントエンドシステム103への購入を開始することができる。
【0022】
外部フロントエンドシステム103は購入を開始するためのリクエストの受信に応じて、注文頁(例えば、
図1E)を発生することができる。注文頁はいくつかの実施形態ではショッピングカートからのアイテムを再リストし、支払及び出荷に関するインプットを要求する。例えば、注文ページはショッピングカート内のアイテムの購入者に関する情報(例えば、名前、住所、電子メールアドレス、電話番号)、受取人に関する情報(例えば、名前、住所、電話番号、配送情報)、出荷情報(例えば、配送および/または集荷の速度/方法)、支払情報(例えば、クレジットカード、銀行振込、小切手、記憶クレジット)、現金受領を要求するためのユーザインターフェース要素(例えば、税務目的のための)などを要求する区画を含むことができる。外部フロントエンドシステム103は、注文頁をユーザデバイスへ送信することが可能である。
【0023】
ユーザデバイスは注文頁に情報を入力し、その情報を外部フロントエンドシステム103に送信するユーザインターフェース要素をクリックするか、または他の方法で対話することができる。そこから、外部フロントエンドシステム103はショッピングカート内の製品との新しい注文の作成および加工を可能にするために、システム100内の様々なシステムに情報を送信することができる。
【0024】
いくつかの実施形態では、外部フロントエンドシステム103が売り手が注文に関する情報を送受信することを可能にするようにさらに構成されてもよい。
【0025】
内部フロントエンドシステム105はいくつかの実施形態では内部ユーザ(例えば、システム100を所有し、運営し、またはリースする団体の従業員)がシステム100内の1つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、ネットワーク101がシステムの提示を可能にして、ユーザが注文のための注文を配置できるようにする実施形態では、内部ユーザが注文に関する診断および統計情報を見たり、アイテム情報を修正したり、またはアイテムに関する統計を見直したりできるようにする、内部フロントエンドシステム105をウェブサーバとして実装することができる。例えば、内蔵フロントエンドシステム105は、アパッチHTTPサーバ、マイクロソフトインターネットインフォメーションサービス、NGINX等のソフトウェアを実行するコンピュータ又はコンピュータとして実現することができる。他の実施形態では、内蔵フロントエンドシステム105がシステム100に示されるシステムまたはデバイス(ならびに図示されない他のデバイス)からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求への応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【0026】
いくつかの実施形態では、内蔵フロントエンドシステム105がウェブキャッシングシステム、データベース、検索システム、支払いシステム、分析システム、注文監視システムなどのうちの1つまたは複数を含むことができる。一態様では内部フロントエンドシステム105がこれらのシステムのうちの1つまたは複数を備えることができ、別の態様では内部フロントエンドシステム105がこれらのシステムのうちの1つまたは複数に接続されたインターフェース(たとえば、サーバ間、データベース間、または他のネットワーク接続)を備えることができる。
【0027】
輸送システム107は、いくつかの実施形態ではシステム100内のシステムまたはデバイスとモバイルデバイス107A~107Cとの間の通信を可能にするコンピュータシステムとして実施することができる。いくつかの実施形態では、トランスポーテーションシステム107が1つまたは複数のモバイルデバイス107A~107C(例えば、携帯電話、スマートフォン、PDAなど)から受信することができる。例えば、いくつかの実施形態では、モバイルデバイス107A~107Cが配送作業員によって操作されるデバイスを含んでもよい。配送作業員は、正社員、臨時社員、または交替社員であってもよく、モバイルデバイス107A~107Cを利用して、ユーザによって注文された製品を含む荷物の配送を行うことができる。例えば、荷物を配信するために、配送作業員は、どの荷物を配信すべきか、およびそれをどこに配信すべきかを示す通知をモバイルデバイス上で受信することができる。配送位置に到着すると、配送作業員は荷物を(例えば、トラックの後ろに、または荷物の箱に)配置し、モバイルデバイスを使用して荷物上の識別子に関連するデータ(例えば、バーコード、イメージ、文字列、RFIDタグなど)を走査または他の方法で捕捉し、荷物を(例えば、前扉に置いたままにし、警備員を置いたままにし、受信者に渡すなどによって)配信することができる。いくつかの実施形態では、配送作業員が荷物の写真をキャプチャすることができ、および/またはモバイルデバイスを使用してシグネチャを取得することができる。モバイルデバイスは例えば、時刻、日付、GPS位置、写真、配送作業員に関連付けられた識別子、モバイルデバイスに関連付けられた識別子などを含む配送に関する情報を含む情報を輸送機関107に送信することができる。輸送システム107はシステム100内の他のシステムによるアクセスのために、この情報をデータベース(図示せず)に記憶することができる。輸送システム107はいくつかの実施形態ではこの情報を使用して、特定の荷物の位置を示す追跡データを準備し、他のシステムに送信することができる。
【0028】
いくつかの実施形態ではあるユーザが1つの種類のモバイルデバイスを使用することができる(例えば、永久作業員はバーコードスキャナ、スタイラス、および他のデバイスなどのカスタムハードウェアと共に専用のPDAを使用することができる)が他のユーザは他の種類のモバイルデバイスを使用することができる(例えば、一時的または移動作業員は既製の携帯電話および/またはスマートフォンを利用することができる)。
【0029】
いくつかの実施形態では、交通機関107がユーザをそれぞれのデバイスに関連付けることができる。例えば、輸送システム107はユーザ(例えば、ユーザ識別子、従業員識別子、または電話番号)とモバイルデバイス(例えば、国際移動装置アイデンティティ(IMEI)、国際移動加入識別子(IMSI)、電話番号、汎用一意識別子(UUID)、またはグローバル一意(GUID)によって表される)との間の関連を記憶することができる。トランスポートシステム107はこの関連付けを、配送上で受信されたデータと併せて使用して、とりわけ、作業員の位置、作業員の有効性、または作業員のスピードを決定するために、注文内のデータベースに格納されたデータを分析することができる。
【0030】
売り手ポータル109は、いくつかの実施形態では売り手または他の外部エンティティがシステム100内の1つまたは複数のシステムと電子的に通信することを可能にするコンピュータシステムとして実装され得る。例えば、売り手は、コンピュータシステム(図示せず)を利用して、売り手が売り手ポータル109を使用してシステム100を通して売りたい製品について、製品情報、注文情報、連絡先情報などをアップロードまたは提供することができる。
【0031】
出荷および注文追跡システム111はいくつかの実施形態では(例えば、デバイス102A~102Bを使用するユーザによって)顧客によって注文された製品を含む荷物の位置に関する情報を受信し、記憶し、転送するコンピュータシステムとして実装されてもよい。いくつかの実施形態では、出荷および注文追跡装置111は顧客が注文した製品を含む荷物を配送する出荷会社によって運営されるウェブサーバ(図示せず)からの情報をリクエストまたは記憶することができる。
【0032】
いくつかの実施形態では、出荷および注文追跡システム111がシステム100に示されたシステムからの情報をリクエストし、記憶することができる。例えば、出荷および注文追跡システム111は、輸送システム107にリクエストすることができる。上述のように、交通機関107はユーザ(例えば、配送作業員)または乗り物(例えば、配送車)のうちの1つまたは複数に関連付けられた1つまたは複数のモバイルデバイス107A~107C(例えば、携帯電話、スマートフォン、PDAなど)から受信することができる。いくつかの実施形態では、出荷および注文追跡装置111がフルフィルメントセンタ(例えば、フルフィルメントセンタ200)内の個々の製品の位置を決定するために、労働力管理システム(WMS)119にリクエストすることもできる。出荷および注文追跡システム111は輸送システム107またはWMS 119のうちの1つまたは複数からデータを要求し、それを処理し、要求に応じてそれをデバイス(たとえば、ユーザデバイス102Aおよび102B)に提示することができる。
【0033】
フルフィルメント(履行)最適化(FO)システム113はいくつかの実施形態では他のシステム(例えば、外部フロントエンドシステム103および/または出荷および注文追跡システム111)からのカスタマ注文のための情報を記憶するコンピュータシステムとして実装されてもよい。また、FOシステム113は、特定のアイテムがどこに保持されているか、またはどこに記憶されているかを記述する情報を記憶することもできる。たとえば、特定のアイテムは1つのフルフィルメントセンタにのみ格納でき、他の特定のアイテムは複数のフルフィルメントセンタに格納できる。さらに他の実施形態では、特定のフルフィルメントセンタが特定の組のアイテム(例えば、生鮮食品または冷凍食品)のみを格納するように設計されてもよい。FOシステム113はこの情報ならびに関連する情報(例えば、数量、サイズ、受領日、有効期限など)を格納する。
【0034】
また、FOシステム113は、商品毎に対応するPDD(約束配送日)を計算してもよい。PDDは、いくつかの実施形態では1つまたは複数の要因に基づくことができる。例えば、FOシステム113は製品に対する過去の需要(例えば、その製品がある期間中に何回注文されたか)、製品に対する予想需要(例えば、来るべき期間中にその製品を注文するために何人の顧客が予想されるか)、ある期間中にいくつの製品が注文されたかを示すネットワーク全体の過去の需要、来るべき期間中にいくつの製品が注文されることが予想されるかを示すネットワーク全体の予想需要、各フルフィルメントセンタ200に格納された製品の1つ以上のカウント、その製品に対する各製品、予想または現行注文などに基づいて、製品に対するPDDを計算することができる。
【0035】
いくつかの実施形態では、FOシステム113が定期的に(例えば、1時間ごとに)商品ごとにPDDを決定し、それを検索または他のシステム(例えば、外部フロントエンドシステム103、SATシステム101、出荷および注文追跡システム111)に送信するためにデータベースに格納することができる。他の実施形態では、FOシステム113が1つまたは複数のシステム(例えば、外部フロントエンドシステム103、SATシステム101、出荷および注文追跡システム111)から電子要求を受信し、オンデマンドでPDDを計算することができる。
【0036】
フルフィルメントメッセージングゲートウェイ115はいくつかの実施形態ではFOシステム113などのシステム100内の1つ以上のシステムから1つのフォーマットまたはプロトコルで要求または応答を受信し、それを別のフォーマットまたはプロトコルに変換し、変換されたフォーマットまたはプロトコルで、WMS 119または3パーティフルフィルメントシステム121A、121B、または121Cなどの他のシステムに転送するコンピュータシステムとして実装することができる。
【0037】
サプライチェーン管理(SCM)システム117は、いくつかの実施形態では予測機能を実行するコンピュータシステムとして実装することができる。例えば、SCMシステム117は例えば、製品に対する過去の需要、製品に対する予想される需要、ネットワーク全体の過去の需要、ネットワーク全体の予想される需要、各フルフィルメントセンタ200に格納された計数製品、各製品に対する予想または現行注文などに基づいて、特定の製品に対する需要の水準を予測することができる。この予測された水準およびすべてのフルフィルメントセンタにわたるそれぞれの製品の量に応じて、SCMシステム117は特定の製品に対する予測された需要を満たすのに充分な量を購入し、ストックするための1つまたは複数の購入注文を生成することができる。
【0038】
労働力管理システム(WMS)119は、いくつかの実施形態ではワークフローをモニタするコンピュータシステムとして実装されてもよい。例えば、WMS 119は個別イベントを示す個別デバイス(例えば、デバイス107A-107Cまたは119A-119C)からイベントデータを受信することができる。例えば、WMS 119は、荷物を走査するためにこれらのデバイスの1つの使用を示すイベントデータを受信してもよい。フルフィルメントセンタ200および
図2に関して以下で論じるように、フルフィルメントプロセス中に、荷物識別子(例えば、バーコードまたはRFIDタグデータ)は特定の段階で機械によってスキャンまたは読み取ることができる(例えば、自動またはハンドヘルドバーコードスキャナ、RFIDリーダ、高速カメラ、タブレット119A、モバイルデバイス/PDA 119B、コンピュータ119Cなどのデバイス)。WMS 119は荷物識別子、時刻、日時、位置、ユーザ識別子、または他の情報と共に、荷物識別子の走査または読取りを示す各々の事象を対応するデータベース(図示せず)に記憶することができ、この情報を他のシステム(例えば、出荷および注文追跡システム111)に提供することができる。
【0039】
WMS 119はいくつかの実施形態では1つまたは複数のデバイス(例えば、デバイス107A~107Cまたは119A~119C)を、システム100に関連付けられた1つまたは複数のユーザに関連付ける情報を記憶してもよい。例えば、いくつかの状況では、ユーザ(パートまたはフルタイムの従業員など)は、ユーザがモバイルデバイスを所有する(例えば、モバイルデバイスがスマートフォンである)という点で、モバイルデバイスに関連付けられてもよい。他の状況では、ユーザは、ユーザが一時的にモバイルデバイスの管理下にある(例えば、ユーザは日の始めにモバイルデバイスを借り、日中にそれを使用し、日の終わりにそれを返す)という点で、モバイルデバイスに関連付けられてもよい。
【0040】
WMS 119は、いくつかの実施形態ではシステム100に関連する各ユーザの作業ログを維持することができる。例えば、WMS 119は任意の割り当てられたプロセス(例えば、トラックのアンローディング、ピックゾーンからのアイテムのピッキング、仕分け装置ワーク、パッキングアイテム)、ユーザ識別子、位置(例えば、フルフィルメントセンタ200内のフロアまたはゾーン)、従業員によってシステム内を移動されたユニットの数(例えば、ピックされたアイテムの数、パックされたアイテムの数)、デバイスに関連付けられた識別子(例えば、デバイス119A~119C)などを含む、各従業員に関連付けられた情報を記憶することができる。いくつかの実施形態では、WMS 119がデバイス119A~119C上で動作するタイムキーピングシステムなどのタイムキーピングシステムからチェックインおよびチェックアウト情報を受信することができる。
【0041】
第三者フルフィルメント(3PL)システム121A~121Cは、いくつかの実施形態ではロジスティクスおよび製品のサードパーティプロバイダに関連するコンピュータシステムを表す。例えば、(
図2に関して以下に説明するように)いくつかの製品がフルフィルメントセンタ200に格納されている間、他の製品は、オフサイトで格納されてもよく、オンデマンドで生産されてもよく、またはフルフィルメントセンタ200に格納するために利用できなくてもよい。3PLシステム121A~121CはFOシステム113から(例えば、FMG 115を介して)注文を受信するように構成することができ、製品および/またはサービス(例えば、配送または設置)を顧客に直接的に提供することができる。いくつかの実施形態では3PLシステム121A~121Cのうちの1つまたは複数がシステム100の一部とすることができ、他の実施形態では3PLシステム121A~121Cのうちの1つまたは複数がシステム100の外部(例えば、サードパーティプロバイダによって所有または運営される)とすることができる。
【0042】
フルフィルメントセンタ自動システム(FC認証)123は、いくつかの実施形態では様々な機能を有するコンピュータシステムとして実装され得る。例えば、いくつかの実施形態では、FC認証123がシステム100内の1つまたは複数の他のシステムのためのシングルサインオン(SSO)サービスとして動作することができる。例えば、FC認証123はユーザが内部フロントエンドシステム105を介してログインすることを可能にし、ユーザが出荷および注文追跡系111においてリソースにアクセスするための同様の特権を有していることを決定し、ユーザが2回目のログイン処理を必要とせずにそれらの特権にアクセスすることを可能にしてもよい。他の実施形態では、FC認証123は、ユーザ(例えば、従業員)が自分自身を特定の作業に関連付けることを可能にしてもよい。例えば、従業員の中には、電子デバイス(デバイス119A~119Cなど)を持たない者もいれば、その代わりに、1日の過程中に、フルフィルメントセンタ200内でタスクからタスクへ、およびゾーンからゾーンへ移動してもよい。FC認証123は、それらの従業員は、彼らがどの仕事をしているか、および彼らが様々な時刻にどの区域にいるかを示すことを可能にするように構成されてもよい。
【0043】
労働管理システム(LMS)125は、いくつかの実施形態では従業員(フルタイムおよびパートタイムの従業員を含む)のための出勤および残業を記憶するコンピュータシステムとして実装されてもよい。例えば、LMS 125は、FC認証123、WMA 119、デバイス119A-119C、輸送装置107、及び/又はデバイス107A-107Cから受信することができる。
【0044】
図1Aに示される特定の構成は単なる例である。例えば、
図1AはFOシステム113に接続されたFC認証システム123を示すが、全ての実施形態がこの特定の構成を必要とするわけではない。実際、いくつかの実施形態では、システム100内のシステムがインターネット、イントラネット、WAN(ワイドエリアネットワーク)、MAN(メトロポリタンエリアネットワーク)、IEEE 802.11a/b/g/n規格に準拠する無線ネットワーク、専用線などを含む1つまたは複数の公衆またはプライベートネットワークを介して互いに接続され得る。いくつかの実施形態では、システム100内のシステムの1つ以上がデータセンター、サーバファームなどに実装された1つ以上の仮想サーバとして実装されてもよい。
【0045】
図2は、フルフィルメントセンタ200を示す。フルフィルメントセンタ200は、注文時に顧客に出荷するためのアイテムを格納する物理的な場所の実例である。フルフィルメントセンタ(FC)200は多数のゾーンに分割することができ、その各々を
図2に示す。これらの「ゾーン」はいくつかの実施形態ではアイテムを受け取り、アイテムを保管し、アイテムを取り出し、アイテムを出荷する処理の様々な段階の間の仮想分割と考えることができ、したがって、「ゾーン」は
図2に示されているが、ゾーンの他の分割も可能であり、いくつかの実施形態では
図2のゾーンを省略、複製、または修正することができる。
【0046】
インバウンドゾーン203は、
図1Aの装置100を使用して製品を販売しようとする売り手からアイテムを受け取るFC 200の領域を表す。例えば、売り手は、台車201を使用してアイテム202A及び202Bを配送することができる。アイテム202Aはそれ自体の出荷パレットを占有するのに十分な大きさの単一のアイテムを表すことができ、アイテム202Bは、空間を節約するために同じパレット上に一緒に積み重ねられた1組のアイテムを表すことができる。
【0047】
作業員はインバウンドゾーン203でアイテムを受け取り、コンピュータシステム(図示せず)を使用して、アイテムの破損および正当性を任意選択で検査することができる。例えば、作業員は、コンピュータシステムを使用して、アイテム202Aおよび202Bの数量をアイテムの注文数量と比較することができる。数量が合致しない場合、その作業員は、アイテム202Aまたは202Bのうちの1つまたは複数を拒否することができる。数量が一致すれば、作業員はそれらのアイテムを緩衝地帯205まで(例えば、1ドル、ハンドトラック、フォークリフト、手動で)移動させることができる。緩衝ゾーン205は例えば、予測される需要を満たすのに十分な量のアイテムがピッキングゾーンにあるため、ピッキングゾーンで現在必要とされていないアイテムのための一時保管領域であってもよい。いくつかの実施形態では、フォークリフト206が緩衝ゾーン205の周り、および入りゾーン203と落下ゾーン207との間でアイテムを移動させるように動作する。ピッキングゾーンにアイテム202Aまたは202Bが必要な場合(例えば、予想される需要のため)、フォークリフトは、アイテム202Aまたは202Bを落下ゾーン207に移動させることができる。
【0048】
ドロップゾーン207は、アイテムがピッキングゾーン209に移動される前にそれらを保管するFC 200の領域であってもよい。ピッキングタスクに割り当てられた作業員(「ピッカー」)はピッキングゾーン内のアイテム202Aおよび202Bに接近し、ピッキングゾーンのバーコードをスキャンし、モバイルデバイス(例えば、デバイス119B)を使用してアイテム202Aおよび202Bに関連するバーコードをスキャンすることができる。次いで、ピッカーはアイテムをピッキングゾーン209まで(例えば、それをカート上に置くか、またはそれを運ぶことによって)取り込むことができる。
【0049】
ピッキングゾーン209は、アイテム208が保管ユニット210に保管されるFC 200の領域であってもよい。いくつかの実施形態では、貯蔵ユニット210が物理的な棚、本棚、箱、運搬箱、冷蔵庫、冷凍庫、冷蔵庫などのうちの1つまたは複数を含むことができる。いくつかの実施形態では、ピッキングゾーン209が複数のフロアに編成されてもよい。いくつかの実施形態では、作業員または機械が例えば、フォークリフト、エレベータ、コンベアベルト、カート、ハンドトラック、台車、自動ロボットもしくはデバイス、または手動を含む多数の方法で、ピッキングゾーン209内にアイテムを移動させることができる。例えば、ピッカーは、アイテム202Aおよび202Bを降下ゾーン207の手押し車または台車に載せ、アイテム202Aおよび202Bをピッキングゾーン209まで歩くことができる。
【0050】
ピッカーは、保管ユニット210上の特定の空間のようなピッキングゾーン209内の特定のスポットにアイテムを配置する(又は「収納する」)命令を受け取ることができる。例えば、ピッカーはモバイルデバイス(例えば、デバイス119B)を使用してアイテム202Aを走査することができる。デバイスは例えば、通路、棚、及び位置を示す装置を使用して、ピッカーがアイテム202Aを収納すべき場所を示すことができる。次に、デバイスはアイテム202Aをその位置に格納する前に、その位置でバーコードを走査するようにピッカーを促すことができる。デバイスは(例えば、ワイヤレスネットワークを介して)
図1AのWMS 119のようなコンピュータシステムにデータを送信し、アイテム202Aがデバイス119Bを使用してユーザによってその位置に格納されたことを示すことができる。
【0051】
ユーザが注文を置くと、ピッカーは、保管ユニット210から1つまたは複数のアイテム208を取り出すための命令をデバイス119B上で受け取ることができる。ピッカーはアイテム208を取り出し、アイテム208上のバーコードを走査し、それを搬送メカニズム214上に置くことができる。搬送機構214はスライドとして表されているが、いくつかの実施形態では搬送機構がコンベヤーベルト、エレベータ、カート、フォークリフト、ハンドトラック、台車、カートなどのうちの1つまたは複数として実施することができる。次いで、アイテム208は、充填領域211に到達することができる。
【0052】
パッキングゾーン211は、アイテムがピッキングゾーン209から受け取られ、最終的に顧客に出荷するためにボックスまたはバッグにパッキングされる、FC 200の領域であってもよい。パッキングゾーン211において、受信アイテム(「リビン(rebin)作業員」)に割り当てられた作業員はピッキングゾーン209からアイテム208を受信し、それがどの注文に対応するかを決定する。例えば、リビン(rebin)作業員はアイテム208上のバーコードを走査するために、コンピュータ119Cなどのデバイスを使用することができる。コンピュータ119Cはどの注文アイテム208が関連付けられているかを視覚的に示すことができる。これは例えば、注文に対応する壁面216上の空間または「セル」を含むことができる。注文が完了すると(例えば、セルが注文のためのすべてのアイテムを含むため)、リビン(rebin)作業員は、注文が完了したことをパッキング作業員(または「パッカー」)に示すことができる。梱包業者はセルからアイテムを回収し、輸送のために箱または袋に入れることができる。その後、パッカーは例えば、フォークリフト、カート、ドリー、ハンドトラック、コンベヤーベルトを介して、又は他の方法で、箱又はバッグをハブゾーン213に送ることができる。
【0053】
ハブゾーン213は、パッキングゾーン211から全てのボックスまたはバッグ(「荷物」)を受け取るFC 200の領域であってもよい。ハブゾーン213内の作業員および/またはマシンは荷物218を検索し、それぞれの荷物が行こうとする配送領域の一部を決定し、荷物を適切なキャンプゾーン215にルーティングすることができる。例えば、配送領域が2つのより小さいサブ領域を有する場合、荷物は2つのキャンプゾーン215のうちの1つに進む。いくつかの実施形態では、作業員またはマシンが(例えば、デバイス119A~119Cのうちの1つを使用して)荷物を走査して、その最終的な宛先を決定することができる。荷物をキャンプゾーン215にルーティングすることは、例えば、荷物が向けられている地理的エリアの一部を(例えば、郵便番号に基づいて)決定することと、地理的エリアの一部に関連付けられたキャンプゾーン215を決定することとを含むことができる。
【0054】
キャンプゾーン215はいくつかの実施形態では1つまたは複数の建物、1つまたは複数の物理的な空間、または1つまたは複数のエリアを備えることができ、荷物は、ルートおよび/またはサブルートに分類するためにハブゾーン213から受け取られる。いくつかの実施形態ではキャンプゾーン215がFC 200から物理的に分離されているが、他の実施形態ではキャンプゾーン215がFC 200の一部を形成することができる。
【0055】
キャンプゾーン215内の作業員および/またはマシンは例えば、目的地と現存するルートおよび/またはサブルートとの照合、ルートおよび/またはサブルートごとの作業負荷の算出、時刻、出荷方法、荷物220を出荷する費用、荷物220内のアイテムに関連付けられたPDDなどに基づいて、荷物220がどのルートおよび/またはサブルートに関連付けられるべきかを決定することができる。いくつかの実施形態では、作業員またはマシンが(例えば、デバイス119A~119Cのうちの1つを使用して)荷物を走査して、その最終的な宛先を決定することができる。荷物220が特定のルートおよび/またはサブルートに割り当てられると、作業員および/またはマシンは、出荷される荷物220を移動させることができる。例示的な
図2において、キャンプゾーン215は、トラック222、かご226、および配送作業員224Aおよび224Bを含む。いくつかの実施形態では、トラック222が配送作業員224Aによって駆動されてもよく、配送作業員224AはFC 200の荷物を配信する常勤の従業員であり、トラック222はFC 200を所有し、リースし、または運営する同じ企業によって所有され、リースされ、または運営される。いくつかの実施形態では、自動車226が配送作業員224Bによって駆動されてもよく、ここで、配送作業員224Bは必要に応じて(例えば、季節的に)送達する「屈曲」または時折の作業員である。自動車226は、配送作業員224Bによって所有され、リースされ、または操作され得る。
【0056】
本開示の一態様によれば、局所性鋭敏型ハッシュアルゴリズム(LSH)と局所外れ値因子アルゴリズム(LOF)との組み合わせを使用して不正データ点を検出するためのコンピュータ実装システムは、命令を記憶する1つまたは複数のメモリデバイスと、動作を実施するために命令を実行するように構成されている1つまたは複数のプロセッサとを備えることができる。不正データ点は、限定ではないが、不正な支払い、アカウントの乗っ取り、不正な転売、および購入者エンティティの不正を含み得る。不正な支払いとは、権限のない個人によって実施されるあらゆる種類の虚偽のまたは違法な取引を指し得る。アカウントの乗っ取りとは、詐欺師または他の権限のない個人が、ボットを使用して被害者の銀行口座またはオンラインeコマースアカウントに違法にアクセスする、なりすまし犯罪の一形態を指し得る。アカウント乗っ取り攻撃が成功すると、被害者の侵害されたアカウントからの不正取引および不正な買い物につながる可能性がある。転売とは、詐欺師または他の権限のない個人が盗品を転売するためのあらゆる種類の活動を指し得る。購入者エンティティの不正とは、詐欺師または他の権限のない個人が、不正なエンティティ(偽のIDなど)を使用して商品を購入するあらゆる種類の活動を指し得る。いくつかの実施形態では、開示された機能およびシステムは、内部フロントエンドシステム105の一部として実装されてもよい。好ましい実施形態は、開示された機能およびシステムを内部フロントエンドシステム105上で実装することを含むが、当業者には、他の実施態様が可能であることが理解されよう。
【0057】
図3Aは、内部フロントエンドシステム105上でLSHとLOFとの組み合わせを使用して不正データ点を検出するための例示的な方法300を示している。この方法またはその一部は、内部フロントエンドシステム105によって実施されてもよい。例えば、システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると、システムに
図3Aに示されるステップを実施させる命令を記憶するメモリとを含むことができる。
【0058】
ステップ310において、内部フロントエンドシステム105は、内部ユーザに関連付けられているユーザデバイス(図示せず)から1つまたは複数の不正データ点を検出することを求める要求を受信することができる。上述したように、内部フロントエンドシステム105は内部ユーザ(例えば、システム100を所有し、運営し、またはリースする団体の従業員)が、
図1Aに関連して上述したようにシステム100内の1つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、外部フロントエンドシステム105が、データベース(図示せず)に記憶された1つまたは複数の不正データ点の検出を要求するユーザデバイスからのユーザ入力(例えば、ボタン、キーボード、マウス、ペン、タッチスクリーン、または他のポインティングデバイスからの)を受信することができる。内部フロントエンドシステム105は、
図1Aに関連して上述したように、ウェブキャッシングシステム、データベース、検索システム、支払いシステム、分析システム、注文監視システムなどのうちの1つまたは複数を含み、取引と関連付けられるデータ点をデータベースに記憶することができる。例えば、データ点は、商業者ID、取引日、平均金額/取引/日、取引金額、取引のタイプ、取引のリスクレベル、および1日の支払拒否平均額を含む電子取引を表してもよい。内部フロントエンドシステム105は、自動監査システムによってデータベース内のデータ点を修正することができる。
【0059】
ステップ320において、内部フロントエンドシステム105は、すべてのデータ点の特徴ベクトルを構築することができる。内部フロントエンドシステム105は、点を記憶するデータベースにアクセスし、データ点の属性を抽出することができる。特徴または変数とも呼ばれる属性は、データ点を特徴付けることができる。抽出された属性に基づいて、内部フロントエンドシステム105は、データ点を正常または異常のいずれかに分類することができる。データ点の属性は、限定ではないが、商業者ID、取引日、取引または1日あたりの平均金額、取引金額、取引のタイプ、取引のリスクレベル、および1日の平均支払拒否額を含んでもよい。内部フロントエンドシステム105は、抽出された属性を数値にスケーリングすることができる。内部フロントエンドシステム105は、(例えば、以下で説明する
図3Bのステップ341のように)スケーリングされた属性を、ランダムベクトルを用いてドット積を計算する際に使用するための特徴ベクトルに変換することができる。例えば、
図4Aに示されるように、2次元データ点401、402、403、404、および405は、散乱したデカルト座標として表される。データ点は点の集合として表示され、各々がx軸上の位置を決定する1つの変数の値と、y軸上の位置を決定する他の変数の値とを有する。例えば、x軸は、抽出およびスケーリングされている属性のうちの1つである取引のタイプを表してもよく、y軸は、抽出およびスケーリングされている他の属性である取引額を表してもよい。2次元データ点401、402、403、404、および405は、ランダムベクトルを使用してドット積を計算するために特徴ベクトルに構築される。例えば、内部フロントエンドシステム105は、データ点401がx成分1およびy成分1を有するとき、2次元ベクトル(1,1)として変換することができる。同様に、内部フロントエンドシステム105は、データ点402を(1.5,1.5)として、データ点403を(2,1)として、データ点404を(-2,2.5)として、データ点405を(-2,-2)として表すことができる。計算は、
図3Bのステップ341に関して以下で説明される。
図4Aは2次元データ点に関して説明されているが、当業者には、多次元データ点が不正データ点を検出するために使用されてもよいことが認識されよう。
【0060】
データ点は、1つまたは複数のシステムによって保持されている1つまたは複数のデータベースから検索することができる。例えば、データ点は、例えば、顧客によって出された注文のフルフィルメントに関連してフルフィルメント最適化システム113によって生成されたデータを含んでもよい。データは、付加的または代替的に、注文および顧客注文および配送ステータスの監視に関連して、例えば、SATシステム101によって生成されるデータを含んでもよい。いくつかの実施形態では、取引データは、システムにおける各取引を一意に識別する取引IDを含むことができ、残りのデータアイテムのいくつかまたはすべては、取引IDに基づいて1つまたは複数のデータベースクエリを介して適切なデータベースから検索することができる。
【0061】
ステップ330は、
図3Bのステップ340に関してさらに説明される。ステップ340(
図3B)において、内部フロントエンドシステム105は、各々の長さがdのk個のランダムベクトルを生成することができ、ここで、kはビット単位のハッシュ値のサイズであり、dは構築されている特徴ベクトルの次元である。例えば、
図4Bに示されるように、内部フロントエンドシステム105は、デカルト座標において3つの(k)2次元(d)ベクトルA、B、およびCを生成することができる。ベクトルA(5,2)は、そのx成分が5、y成分が2で表され、ベクトルB(1,3.5)は、そのx成分が1、y成分が3.5で表され、ベクトルC(-2,3.5)は、そのx成分が-2、y成分が3.5で表される。
【0062】
ステップ341において、内部フロントエンドシステム105は、生成されているランダムベクトルと構築されている特徴ベクトルによって表されるデータ点とのドット積を計算することができる。例えば、内部フロントエンドシステム105は、ベクトルA(5,2)とデータ点401(1,1)とのドット積を計算することができ、計算の結果は7である。ドット積の計算は、(ランダムベクトルのx成分×特徴ベクトルのx成分)+(ランダムベクトルのy成分×特徴ベクトルのy成分)によって実施される。さらなる例として、内部フロントエンドシステム105は、データ点401とベクトルB(1,3.5)およびC(-2,3.5)とのドット積を計算することができ、結果はそれぞれ4.5および1.5である。
【0063】
ステップ342において、内部フロントエンドシステム105は、ステップ341からのドット積の結果にビット単位の値を割り当てることができる。ドット積の結果が正の場合、内部フロントエンドシステム105はビット値を1として割り当てることができ、そうでない場合、システムは0を割り当てることができる。例えば、
図4Cに示されるように、内部フロントエンドシステム105は、正のドット積結果(ステップ341で計算されるものとしては7)を有するデータ点401に1を割り当てることができる。
図4Cは、ベクトルAに垂直なベクトルA1を提示し得る。ベクトルA1は、割り当てられているビット値1または0によってデータ点を分割することができる。
図4Cから、ビット値1は、ベクトルA1の右側にあるようなデータ点401、402、および403に割り当てられ、ビット値0は、ベクトルA1の左側にあるようなデータ点404および405に割り当てられる。同様に、
図4Dは、ビット値1がデータ点401、402、403、および404に割り当てられ、ビット値0がデータ点405に割り当てられていることを示し、
図4Eは、ビット値1がデータ点401、402、および404に割り当てられ、ビット値0がデータ点403および405に割り当てられていることを示す。
【0064】
ステップ343において、内部フロントエンドシステム105は、割り当てられているすべてのビット値を連結することができる。例えば、内部フロントエンドシステム105は、ステップ342にいてデータ点401に割り当てられているビット値を連結することができる。システムは、ベクトルAとデータ点401との間のドット積の結果である1を、最下位ビットである左端のビットに割り当てることができる。さらなる例として、内部フロントエンドシステム105は、計算されている順序で割り当てられているすべてのビット値を割り当てることができ、したがって、k番目の割り当てられているビット値は、最上位ビット、すなわち右端のビットに割り当てられる。データ点401の連結の結果は111であり、これはハッシュ値を表す。
【0065】
ステップ344において、内部フロントエンドシステム105は、ドット積計算、ビット単位の値の割り当て、および連結が、ステップ320から構築されているすべての特徴ベクトルに対して実施されたか否かを決定することができる。上記のステップがすべての構築されている特徴ベクトルに対して実施されていない場合、内部フロントエンドシステム105は、ステップ341において、実施されていない構築されている特徴ベクトルのドット積を計算することができる。上記のステップが、構築されているすべての特徴ベクトルに対して実施されている場合、内部フロントエンドシステム105は、ステップ345において、局所性鋭敏型ハッシュテーブルを生成することができる。ハッシュテーブルが生成されると、内部フロントエンドシステム105は、データ点を、生成されたハッシュテーブル内のセル内のステップ343からの同じ連結ビット値(ハッシュ値)に割り当てることができる。例えば、
図4Eに示されるように、データ点401および402は、生成されたハッシュテーブルであるテーブル1のハッシュ値111を表すセルに割り当てられ、データ点403は、ハッシュ値011を表すセルに割り当てられ、データ点404は、ハッシュ値110を表すセルに割り当てられ、データ点405は、ハッシュ値000を表すセルに割り当てられる。
【0066】
ステップ346において、内部フロントエンドシステム105は、ランダムベクトルの数を表すkが事前定義された数に等しいか否かを決定することができる。kが事前定義された数と等しくない場合、システムは、ステップ346において、k=k+1によってkを更新することができる。このプロセスから、より多くの局所性鋭敏型ハッシュテーブルが生成され、最近割り当てられたハッシュ値に基づいて、データ点がハッシュテーブルのセルに割り当てられる。kが事前定義された数に等しい場合、システムは、ステップ350(
図3Aのステップ360に対応する)において、各データ点の最良の隣接データ点を割り当てることができる。最良の隣接データ点は、構築されているハッシュテーブル内で上記データ点と同じセルに最も頻繁に配置される。例えば、データ点401について、データ点401と402の両方がハッシュテーブル、すなわちテーブル1内のセル111に配置されるため、データ点402は最良の隣接データ点として割り当てられる。
【0067】
図3Aのステップ360の後、プロセスは、
図3Cのステップ371に移動する。ステップ371において、内部フロントエンドシステム105は、データ点とそれに割り当てられている最良の隣接データ点との間の平均距離を計算することができる。例えば、データ点401について、内部フロントエンドシステム105は、データ点401とデータ点402、すなわち最良の隣接データ点との間の平均距離を計算することができる。
【0068】
ステップ372において、内部フロントエンドシステム105は、各データ点の局所到達可能密度を計算することができる。局所到達可能密度は、次の点または点クラスタに到達するために点が移動する必要がある距離を示す。局所到達可能密度を計算するアルゴリズムは、
【数1】
である。式中、
【数2】
は、すべての最良の隣接データ点のすべてのk-distance[best neighbor data points](ステップ371において計算される)を集約し、size of result[data point]は、隣接データ点の数を指し得る。例えば、size of result[401]は、
図4Fのテーブル1によると1(データ点402)である。
【0069】
ステップ373において、内部フロントエンドシステム105は、局所外れ値因子を適用することによって、各データ点の外れ値スコアを計算することができる。外れ値スコアを計算するアルゴリズムは
【数3】
である。式中、
【数4】
は、データ点に関連付けられているすべての最良の隣接データ点の局所到達可能密度を計算し、計算されている局所到達可能密度を集約し、集約された密度を、ステップ372において計算されているデータ点の計算されている局所性密度で除算する。
【0070】
ステップ373の後、プロセスは
図3Aに戻る。ステップ390(
図3A)において、内部フロントエンドシステム105は、ステップ372において計算されている外れ値スコアに基づいて、不正データ点を検出することができる。外れ値スコアは、1つのデータ点の外れ値スコアが事前定義された一貫性の程度を下回った場合に、データ点が不正であるか否かを示すことができる。例示的な不正データ点404および405が
図4A~
図4Fに示されている。例えば、内部フロントエンドシステム105は、データ点の外れ値スコアが下位95パーセントを下回ったときに、不正データ点404および405を決定することができる。
【0071】
いくつかの実施形態では、内部フロントエンドシステム105は、不正データ点を検出した後、検出された不正データ点に関連付けられている電子取引に関連付けられている買い手/売り手をブラックリストに載せることができる。いくつかの実施形態では、ブラックリストに載せられた買い手/売り手は、内部フロントエンドシステム105がブラックリストに載せられた買い手/売り手をブラックリストから除外するまで、電子取引を行うことができない。
【0072】
本開示はその特定の実施形態を参照して示され、説明されてきたが、本開示は修正なしに、他の環境において実施することができることが理解されよう。前述の説明は、例示の目的で提示されている。これは、網羅的ではなく、開示された正確な形態または実施形態に限定されない。当業者には、開示された実施形態の明細書および実施を考慮することによって、修正および適合が明らかとなろう。さらに、開示された実施形態の態様はメモリに記憶されるものとして記載されているが、当業者にはこれらの態様が二次記憶デバイス、例えば、ハードディスクもしくはCD ROM、または他の形態のRAMもしくはROM、USB媒体、DVD、ブルーレイ、または他の光学駆動媒体などの他のタイプのコンピュータ可読媒体に記憶されてもよいことが理解されよう。
【0073】
記載された説明および開示された方法に基づくコンピュータプログラムは、熟練した開発者の技術の範囲内である。様々なプログラムまたはプログラムモジュールは当業者に知られている技法のいずれかを使用して作成することができ、または既存のソフトウェアに関連して設計することができる。例えば、プログラム・セクションまたはプログラムモジュールは、.Net Framework、.Net Compact Framework(およびVisual Basic、Cなどの関連言語)、Java、C++、Objective-C、HTML、HTML/AJAXの組み合わせ、XML、もしくはJavaアプレットを含むHTMLの中で、またはその手段によって設計することができる。
【0074】
さらに、例示的な実施形態が本明細書で説明されてきたが、本開示に基づいて当業者によって理解されるように、同等の要素、修正、省略、組み合わせ(例えば、様々な実施形態にわたる態様の)、適応、および/または変更を有する任意のおよびすべての実施形態の範囲が可能である。クレームの限定はクレームに使用されている文言に広く基づいて解釈されるものとし、本明細書に記載されている例に限定されるものではなく、または出願手続中に解釈されるものとする。実施例は、非排他的であると解釈されるべきである。さらに、開示された方法のステップは、ステップを並べ替えること、および/またはステップを挿入もしくは削除することを含む、任意の方法で修正されてもよい。したがって、本明細書および実施例は単に例示的なものとみなされ、真の範囲および精神は以下の特許請求の範囲およびそれらの均等物の全範囲によって示されることが意図される。