以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、衣服などの商品が販売される電子商取引システムに対して本発明を適用した場合の実施形態である。
[1.電子商取引システムの構成及び機能概要]
先ず、本実施形態に係る電子商取引システムSの構成及び機能概要について、図1を用いて説明する。図1は、本実施形態に係る電子商取引システムSの概要構成の一例を示す図である。
図1に示すように、電子商取引システムSは、電子商店街サーバ1と、複数の店舗端末2と、複数のユーザ端末3と、を含んで構成されている。そして、電子商店街サーバ1と各店舗端末2及び各ユーザ端末3とは、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
電子商店街サーバ1は、商品の購入が可能な電子商店街に関する各種処理を実行するサーバ装置である。販売される商品には、ユーザが身に付けることが可能な商品が含まれる。身に付けることが可能な商品の種類は、例えば衣服、帽子、手袋、靴の少なくとも1つを含んでもよい。電子商店街を利用するユーザは、電子商店街において所望の店舗から所望の商品を購入することができる。なお本発明が適用可能なウェブサイトは電子商店街に限られるものではない。例えば、単一の販売元から商品が販売される電子商取引のウェブサイトに本発明が適用されてもよい。
電子商店街サーバ1は、本発明における情報処理装置の一例である。電子商店街サーバ1は、店舗端末2やユーザ端末3からのリクエストに応じて、例えば商品等に関する情報のウェブページを送信したり、商品の検索や購入等に関する処理を行ったりする。また電子商店街サーバ1は、仮想試着を提供する。仮想試着は、ユーザが商品を購入する前に、商品を様々なサイズで試着したときユーザのイメージを、その商品のウェブページ上で仮想的にユーザが確認することができるサービスである。仮想試着を利用することにより、ユーザは、商品がユーザの身体に合うか否かを確認することができる。仮想試着を実現するためには、ユーザの身体サイズを取得する必要がある。電子商店街サーバ1は、商品の購入履歴に基づいて、ユーザの身体サイズを推定する。身体サイズは、例えば身長、頭周り、首周り、肩幅、胸囲、胴囲、腕の長さ、胴の長さ、手のひらの幅、指の長さ、脚の長さ、腰周り、股周り、足首周り、足長、足幅の少なくとも1つの寸法を含んでもよい。なお推定された身体サイズの用途は仮想試着に限定されるものではない。例えば、電子商店街サーバ1は、推定した身体サイズを表示するウェブページをユーザ端末3へ送信してもよい。
店舗端末2は、電子商店街に出店している店舗の従業員等により利用される端末装置である。店舗端末2は、従業員等からの操作に基づいて電子商店街サーバ1等のサーバ装置にアクセスする。これにより、店舗端末2は、サーバ装置からウェブページを受信して表示する。従業員は、店舗端末2を利用することにより、例えば販売する商品の情報を電子商店街に登録したり、商品の注文内容を確認したりする。
ユーザ端末3は、電子商店街から商品を購入するユーザの端末装置である。ユーザ端末3は、ユーザからの操作に基づいて電子商店街サーバ1にアクセスすることにより、電子商店街サーバ1からウェブページを受信して表示する。ユーザ端末3には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。ユーザ端末3としては、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、スマートフォン等の携帯情報端末、携帯電話機等が用いられる。
[2.電子商店街サーバの構成]
次に、電子商店街サーバ1の構成について、図2乃至図4を用いて説明する。図2は、本実施形態に係る電子商店街サーバ1の概要構成の一例を示すブロック図である。図2に示すように、電子商店街サーバ1は、通信部11と、記憶部12と、入出力インターフェース13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース13とは、システムバス15を介して接続されている。
通信部11は、ネットワークNWに接続して、店舗端末2やユーザ端末3等との通信状態を制御するようになっている。
記憶部12は、例えば、ハードディスクドライブ等により構成されている。記憶部12には、会員DB12a、カタログDB12b、標準身体サイズDB12c、商品DB12d、購入履歴DB12e、レビューDB12f等のデータベースが構築されている。「DB」は、データベースの略語である。
図3は、データベースに記憶される内容の一例を示す図である。会員DB12aには、電子商店街に会員登録しているユーザに関する会員情報が記憶される。具体的に、会員DB12aには、ユーザID、パスワード、ニックネーム、氏名、生年月日、性別、郵便番号、住所、電話番号、電子メールアドレス等のユーザの属性が、ユーザごとに対応付けて記憶される。
カタログDB12bには、身に付ける商品の基本的な情報であるカタログ情報が記憶される。具体的に、カタログDB12bには、プロダクトコード、ブランドID、カテゴリーID、商品名、1又は複数の商品寸法情報等の商品の属性が、商品ごとに対応付けて記憶される。プロダクトコードは、商品を識別する識別情報である。プロダクトコードは、例えばJAN(Japan Article Number)コード、EAN(European Article Number)コード又はUPC(Universal Product Code)等であってもよい。ブランドIDは、商品が属するブランドを識別する識別情報である。ノーブランドの商品の場合、ブランドIDはカタログDB12bには記憶されない。カテゴリーIDは、商品が属するカテゴリーを識別する識別情報である。カテゴリーは木構造で階層的に定義されていてもよい。最上位のカテゴリーとして、例えば「レディースファッション」、「メンズファッション」等がある。「レディースファッション」の下層のカテゴリーとして、例えば「トップス」、「ボトムス」、「ワンピース」等がある。「トップス」の下層のカテゴリーとして、例えば、「Tシャツ」、「ポロシャツ」、「カットソー」、「シャツ」等がある。「Tシャツ」の下層のカテゴリーとして、例えば「半袖Tシャツ」、「長袖Tシャツ」、「七分袖Tシャツ」等がある。「ボトムス」の下層のカテゴリーとして、例えば「スカート」、「パンツ」、「ジーンズ」等がある。「スカート」の下層のカテゴリーとして、例えば「ミニスカート」、「ひざ丈スカート」、「ロングスカート」等がある。カタログDB12bに記憶されるカテゴリーIDは、例えば最下層のカテゴリーのカテゴリーIDであってもよい。商品寸法情報は、商品の各部の寸法を示す。対象の商品で提供されている商品サイズごとに、その商品サイズに対応付けて商品寸法情報がカタログDB12bに記憶される。商品サイズは、商品のサイズを示す記号、文字又は数字である。商品は、複数のサイズで提供されてもよいし、1つのサイズのみで提供されてもよい。例えば商品サイズはS、M、L等で表されてもよい。帽子の商品サイズは、例えば頭周りで示されてもよい。靴の商品サイズは、例えば足長で示されてもよい。手袋の商品サイズは、例えば手のひらの幅で示されてもよい。各商品寸法情報には、商品サイズに対応した寸法が含まれる。商品の部分の寸法として、例えば頭周り、首周り、肩幅、胸囲、身幅、袖丈、ゆき、着丈、身丈、手のひらの幅、指の長さ、股上、股下、腰周り、股周り、裾周り、足長、足幅の少なくとも1つを含んでもよい。商品に応じて、或いは商品のカテゴリーや商品が着せられる身体部位に応じて、商品寸法情報に如何なる部位の寸法が含まれるかが予め定められてもよい。例えばトップスの商品寸法情報は、首周り、肩幅、胸囲、身幅、袖丈、ゆき、着丈、身丈の少なくとも1つを含んでもよい。ボトムスの商品寸法情報は、股上、股下、腰周り、股周り、裾周りの少なくとも1つを含んでもよい。靴の商品寸法情報は、足長、足幅の少なくとも1つを含んでもよい。
標準身体サイズDB12cには、商品サイズに対する標準的な身体サイズが記憶されている。具体的に、標準身体サイズDB12cには、商品サイズ及び身体寸法情報が商品サイズごとに対応付けて記憶される。身体寸法情報は、各身体部位の標準的な寸法を含む。或いは、身体寸法情報は、各身体部位の標準的な寸法の範囲を含んでもよい。
商品DB12dには、電子商店街で販売されている商品に関する商品情報が記憶される。商品情報は、店舗により登録される情報を含む。具体的に、商品DB12dには、商品情報として、店舗ID、商品ID、プロダクトコード、商品名、サイズリスト、説明テキスト等が、店舗が販売する商品ごとに対応付けて記憶される。店舗IDは、商品の販売元の店舗を示す。商品IDは、店舗が商品を識別するために店舗が決定した識別情報である。サイズリストは、店舗が販売する商品の商品サイズのリストである。店舗は、複数のサイズで商品を販売してもよいし、1つのサイズのみで商品を販売してもよい。商品DB12dに記憶されたプロダクトコード及びサイズリストを参照することにより、システム制御部14は、カタログDB12bに記憶された商品寸法情報から、店舗が販売する商品の各部の寸法を取得することができる。説明テキストは、商品に関する説明を示す。説明テキストは商品のウェブページに表示される。
購入履歴DB12eには、ユーザによる商品の購入の履歴が登録される。具体的に、購入履歴DB12eには、購入履歴として、ユーザID、店舗ID、商品ID、プロダクトコード、購入日時、商品サイズ、返品フラグ、返品受付日時等が対応付けて登録される。ユーザIDは、商品を購入したユーザを示す。店舗IDは、購入された商品の販売元を示す。商品ID及びプロダクトコードは、購入された商品を示す。購入日時は、商品が購入された日時を示す。商品サイズは、購入された商品のサイズを示す。返品フラグは、商品を購入した後にユーザがその商品を返品したか否かを示す。返品受付日時は、商品の返品の要求が受け付けられた日時を示す。
レビューDB12fには、ユーザによる商品のレビューに関するレビュー情報が記憶される。例えば、商品を購入したユーザのみが、その商品に対するレビューを電子商店街に投稿することができる。電子商店街において、ユーザは他のユーザが投稿したレビューを閲覧することができる。具体的に、レビューDB12fには、ユーザID、店舗ID、商品ID、プロダクトコード、レビュー本文等が対応付けて記憶される。ユーザIDは、レビューを投稿したユーザを示す。店舗IDは、レビューの対象とされた商品の販売元を示す。商品ID及びプロダクトコードは、レビューの対象とされた商品を示す。レビュー本文は、レビューを示す文章である。
記憶部12には、更にウェブページを表示するための各種データ、例えばHTML(HyperText Markup Language)文書、XML(Extensible Markup Language)文書、画像データ、テキストデータ、電子文書等が記憶されている。また、記憶部12には、各種の設定値が記憶されている。
また、記憶部12には、オペレーティングシステム、DBMS(Database Management System)、サーバプログラム等の各種プログラムが記憶されている。サーバプログラムは、電子商店街に関する各種処理をシステム制御部14に実行させるプログラムである。サーバプログラムがシステム制御部14に実行させる処理は、ユーザの身体サイズの推定を含む。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしてもよいし、磁気テープ、光ディスク、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。また、サーバプログラム等は、プログラム製品であってもよい。
入出力インターフェース13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
システム制御部14は、CPU(Central Processing Unit)14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。CPU14aは、プロセッサの一例である。なお、本発明は、CPUと異なる様々なプロセッサに対しても適用可能である。記憶部12、ROM14b及びRAM14cは、それぞれメモリの一例である。なお、本発明は、ハードディスク、ROM及びRAMと異なる様々なメモリに対しても適用可能である。
なお、電子商店街サーバ1が、複数のサーバ装置で構成されてもよい。例えば、商品の検索、購入等の処理を行うサーバ装置、ウェブページを送信するサーバ装置、身体サイズを推定する処理を行うサーバ装置、及びデータベースを管理するサーバ装置等が、互いにLAN等で接続されてもよい。
[3.システム制御部の機能概要]
次に、図4乃至図9Bを用いて、システム制御部14の機能概要について説明する。図4は、本実施形態に係る電子商店街サーバ1のシステム制御部14の機能ブロックの一例を示す図である。システム制御部14は、CPU14aが、サーバプログラム等のプログラムに含まれる各種コードを読み出し実行することにより、図4に示すように、ユーザ特定部141、商品特定部142、推定部143等として機能する。ユーザ特定部141は、本発明におけるユーザ特定手段の一例である。商品特定部142は、本発明における商品特定手段の一例である。推定部143は、本発明における推定手段、分布取得手段及び寸法取得手段のそれぞれの一例である。
システム制御部14は、購入履歴が示す購入された商品及びそのサイズに基づいて、ユーザの身体サイズを推定する。身体サイズが推定されるユーザを、対象ユーザという。対象ユーザが購入したことがある商品のサイズに基づいて、対象ユーザの身体サイズを或る程度推定することは可能である。しかしながら、商品サイズの数は限られている。例えば、XS、S、M、L、XLの商品サイズがあったとしても、5種類の身体サイズしか推定することができない。そのため、1つの商品サイズに対応する身体サイズの範囲は或る程度広くなる。例えばMサイズのトップスに対応するユーザの胸囲の範囲が75〜85cmであると仮定する。この場合に、Mサイズのトップスを購入したユーザの胸囲は80cmであると推定した場合、実際には胸囲が75cmであるユーザや85cmであるユーザの胸囲も80cmであると推定される可能性がある。実際の胸囲と推定された胸囲との差は5cmもある。そこで、システム制御部14は、対象ユーザの購入履歴を用いるとともに、対象ユーザと異なるユーザの購入履歴も用いて、対象ユーザの身体サイズを推定する。
寸法が推定される身体部位に応じて、用いられる購入履歴の商品が変わる。その理由は、同一ユーザであっても、商品が着せられる身体部位に応じて、ユーザが選択する商品サイズが変わる可能性があるからである。上半身に含まれる身体部位の寸法を推定する場合、トップスの購入履歴が用いられる。トップスに加えてワンピースの購入履歴が用いられてもよい。下半身に含まれる身体部位の寸法を推定する場合、ボトムスの購入履歴が用いられる。足に含まれる身体部位の寸法を推定する場合、靴の購入履歴が用いられる。全身の各部の寸法を推定する場合、トップス、ボトムス、靴のそれぞれの購入履歴が用いられる。システム制御部14は、商品が着せられる身体部位全部の寸法を推定してもよいし、一部の身体部位の寸法を推定してもよい。
[3−1.参照ユーザの特定]
ユーザ特定部141は、対象ユーザと異なるユーザの中から、対象ユーザの推定のために購入履歴が用いられるユーザを特定する。特定されるユーザを、参照ユーザという。具体的に、ユーザ特定部141は、以下の条件1及び2の両方を満たすユーザを特定する。
条件1:対象ユーザが購入したことがある商品と同一の商品を購入したことがあるユーザであること(条件1−1)、又は対象ユーザが購入したことがある商品とブランドが同一である商品を購入したことがあるユーザであること(条件1−2)。
条件2:複数の商品サイズのうち購入する商品のサイズとして最も多く選択したサイズが、対象ユーザにより最も多く選択されたサイズと同一であること。
条件1は、参照ユーザが、対象ユーザと同一商品又は同一ブランドの商品を購入したときの商品サイズを推定に利用するための条件である。条件1として、条件1−1又は条件1−2が用いられる。対象ユーザと同一商品を購入したことを条件とする理由は、各商品サイズに対応する商品の各部分の寸法、すなわち各身体部位の寸法を一致させるためである。同じ商品サイズの商品の中にも、商品によっては少なくともその一部分の寸法が他の商品の対応する部分の寸法と異なる場合がある。同一ブランドにより生産又は販売されている複数の商品の各部分の寸法は、互いに同一又は略同一である蓋然性が高い。そのため、ユーザ特定部141は、対象ユーザと同一ブランドの商品を購入したユーザも、参照ユーザに含めてもよいし含めなくてもよい。
条件2は、対象ユーザの身体サイズと同一範囲内にある身体サイズのユーザを特定するための条件である。複数の商品サイズのうち購入する商品のサイズとして対象ユーザが選択したサイズを、通常サイズという。通常購入する商品のサイズが同一であるユーザの身体サイズは、そのサイズに対応する所定範囲に含まれる蓋然性が高い。通常サイズから、対象ユーザの身体サイズを大まかに推定することは可能である。しかしながら、それは本実施形態における身体サイズの推定の最終結果ではない。
ユーザ特定部141は、参照ユーザの特定に条件1及び2のみを用いてもよい。或いは、ユーザ特定部141は、条件1及び2に加えて、以下の条件3をも満たすユーザのみを、参照ユーザとして特定してもよい。
条件3:購入した商品のサイズについての意見を投稿したことがあるユーザであること(条件3−1)、又は購入した商品を返品した後に返品した商品のサイズとは異なるサイズで、返品した商品と同一の商品を購入したことがあるユーザであること(条件3−2)。
条件3は、商品のサイズ選びにこだわりのあるユーザを参照ユーザとして特定するための条件である。サイズ選びにこだわりのあるユーザが選択したサイズの商品の方が、こだわりのないユーザが選択したサイズの商品よりも、ユーザの身体に合っている蓋然性が高い。そのため、サイズ選びにこだわりのある蓋然性があるユーザの購入履歴を用いることで、対象ユーザの身体サイズの推定精度を高めることができる。また、購入履歴を用いられるユーザの数を減らすことで、身体サイズの推定のための処理負荷を低減させることができる。条件3として、条件3−1及び条件3−2の少なくとも何れか一方が用いられてもよい。条件3−1及び条件3−2の両方が用いられる場合、ユーザ抽出部141は、条件3−1及び条件3−2の少なくとも何れか一方を満たすユーザを特定してもよい。商品サイズについての意見を投稿したユーザは、サイズ選びにこだわりがある蓋然性がある。レビュー情報に基づいて、サイズについての意見を投稿したユーザを特定可能である。例えば、ユーザ抽出部141は、レビュー本文に対して形態素解析を行ってもよい。ユーザ特定部141は、レビュー本文が、商品サイズについての意見を述べた文章を含んでいる場合、商品サイズについての意見が投稿されたと判定してもよい。或いは、ユーザ特定部141は、レビュー本文の中に商品サイズに関する語が含まれている場合、商品サイズについての意見が投稿されたと判定してもよい。商品サイズに関する語の例として、「サイズ」、「ぴったり」、「小さい」、「大きい」、「きつい」、「ゆるい」等が挙げられる。購入した商品を返品して別のサイズで同一の商品を購入したユーザは、サイズ選びにこだわりがある蓋然性がある。
[3−2.参照商品又は参照ブランドの特定]
参照ユーザの特定に条件1−1が用いられた場合、商品特定部142は、対象ユーザが購入したことがある商品の中から、対象ユーザ及び参照ユーザのうち所定の閾値以上の人数のユーザが通常サイズ以外のサイズで購入した商品を参照商品として特定する。参照ユーザの特定に条件1−2が用いられた場合、商品特定部142は、対象ユーザが購入したことがある商品のブランドの中から、対象ユーザ及び参照ユーザのうち所定の閾値以上の人数のユーザが通常サイズ以外のサイズの商品を購入したブランドを参照ブランドとして特定する。通常特定のサイズの商品を購入しているユーザ層が、特定の商品又はブランドについては、特定のサイズの商品を購入した第1ユーザ層と、別のサイズの商品を購入した第2ユーザ層とに分かれる場合がある。この場合、特定の商品又はブランドについては、第2ユーザ層に対して特定のサイズは小さすぎ又は大きすぎる蓋然性がある。従って、通常サイズに対応する範囲の身体サイズのユーザ層の中にも、身体サイズが異なる複数のユーザ層が存在すると考えられる。商品特定部142は、身体サイズが異なる複数のユーザ層を特定するための商品又はブランドを特定する。上記の人数の閾値は、身体サイズが異なる複数のユーザ層が存在するかを判定するためにある。商品特定部142は、対象ユーザ及び参照ユーザのうち、所定の閾値以上の割合のユーザが通常サイズ以外のサイズで購入した商品、又は所定の閾値以上の割合のユーザが通常サイズ以外のサイズの商品を購入したブランドを特定してもよい。この場合、割合の閾値と、対象ユーザ及び参照ユーザの合計人数とから、人数の閾値を計算することが可能である。推定部143は、購入したユーザの人数が所定人数未満又は所定割合未満である商品又はブランドを、参照商品又は参照ブランドとしては特定しなくてもよい。
図5A及び図5Bは、購入した商品のサイズで対象ユーザ及び参照ユーザを分けた場合のユーザの分布を示すグラフの一例である。図5Aは、対象ユーザ及び参照ユーザが通常サイズで購入した長袖のトップスについての分布を示す。このトップスの商品はユーザごとに異なっていてもよい。対象ユーザ及び参照ユーザが通常サイズで購入したトップスを総称して、仮にトップスAという。例えば、商品サイズとしてS、M、L及びXLが用いられ、通常サイズがMであるとする。従って、図5Aに示すように、対象ユーザ及び参照ユーザの100%がMサイズでトップスAを購入している。
図5Bは、長袖TシャツB又はブランドBの長袖のトップスを購入したときに選択したサイズで対象ユーザ及び参照ユーザを分けた場合のユーザの分布を示す。図5Bに示すように、60%のユーザがMサイズを選択し、35%のユーザがLサイズを選択し、5%のユーザがXLサイズを選択したとする。閾値を10%であるとすると、35%のユーザがLサイズを選択しているので、商品特定部142は、TシャツBを参照商品として特定し、又はブランドBを参照ブランドとして特定する。
[3−3.身体サイズの推定]
[3−3−1.基本的な推定方法]
推定部143は、通常サイズと、参照商品又は参照ブランドの商品を購入したときに対象ユーザ及び参照ユーザが選択した商品サイズとに基づいて、対象ユーザの身体サイズを推定する。対象ユーザが何れの商品サイズを選択したかに基づいて、身体サイズが異なる複数のユーザ層うち、対象ユーザが何れのユーザ層に属するかを特定することが可能である。また、各参照ユーザが選択した商品サイズに基づいて、身体サイズが異なる複数のユーザ層間における身体サイズの大小関係を特定することが可能である。選択した商品サイズが小さいユーザ層ほど、身体サイズが相対的に小さい蓋然性がある。従って、推定部143は、対象ユーザ及び参照ユーザが選択した商品サイズの中において、対象ユーザが選択した商品サイズがどの程度大きいかに基づいて、通常サイズの商品に合う身体サイズの範囲内において、対象ユーザの身体サイズがどの程度の身体サイズであるかを推定することが可能である。
例えば、参照商品又は参照ブランドで対象ユーザ及び参照ユーザが選択した商品サイズがN個の異なる商品サイズに分かれたとする。例えば、推定部143は、通常サイズに対応する身体サイズの範囲をN個の範囲に分割してもよい。例えば推定部143は、通常サイズに対応する身体サイズの範囲をN等分してもよい。通常サイズに対応する胸囲の範囲が75cm〜85cmであり、Mサイズを選択したユーザとLサイズを選択したユーザが存在したとする。この場合、Mサイズに対応する範囲は75cm〜80cmであり、Lサイズに対応する範囲は80cm〜85cmである。或いは推定部143は、商品サイズを選択したユーザの人数又は割合に応じた幅の範囲となるように、通常サイズに対応する身体サイズの範囲を分割してもよい。通常サイズに対応する胸囲の範囲が75cm〜85cmであり、Mサイズを選択したユーザが80%存在し、Lサイズを選択したユーザが20%存在したとする。この場合、Mサイズに対応する範囲は75cm〜83cmであり、Lサイズに対応する範囲は83cm〜85cmである。身体サイズの範囲を分割すると、推定部143は、対象ユーザが選択した商品サイズに対応する身体サイズの範囲を特定する。或いは、N個の異なる商品サイズの中で、対象ユーザが選択した商品サイズがn番目に小さいとする。推定部143は、N個の身体サイズの範囲のうちn番目に小さい範囲を特定する。推定部は、特定した範囲内で、対象ユーザの身体サイズを推定してもよい。例えば推定部143は、特定した範囲の下限値と上限値の平均値を、対象ユーザの身体サイズとして推定してもよいし、別の計算方法で推定を行ってもよい。
図5Bに示すように、TシャツB又はブランドBについては、M、L、XLサイズを選択したユーザがそれぞれ存在する。但し、XLサイズを選択したユーザの割合は閾値未満であるので、推定部143は、XLサイズを選択したユーザは存在しないと見做してもよい。従って、対象ユーザ及び参照ユーザは、TシャツB又はブランドBについては、Mサイズを購入したユーザ層と、Lサイズを購入したユーザ層とに分かれる。トップスAでMサイズを選択し、TシャツB又はブランドBでMサイズを選択したユーザ層には、MMサイズという仮想の商品サイズが合っていると仮定する。このユーザ層をMM層という。トップスAでMサイズを選択し、TシャツB又はブランドBでLサイズを選択したユーザ層には、MLサイズという仮想の商品サイズが合っていると仮定する。このユーザ層をML層という。商品サイズの大小関係は、S<MM<ML<Lである。TシャツB又はブランドBでは、対象ユーザはLサイズを選択している。
図6Aは、商品サイズに対応する標準的な身体サイズの一例を示す図である。例えば長袖Tシャツから推定可能な身体部位の寸法は、肩幅、胸囲、胴囲、腕の長さ及び胴の長さであるとする。図6Aは、S、M、L、XLサイズのそれぞれについて、標準的な肩幅、胸囲、胴囲、腕の長さ、胴の長を示す。図5Bに示すように、対象ユーザ及び参照ユーザが選択した商品サイズが、2個の異なる商品サイズに分かれた。そこで、推定部143は、通常サイズであるMサイズに対応する標準的な寸法の範囲を、2個の範囲に分ける。例えば、Sサイズに対応する標準的な肩幅が36cmであり、Mサイズに対応する標準的な肩幅が40cmであり、Lサイズに対応する標準的な肩幅が44cmであるとする。そこで、推定部143は、Mサイズに対応する標準的な肩幅の範囲を38cm〜42cmと決定する。推定部143は、この範囲を、例えばMMサイズに対応する38cm〜40cmの範囲と、MLサイズに対応する40cm〜42cmの範囲に分ける。対象ユーザに合うサイズはMLサイズである。そのため、推定部143は、40cm〜42cmの範囲の中で例えば41cmを、対象ユーザの肩幅として推定する。推定部143は、胸囲、胴囲、腕の長さ及び胴の長さについても胸囲と同様に推定する。図6Bは、MMサイズ及びMLサイズに対応する身体サイズの一例を示す図である。図6Bにおいて、MLサイズに対応する各身体部位の寸法が、対象ユーザの各身体部位の寸法として推定される。
例えば靴についての通常サイズが26cmであるとする。特定の靴又は特定のブランドの靴について、対象ユーザ及び参照ユーザが、26cmの靴を選択したユーザ層と26.5cmの靴を選択したユーザ層とに分けられたとする。対象ユーザが26cmの靴を選択していた場合、推定部143は、対象ユーザの足長を例えば25.8cmと推定してもよい。また26cmに対応する標準的な足幅の範囲が9cm〜10cmである場合、推定部143は、対象ユーザの足幅を例えば9.3cmと推定してもよい。
条件1及び2を満たすユーザの購入履歴を用いることにより、図5Aに示すように通常特定の商品サイズを選択するユーザが、図6Bに示すように異なる商品サイズを選択する少なくとも2以上のユーザ層に分けられる。換言すると、商品の通常サイズが複数の仮想の商品サイズに細分化される。従って、仮想の商品サイズに対応する身体サイズの範囲は、通常サイズに対応する身体サイズの範囲より狭くなる。推定部143は、対象ユーザが選択した仮想の商品サイズに対応する身体サイズの範囲に基づいて、対象ユーザの身体サイズを推定すればよい。そのため、通常サイズのみを用いるよりも、身体サイズの推定精度を高めることができる。分けられるユーザ層の数又は仮想の商品サイズの数が多いほど推定精度が高まる。
[3−3−2.複数の参照商品又は参照ブランド]
商品特定部142により参照商品又は参照ブランドが複数特定される場合がある。この場合、推定部143は、複数の参照商品又は参照ブランドのそれぞれについて、参照商品又は参照ブランドの商品を購入したときに選択した商品サイズで、対象ユーザ及び前記特定されたユーザを複数のユーザ層に分割した場合のユーザの分布を取得してもよい。推定部143は、複数の参照商品又は参照ブランド間におけるユーザの分布の比較に基づいて、複数の参照商品又は参照ブランドの商品について選択された商品サイズの組み合わせを複数特定してもよい。そして、推定部143は、特定された複数の組み合わせと、複数の組み合わせのうち対象ユーザが選択したサイズの組み合わせとに基づいて、対象ユーザの身体サイズを推定してもよい。これにより、通常サイズがより多くの仮想の商品サイズに細分化されるので、推定精度が高まる。
具体的に、推定部143は、図5Bに示すような分布を参照商品又は参照ブランドごとに取得する。すなわち、推定部143は、各参照商品又は参照ブランドについて、商品サイズごとに、その商品サイズを選択した参照ユーザの人数又は割合を計算する。参照商品又は参照ブランド間で参照ユーザの人数が同一である場合、推定部143は、参照ユーザの人数を用いてもよい。参照商品又は参照ブランド間で参照ユーザの人数が異なる場合、推定部143は、参照ユーザの割合を用いてもよい。
或る第1の参照商品又は参照ブランドの商品を購入した参照ユーザと、別の第2の参照商品又は参照ブランドの商品を購入した参照ユーザとは一致しなくてもよい。その理由は、通常購入する商品のサイズが対象ユーザと同一である複数のユーザが、参照商品又は参照ブランドについて如何なる商品サイズを選択する傾向があるかを分布によって特定することが可能であればよいからである。例えば、第1の参照商品又は参照ブランドの商品を参照ユーザU1〜U100が購入し、第2の参照商品又は参照ブランドの商品を参照ユーザU71〜U120が購入したとする。この場合、推定部143は、第1の参照商品又は参照ブランドについては対象ユーザ及びユーザU1〜U100についての分布を取得し、第2の参照商品又は参照ブランドについては対象ユーザ及びユーザU71〜U120についての分布を取得する。
或いは、推定部143は、複数の参照商品又は参照ブランドで共通する参照ユーザについて、各参照商品又は参照ブランドについての分布を取得してもよい。上記の例では、第1の参照商品又は参照ブランドについても、第2の参照商品又は参照ブランドについても、推定部143は、対象ユーザ及びユーザU71〜U100についての分布を取得する。しかしながら、全参照商品又は参照ブランドで共通する参照ユーザが少ない場合がある。そこで商品特定部142は、例えば共通する参照ユーザの人数が所定人数以上又は所定割合以上となるように、複数の参照商品又は参照ブランドを特定してもよい。
参照商品又は参照ブランド間におけるユーザの分布の比較により、推定部143は、或る第1の参照商品又は参照ブランドにおいて或る商品サイズを選択したユーザが、別の第2の参照商品又は参照ブランドにおいてどの商品サイズを選択したかを推定する。これにより、推定部143は、第1の参照商品又は参照ブランドと第2の参照商品又は参照ブランドとで、選択された商品サイズの組み合わせを特定する。
第1の参照商品又は参照ブランドで選択された商品サイズのうちx番目に小さい商品サイズを商品サイズ1xとする。第2の参照商品又は参照ブランドにおいて選択された商品サイズのうちy番目に小さい商品サイズを商品サイズ2yとする。x及びyの初期値は1である。先ず推定部143は、例えば商品サイズ1xと商品サイズ2yとの組み合わせを、選択された商品サイズの組み合わせとして特定する。次いで、推定部143は、第1の参照商品又は参照ブランドで商品サイズ1xを選択したユーザの人数又は割合と、第2の参照商品又は参照ブランドで商品サイズ2yを選択したユーザの人数又は割合とを比較する。商品サイズ1xを選択したユーザの人数又は割合の方が小さい場合、推定部143は、第2の参照商品又は参照ブランドで商品サイズ2yを選択したユーザの人数又は割合を、第1の参照商品又は参照ブランドで商品サイズ1xを選択したユーザの人数又は割合で減算して得られた値で、第2の参照商品又は参照ブランドで商品サイズ2yを選択したユーザの人数又は割合を更新する。また、推定部143は、xを1増加させる。一方、商品サイズ1xを選択したユーザの人数又は割合の方が大きい場合、推定部143は、第1の参照商品又は参照ブランドで商品サイズ1xを選択したユーザの人数又は割合を、第2の参照商品又は参照ブランドで商品サイズ2yを選択したユーザの人数又は割合で減算して得られた値で、第1の参照商品又は参照ブランドで商品サイズ2yを選択したユーザの人数又は割合を更新する。また、推定部143は、yを1増加させる。x又はyを増加させると、推定部143は、商品サイズ1xと商品サイズ2yとの組み合わせを、選択された商品サイズの組み合わせとして更に特定する。次いで、推定部143は、商品サイズ1xを選択したユーザの人数又は割合と、商品サイズ2yを選択したユーザの人数又は割合とを比較する。推定部143は、このような処理を、x及びyのそれぞれが商品サイズの数に達するまで繰り返す。
対象ユーザ及び参照ユーザの中で或るユーザの身体サイズが小さいほど、そのユーザは、各参照商品又は参照ブランドでより小さい商品サイズを選択するものと考えられる。従って、ユーザの身体サイズが小さいほど、そのユーザは、複数の参照商品又は参照ブランドにおいてより小さい商品サイズの組み合わせを選択するものと考えられる。上述したアルゴリズムはこの仮定に基づくものである。
図7A及び図7Bは、購入した商品のサイズで対象ユーザ及び参照ユーザを分けた場合のユーザの分布を示すグラフの一例である。図5Aに示すように、トップスAでは、対象ユーザ及び参照ユーザの全員がMサイズを選択している。すなわち、通常サイズはMサイズである。図7Aは、セーターC又はブランドCの長袖のトップスを購入したときに選択したサイズで対象ユーザ及び参照ユーザを分けた場合のユーザの分布を示す。図7Aに示すように、65%のユーザがMサイズを選択し、30%のユーザがLサイズを選択し、5%のユーザがXLサイズを選択したとする。図5Bを用いて説明した例と同様に、推定部143は、XLサイズを選択したユーザは存在しないと見做してもよい。従って、対象ユーザ及び参照ユーザは、セーターC又はブランドCについては、Mサイズを選択したユーザ層と、Lサイズを選択したユーザ層とに分かれる。Mサイズを選択したユーザ層には仮想のMM層であり、Lサイズを選択したユーザ層はML層である。推定部143は、Mサイズを選択したユーザの割合とLサイズを選択したユーザの割合の合計が100%となるように、Mサイズを選択したユーザの割合とLサイズを選択したユーザの割合とを補正する。その結果、Mサイズを選択したユーザの割合は68%となり、Lサイズを選択したユーザの割合は32%となる。
図7Bは、長袖のシャツD又はブランドDの長袖のトップスを購入したときに選択したサイズで対象ユーザ及び参照ユーザを分けた場合のユーザの分布を示す。図7Aに示すように、55%のユーザがMサイズを選択し、45%のユーザがLサイズを選択したとする。従って、推定部143は、先ずMサイズとMサイズとの組み合わせを特定する。MサイズとMサイズとの組み合わせを選択したユーザ層はMMM層である。セーターC又はブランドCでMサイズを選択したユーザの割合の方が、シャツD又はブランドDでMサイズを選択したユーザの割合よりも大きい。従って、推定部143は、セーターC又はブランドCでMサイズを選択したユーザの割合を、シャツD又はブランドDでMサイズを選択したユーザの残りの割合で減算して、セーターC又はブランドCでMサイズを選択したユーザの残りの割合13%を取得する。そして、推定部143は、MサイズとLサイズとの組み合わせを特定する。MサイズとLサイズとの組み合わせを選択したユーザ層はMML層である。セーターC又はブランドCでMサイズを選択したユーザの残りの割合は、シャツD又はブランドDでMサイズを選択したユーザの割合よりも小さい。従って、推定部143は、シャツD又はブランドDでLサイズを選択したユーザの割合を、セーターC又はブランドCでMサイズを選択したユーザの割合で減算して、シャツD又はブランドDでMサイズを選択したユーザの残りの割合32%を取得する。そして、推定部143は、LサイズとLサイズとの組み合わせを特定する。LサイズとLサイズとの組み合わせを選択したユーザ層はMLL層である。セーターC又はブランドCでLサイズを選択したユーザの割合は、シャツD又はブランドDでLサイズを選択したユーザの残りの割合と一致する。ここで組み合わせの特定が完了する。
これにより、対象ユーザ及び参照ユーザは3個のユーザ層に分かれた。Mサイズは、MMM、MML及びMLLの3個の商品サイズに細分化された。対象ユーザ及び参照ユーザのうち、身体サイズが最も小さい55%のユーザ層がMMM層である。身体サイズが次に小さい13%のユーザ層がMML層である。セーターC又はブランドCでMサイズを選択したユーザ層のうち一部のユーザ層がシャツD又はブランドDでMサイズを選択し、残りのユーザ層がLサイズを選択したこととなる。身体サイズが最も大きい32%のユーザ層がMLL層である。図8は、セーターC又はブランドCと、シャツD又はブランドDについて、ユーザの分布の一例を示す帯ブラフである。帯グラフでユーザの分布を比較すると、対象ユーザ及び参照ユーザが如何なる割合でMMM層、MML層及びMLL層に分かれるかがより明確である。
商品サイズの大小関係は、S<MMM<MML<MLL<Lである。対象ユーザは、セーターC又はブランドCではMサイズを選択し、シャツD又はブランドDではMサイズを選択したとする。従って、対象ユーザはMMM層に含まれる。推定部143は、例えばMサイズに対応する身体サイズの範囲を3個の範囲に分割してもよい。対象ユーザは1番目に商品サイズが小さいユーザ層に属するので、推定部143は、3個の範囲のうち、MMMサイズに対応する1番目に小さい範囲内で、対象ユーザの身体サイズを推定してもよい。
参照商品又は参照ブランドが3個以上存在する場合、推定部143は、上述したような処理を繰り返し実行すればよい。
[3−3−3.寸法の差]
推定部143は、通常サイズについて、対象ユーザが購入したことがある商品のうち参照商品と異なる商品又は対象ユーザが商品を購入したことがあるブランドのうち参照ブランドと異なるブランドを特定してもよい。特定される商品又はブランドを、普通商品又は普通ブランドという。推定部143は、普通商品又は普通ブランドの商品の複数部分の第1寸法を示す情報であって、通常サイズに対応する第1寸法を示す情報を取得してもよい。また、推定部143は、参照商品又は参照ブランドの商品の複数部分の第2寸法を示す情報であって、通常サイズに対応する第2寸法を示す情報を取得してもよい。推定部143は、商品の複数部分のうち、対応する第1寸法と第2寸法との差が相対的に大きい部分を特定してもよい。そして、推定部143は、対象ユーザの複数の身体部位のうち、特定された部分に対応する身体部位の寸法のみを、これまで説明してきた参照ユーザの購入履歴を用いた方法で推定してもよい。
対象ユーザ及び参照ユーザのうち閾値以上の人数のユーザが参照商品又は参照ブランドの商品については通常サイズと異なる商品サイズを選択している。その理由の一例として、参照商品又は参照ブランドの商品の通常サイズでの複数部分の第2寸法のうち少なくとも一部分の第2寸法が、通常サイズで対象ユーザ及び参照ユーザが購入している商品の対応する第1寸法と大きく異なることが挙げられる。第2寸法が第1寸法と大きく異なる部分が、対応する身体部位に合わなかったユーザが、参照商品又は参照ブランドでは通常サイズと異なる商品サイズを選択した蓋然性が高い。推定部143が、第1寸法と第2寸法との差が相対的に大きい部分に対応する身体部位の寸法を、参照ユーザの購入履歴を用いた方法を用いた方法で推定することで、寸法を推定すべき身体部位を適切に特定することができる。また、購入履歴を用いる参照ユーザを限定することができるので、身体サイズの推定のための処理負荷を低減させることができる。
商品の各部分の寸法は、商品寸法情報としてカタログDB12bに記憶されていてもよい。しかしながら、少なくとも1つの商品について、各部分の寸法は予め定義されていなくてもよい。例えば、推定部143は、商品のウェブページに表示される商品名や説明テキストから、相対的な寸法を示す情報又は寸法を間接的に示す情報を取得してもよい。例えば、推定部143は、ウェブページに「身幅が大きめ」と記載された商品の身幅は、身幅について何もウェブページに記載されていない商品の身幅よりも大きいと推定してもよい。また例えば、推定部143は、ボトムスについて、「テーパード」と記載された商品の足首周りは、「ストレート」と記載された商品の足首周りよりも小さいと推定してもよい。また、推定部143は、「スキニー」と記載された商品の足首周りは、「テーパード」と記載された商品の足首周りよりも小さいと推定してもよい。こうして、推定部143は、参照商品又は参照ブランドの商品の寸法と、普通商品の寸法との差がどの程度あるかを推定してもよい。
普通商品又は普通ブランドの商品が複数存在する場合、推定部143は、例えば何れかの商品についての寸法を第1寸法として取得してもよい。例えば、推定部143は、対象ユーザと参照ユーザのうち通常サイズを選択したユーザの人数又は割合が最も大きい普通商品についての寸法を第1寸法として取得してもよい。或いは、推定部143は、複数の商品についての寸法の代表値を、第1寸法として取得してもよい。代表値は、例えば平均値、中央値又は最頻値であってもよい。参照ブランドの商品が複数存在する場合、推定部143は、複数の商品についての寸法の代表値を、第2寸法として取得してもよい。
推定部143は、例えば第1寸法と第2寸法との差が閾値以上である部分を特定してもよい。この場合の閾値は、部分ごとに個別に予め定められていてもよいし、全部分で同一であってもよい。或いは、推定部143は、複数の部分のうち、第1寸法と第2寸法との差が最も大きい部分を特定してもよい。
推定部143は、第1寸法と第2寸法との差が相対的に大きくはない部分に対応する身体部位の寸法は推定しなくてもよい。或いは、推定部143は、通常サイズに対応する標準的な身体部位の寸法を、第1寸法と第2寸法との差が相対的に大きくはない部分に対応する身体部位の寸法として推定してもよい。
図9Aは、商品の各部の寸法の一例を示す図である。図5Aに示すように、通常サイズがMサイズであるとする。この場合、トップスAが、普通商品又は普通ブランドの商品であると仮定する。図5Bに示すように、TシャツB又はブランドBのトップスで、対象ユーザと参照ユーザはMM層とML層に分かれた。図9Aに示すように、トップスAの肩幅、身幅、袖丈及び着丈のそれぞれの寸法は、40cm、46cm、70cm及び67cmである。図9Aに示すように、TシャツB又はブランドBのトップスの肩幅、身幅、袖丈及び着丈のそれぞれの寸法は、36cm、46cm、69cm及び66cmである。各部分の寸法の閾値が3cmであるとする。この場合、推定部143は、寸法の差が相対的に大きい部分として、トップスの肩部分を特定する。従って、推定部143は、対象ユーザの肩幅を、参照ユーザの購入履歴を用いた方法で推定する。図9Bは、MMサイズ及びMLサイズに対応する身体サイズの一例を示す図である。対象ユーザはML層に属するので、推定部143は、図6Bの例と同様に、対象ユーザの肩幅は41cmと推定する。推定部143は、胸囲、胴囲、腕の長さ及び胴の長さは推定しなくてもよい。或いは、推定部143は、Mサイズに対応する標準的な胸囲、胴囲、腕の長さ及び胴の長さを、対象ユーザの胸囲、胴囲、腕の長さ及び胴の長さとして推定してもよい。
3−3−2節で述べたように、参照商品又は参照ブランドが複数特定される場合がある。この場合、参照商品又は参照ブランドごとに、寸法の差が相対的に大きい部分が異なる場合がある。この場合、推定部143は、参照商品又は参照ブランドを、寸法の差が相対的に大きい部分でグループ分けしてもよい。推定部143は、グループごとに、そのグループに属する複数の参照商品又は参照ブランドの商品について選択された商品サイズの組み合わせを複数特定してもよい。そして、推定部143は、グループごとに、そのグループに対応する身体部位の寸法を推定してもよい。
[4.電子商取引システムの動作]
次に、電子商取引システムSの動作について、図10乃至図12を用いて説明する。図10乃至図12は、本実施形態に係る電子商店街サーバ1のシステム制御部14の身体サイズ推定処理の一例を示すフローチャートである。サーバプログラムに含まれる様々なコードに従って、システム制御部14は、身体サイズ推定処理を実行する。図10乃至図12は、上半身、下半身、足など、対象ユーザの身体のうちの所定の範囲の身体サイズを推定する処理例を示す。また、図10乃至図12は、参照商品を特定する場合の処理例を示す。全身の身体サイズを推定する場合、システム制御部14は、図10乃至図12が示す身体サイズ推定処理を、上半身、下半身、足などのそれぞれについて実行すればよい。また、身体サイズ推定処理が実行されるタイミングは予め定められてもよい。例えば、ユーザ端末3から身体サイズの推定の要求又は仮想試着の要求を受信したときに、システム制御部14は身体サイズ推定処理を実行してもよい。或いは、購入履歴を購入履歴DB12eに記憶させたとき、システム制御部14は、その購入履歴のユーザIDが示すユーザを対象ユーザとして、身体サイズ推定処理を実行してもよい。
図10に示すように、先ずユーザ特定部141は、対象ユーザの通常サイズを特定する(ステップS1)。具体的に、ユーザ特定部141は、対象ユーザの購入履歴のうち身体サイズが推定される範囲に対応するカテゴリーの商品の購入履歴を、購入履歴から取得する。例えば、上半身の場合のカテゴリーはトップスであり、下半身の場合のカテゴリーはボトムスであり、足の場合のカテゴリーは靴である。上半身で腕の長さを推定する必要がある場合、ユーザ特定部141は、長袖のトップスの購入履歴のみを取得してもよい。下半身で脚の長さを推定する必要がある場合、ユーザ特定部141は、十分丈のパンツの購入履歴のみを取得してもよい。特定の商品の仮想試着が対象ユーザから要求された場合、ユーザ特定部141は、仮想試着される商品のカテゴリーと同一のカテゴリーの商品の購入履歴を取得してもよい。推定部143は、取得された各購入履歴から商品サイズを取得する。推定部143は、商品サイズごとに、対象ユーザが購入した商品の数を計算する。そして、推定部143は、対象ユーザが購入した商品の数が最も多い商品サイズを、通常サイズに決定する。
次いで、ユーザ特定部141は、対象ユーザが購入したことがある商品と同一の商品を購入したことがあるユーザを、第1抽出ユーザとして特定する(ステップS2)。具体的に、ユーザ特定部141は、ステップS1で取得された購入履歴ごとに、購入履歴からプロダクトコードを取得する。次いで、ユーザ特定部141は、取得されたプロダクトコードごとに、プロダクトコードを含む購入履歴を購入履歴DB12eから取得する。そして、ユーザ特定部141は、取得された購入履歴に含まれるユーザIDを、第1抽出ユーザのユーザIDとして取得する。
次いで、ユーザ特定部141は、第1抽出ユーザの中から、購入した商品のサイズについての意見を投稿したことがあるユーザと、購入した商品を返品した後にその商品のサイズとは異なるサイズでその商品と同一の商品を購入したことがあるユーザとを、第2抽出ユーザとして特定する(ステップS3)。具体的に、ユーザ特定部141は、第1抽出ユーザごとに、第1抽出ユーザのユーザIDを含むレビュー情報をレビューDB12fから取得する。次いで、ユーザ特定部141は、レビュー情報に含まれるレビュー本文に、購入した商品のサイズについての意見が含まれているか否かを判定する。ユーザ特定部141は、レビュー本文に意見が含まれている第1抽出ユーザを、第2抽出ユーザとして特定する。また、ユーザ特定部141は、第1抽出ユーザごとに、第1抽出ユーザのユーザIDを含む購入履歴を、購入履歴DB12eからから取得する。次いで、ユーザ特定部141は、取得された購入履歴の中に、商品が返品されたことを示す返品フラグを含む購入履歴があるか否かを判定する。そのような購入履歴がある場合、ユーザ特定部141は、返品された商品のプロダクトコードをその購入履歴から取得する。ユーザ特定部141は、取得された購入履歴の中に、返品された商品の返品が受け付けられた日時よりも後の購入履歴の中に、返品された商品と同一の商品のプロダクトコードを含む購入履歴があるか否かを判定する。そのような購入履歴がある場合、ユーザ特定部141は、購入履歴に基づいて、返品された商品のサイズと再度購入された商品のサイズとが異なるか否かを判定する。ユーザ特定部141は、再度購入された商品のサイズが異なるユーザを、第2抽出ユーザとして特定する。
次いで、ユーザ特定部141は、ステップS1と同様の方法で、第2抽出ユーザごとに、複数の商品サイズのうち第2抽出ユーザが購入した商品の数が最も多い商品サイズを特定する。そして、ユーザ特定部141は、第2抽出ユーザの中から、複数の商品サイズのうち購入する商品のサイズとして最も多く選択した商品サイズが、ステップS1で特定された通常サイズであるユーザを、参照ユーザとして特定する(ステップS4)。
次いで、商品特定部142は、対象ユーザと参照ユーザのうち閾値以上の割合のユーザが通常サイズと異なるサイズで購入した参照商品を特定する(ステップS5)。具体的に、商品特定部142は、ステップS1で取得された購入履歴ごとに、対象ユーザが購入した商品のプロダクトコードを取得する。商品特定部142は、対象ユーザが購入した商品の購入履歴と、その商品と同一の商品を参照ユーザが購入したことを示す購入履歴に基づいて、商品サイズごとに、その商品サイズで商品を購入したユーザの割合を計算する。商品特定部142は、通常サイズと異なる商品サイズの中で、その商品サイズで商品を購入したユーザの割合が閾値以上である商品を、参照商品として特定する。
次いで、推定部143は、対象ユーザが購入した商品のうち参照商品と異なる普通商品の複数部分の第1寸法を取得する(ステップS6)。具体的に、推定部143は、普通商品のプロダクトコードに対応するカタログ情報をカタログDB12bから取得する。次いで、推定部143は、カタログ情報から、通常サイズに対応する商品寸法情報を、第1寸法の情報として取得する。
次いで、推定部143は、特定した1又は複数の参照商品のそれぞれについて、参照商品の対象ユーザの購入履歴及び参照ユーザの購入履歴に基づいて、選択した商品サイズでユーザを分けた場合のユーザの分布を取得する(ステップS7)。具体的に、推定部143は、商品サイズごとに、その商品サイズを選択したユーザの割合を計算する。
次いで、推定部143は、特定した1又は複数の参照商品のそれぞれについて、選択したユーザの割合を重みとして、複数の商品サイズの加重平均を計算する(ステップS8)。
次いで、推定部143は、選択された参照商品の複数部分の第2寸法を取得する(ステップS9)。具体的に、推定部143は、参照商品のプロダクトコードに対応するカタログ情報をカタログDB12bから取得する。次いで、推定部143は、カタログ情報から、通常サイズに対応する商品寸法情報を、第2寸法の情報として取得する。
次いで図12に示すように、推定部143は、部分番号iを1に設定する(ステップS21)。次いで、推定部143は、商品番号jを1に設定し、商品サイズの組み合わせの構成要素数eを0に設定する(ステップS22)。
次いで、推定部143は、参照商品[j]の部分[i]の第2寸法と普通商品の部分[i]の第1寸法との差が閾値以上であるか否かを判定する(ステップS23)。部分[i]は、身体サイズの推定に用いられるカテゴリーの商品の複数部分のうちi番目の部分である。参照商品[j]は、特定された参照商品のうち、複数の商品サイズの加重平均がj番目に小さい参照商品である。推定部143は、差が閾値以上であると判定した場合には(ステップS23:YES)、処理をステップS24に進める。一方、推定部143は、差が閾値以上ではないと判定した場合には(ステップS23:NO)、処理をステップS42に進める。
ステップS24において、推定部143は、構成要素数eを1増加させる。次いで、推定部143は、構成要素数eが1であるか否かを判定する(ステップS25)。このとき、推定部143は、構成要素数eが1であると判定した場合には(ステップS25:YES)、処理をステップS26に進める。一方、推定部143は、構成要素数eが1ではないと判定した場合には(ステップS26:NO)、処理をステップS27に進める。
ステップS26において、推定部143は、参照商品[j]において、選択したユーザの割合が閾値以上である商品サイズを特定する。特定された商品サイズの数をnとする。推定部143は、商品サイズが小さい順に、組み合わせ情報[e,1]〜[e,n]を生成する。各組み合わせ情報は、特定された商品サイズとその商品サイズを選択したユーザの割合とを含む。このとき、推定部143は、選択したユーザの割合の合計が100%となるように各割合を補正する。次いで、推定部143は、処理をステップS42に進める。
ステップS27において、推定部143は、番号x及びyをそれぞれ1に設定する。また、推定部143は、組み合わせ数cを1に設定する。
次いで、推定部143は、組み合わせ情報[e−1,x]と、商品サイズ[y]とを特定する(ステップS28)。組み合わせ情報[e−1,x]は、参照商品[1]〜[j−1]で選択された商品サイズの組み合わせのうちx番目に小さい商品サイズの組み合わせを含む。商品サイズ[y]は、参照商品[j]で選択された商品サイズのうち、y番目に小さい商品サイズである。
次いで、推定部143は、組み合わせ情報[e−1,x]に含まれる割合と、参照商品[j]で商品サイズ[y]を選択したユーザの割合との差を、組み合わせ情報[e−1,x]が示す商品サイズの組み合わせと、商品サイズ[y]とを選択したユーザの割合として計算する(ステップS28)。
次いで、推定部143は、組み合わせ情報[e−1,x]に含まれる割合が、参照商品[j]で商品サイズ[y]を選択したユーザの割合よりも小さいか否かを判定する(ステップS29)。このとき、推定部143は、組み合わせ情報[e−1,x]に含まれる割合が、参照商品[j]で商品サイズ[y]を選択したユーザの割合よりも小さいと判定した場合には(ステップS29:YES)、処理をステップS30に進める。一方、推定部143は、組み合わせ情報[e−1,x]に含まれる割合が、参照商品[j]で商品サイズ[y]を選択したユーザの割合よりも小さくはないと判定した場合には(ステップS29:NO)、処理をステップS33に進める。
ステップS30において、推定部143は、組み合わせ情報[e−1,x]に含まれる全商品サイズ及び割合と商品サイズ[y]とを含む組み合わせ情報[e,c]を生成する。次いで、推定部143は、組み合わせ情報[e−1,x]に含まれる割合と、参照商品[j]で商品サイズ[y]を選択したユーザの割合との差で、参照商品[j]で商品サイズ[y]を選択したユーザの割合を書き換える(ステップS31)。次いで、推定部143は、xを1増加させて(ステップS32)、処理をステップS40に進める。
ステップS33において、推定部143は、組み合わせ情報[e−1,x]に含まれる割合が、参照商品[j]で商品サイズ[y]を選択したユーザの割合と一致するか否かを判定する。このとき、推定部143は、組み合わせ情報[e−1,x]に含まれる割合が、参照商品[j]で商品サイズ[y]を選択したユーザの割合と一致すると判定した場合には(ステップS33:YES)、処理をステップS34に進める。一方、推定部143は、組み合わせ情報[e−1,x]に含まれる割合が、参照商品[j]で商品サイズ[y]を選択したユーザの割合と一致しないと判定した場合には(ステップS33:NO)、処理をステップS36に進める。
ステップS34において、推定部143は、組み合わせ情報[e−1,x]に含まれる全商品サイズ及び割合と商品サイズ[y]とを含む組み合わせ情報[e,c]を生成する。次いで、推定部143は、xとyをそれぞれ1増加させて(ステップS35)、処理をステップS39に進める。
ステップS36において、推定部143は、組み合わせ情報[e−1,x]から全商品サイズを取得する。そして、推定部143は、取得した商品サイズと、商品サイズ[y]と、参照商品[j]で商品サイズ[y]を選択したユーザの割合とを含む組み合わせ情報[e,c]を生成する。次いで、推定部143は、推定部143は、組み合わせ情報[e−1,x]に含まれる割合と、参照商品[j]で商品サイズ[y]を選択したユーザの割合との差で、組み合わせ情報[e−1,x]に含まれる割合を書き換える(ステップS37)。次いで、推定部143は、yを1増加させて(ステップS38)、処理をステップS39に進める。
ステップS39において、推定部143は、xが、e−1に対応する組み合わせ情報の数以下であるか否かを判定する。このとき、推定部143は、xが、組み合わせ情報の数以下であると判定した場合には(ステップS39:YES)、処理をステップS41に進める。一方、推定部143は、xが、組み合わせ情報の数以下ではない判定した場合には(ステップS39:NO)、処理をステップS40に進める。
ステップS40において、推定部143は、yが、参照商品[j]で選択された商品サイズの数以下であるか否かを判定する。このとき、推定部143は、yが、参照商品[j]で選択された商品サイズの数以下であると判定した場合には(ステップS40:YES)、処理をステップS41に進める。一方、推定部143は、yが、参照商品[j]で選択された商品サイズの数以下ではない判定した場合には(ステップS40:NO)、処理をステップS42に進める。
ステップS41において、推定部143は、cを1増加させて、処理をステップS28に進める。
ステップS42において、推定部143は、商品番号jが、参照商品の数未満であるか否かを判定する。このとき、推定部143は、商品番号jが、参照商品の数未満であると判定した場合には(ステップS42:YES)、処理をステップS43に進める。ステップS43において、推定部143は、商品番号jを1増加させて、処理をステップS23に進める。一方、推定部143は、商品番号jが、参照商品の数未満ではないと判定した場合には(ステップS42:NO)、処理をステップS51に進める。
図12に示すように、ステップS51において、推定部143は、構成要素数eが0であるか否かを判定する。このとき、推定部143は、構成要素数eが0であると判定した場合には(ステップS51:YES)、処理をステップS52に進める。一方、推定部143は、構成要素数eが0ではないと判定した場合には(ステップS51:NO)、処理をステップS53に進める。
ステップS52において、推定部143は、標準身体サイズDB12cに記憶されている通常サイズの身体寸法情報から、部分[i]に対応する身体部分の標準の寸法を取得する。そして、推定部143は、標準の寸法を、対象ユーザの部分[i]に対応する身体部分の寸法として推定する。次いで、推定部143は、処理をステップS56に進める。
ステップS53において、推定部143は、標準身体サイズDB12cに記憶されている身体寸法情報から、部分[i]に対応する身体部分の標準の寸法を取得する。推定部143は、取得された寸法に基づいて、通常サイズにおける部分[i]に対応する身体部分の寸法の範囲を決定する。そして、推定部143は、通常サイズにおける身体部分の寸法の範囲を、c個の寸法の範囲に分割する。例えば、推定部143は、通常サイズにおける身体部分の寸法の範囲の上限値と下限値との差を、寸法幅として計算する。推定部143は、組み合わせ情報[e,1]〜[e,c]のそれぞれについて、寸法幅に、組み合わせ情報に含まれる割合を乗算して、その組み合わせ情報に対応する寸法の範囲の幅を計算する。推定部143は、商品サイズの組み合わせが小さい組み合わせ情報の順に、通常サイズにおける身体部分の寸法の範囲の下限値から上限値に向かって、計算された幅の寸法の範囲を割り当てる。
次いで、推定部143は、対象ユーザの購入履歴に基づいて、組み合わせ情報[e,1]〜[e,c]の中から、対象ユーザが選択した商品サイズの組み合わせを含む組み合わせ情報を特定する(ステップS54)。
次いで、推定部143は、c個の寸法の範囲のうち、特定された組み合わせ情報に対応する寸法の範囲内で、対象ユーザの部分[i]に対応する身体部分の寸法を推定する(ステップS55)。例えば、推定部143は、寸法の範囲の下限値と上限値との平均を計算してもよい。
次いで、推定部143は、部分番号iが、身体サイズの推定に用いられるカテゴリーの商品の部分の数未満であるか否かを判定する(ステップS56)。このとき、推定部143は、部分番号iが部分の数未満であると判定した場合には(ステップS56:YES)、処理をステップS57に進める。ステップS57において、推定部143は、部分番号iを1増加させて、処理をステップS22に進める。一方、推定部143は、部分番号iが部分の数未満ではないと判定した場合には(ステップS56:NO)、身体サイズ推定処理を終了させる。
以上説明したように、本実施形態によれば、システム制御部14が、対象ユーザが購入したことがある商品と同一の商品又は対象ユーザが購入したことがある商品とブランドが同一である商品を購入したことがあり、且つ複数の商品サイズのうち購入する商品のサイズとして最も多く選択したサイズが、複数の商品サイズのうち対象ユーザにより最も多く選択された通常サイズと同一である参照ユーザを特定する。また、システム制御部14が、対象ユーザ及び参照ユーザのうち所定数以上若しくは所定割合以上のユーザが通常サイズ以外のサイズで購入した参照商品、又は所定数以上若しくは所定割合以上のユーザが通常サイズ以外のサイズの商品を購入した参照ブランドを特定する。また、システム制御部14が、通常サイズと、参照商品又は参照ブランドの商品を購入したときに対象ユーザ及び参照ユーザが選択したサイズとに基づいて、対象ユーザの身体サイズを推定する。従って、通常サイズに対応する身体サイズの範囲内の身体を有する蓋然性があるユーザを、身体サイズが異なる蓋然性がある複数のユーザ層に分けることができるので、購入された商品のサイズに基づいて、ユーザの身体サイズをより正確に推定することが可能となる。
また、システム制御部14が、複数の参照商品又は参照ブランドが特定された場合、複数の参照商品又は参照ブランドのそれぞれについて、商品又はブランドの商品を購入したときに選択したサイズで、対象ユーザ及び参照ユーザを複数のグループに分割した場合のユーザの分布を取得してもよい。また、システム制御部14が、複数の参照商品又は参照ブランド間におけるユーザの分布の比較に基づいて、複数の参照商品又は参照ブランドの商品について選択されたサイズの組み合わせを複数特定してもよい。また、システム制御部14が 、特定された複数の組み合わせと、複数の組み合わせのうち対象ユーザが選択したサイズの組み合わせとに基づいて、対象ユーザの身体サイズを推定してもよい。この場合、ユーザ層を更に細分化することができるので、ユーザの身体サイズをより正確に推定することが可能となる。
また、システム制御部14が、対象ユーザが購入したことがある商品のうち参照商品と異なる普通商品又は対象ユーザが商品を購入したことがあるブランドのうち参照ブランドと異なる普通ブランドの商品の複数部分の第1寸法を示す情報、及び参照商品又は参照ブランドの商品の複数部分の第2寸法を示す情報であって、それぞれ通常サイズに対応する第1寸法を示す情報及び第2寸法を示す情報を取得してもよい。また、システム制御部14が、複数部分のうち、第1寸法と第2寸法との差が相対的に大きい部分を特定してもよい。また、システム制御部14が、対象ユーザの複数の身体部位のうち、特定された部分に対応する身体部位の寸法を推定してもよい。この場合、参照商品又は参照ブランドに対応して寸法を推定すべき身体部位を適切に特定することができる。
また、システム制御部14が、参照ユーザを、購入した商品のサイズについての意見の投稿、及び、購入した商品を返品した後にその商品のサイズとは異なるサイズでのその商品と同一の商品の購入の少なくとも一方を行ったユーザに限定してもよい。この場合、サイズ選びにこだわりがあるユーザの購入履歴のみを用いることで、システム制御部14は、ユーザの身体サイズをより正確に推定することができる。また、参照ユーザを限定することにより、身体サイズの推定のための処理負荷を低減させることができる。