(57)【特許請求の範囲】
【請求項１】
商品を購入した顧客に対してポイントを付与するサーバ装置を備えるポイントラリーシ
ステムであって、
前記サーバ装置は、
前記顧客と、前記商品の産地と、前記商品の数量と、前記商品の単価とを相互に対応づ
けて記憶した第１のデータベースと、
前記商品の所定の産地と、前記商品の購入金額に対して乗じられる還元率とを相互に対
応づけて記憶した第２のデータベースと、
を備える記憶部と、
前記第１のデータベースの個々のレコードについて、
前記商品の産地が前記所定の産地と一致するか否かを判別し、
一致する場合は、前記数量と前記単価を乗じて前記購入金額を算出し、前記算出した購
入金額に前記還元率を乗じてポイントを算出し、
前記算出したポイントを前記顧客に対応づけて前記記憶部に記憶する制御部と、
を有し、
前記記憶部は、前記第１のデータベースに、前記商品が購入された店舗および日付をさ
らに相互に対応づけて記憶しており、
前記第２のデータベースに、前記商品が購入される店舗、前記商品が購入される日付お
よび前記購入金額の閾値をさらに対応づけて記憶しており、
前記制御部は、
前記商品が購入される所定の店舗、前記商品が購入される所定の期間および前記購入金
額の閾値の入力を受け付け、前記第２のデータベースに記憶するキャンペーン登録部を有
し、
前記制御部は、さらに、
前記第１のデータベースの個々のレコードについて、
前記店舗が前記所定の店舗と一致するか否かを判別し、
一致する場合は、前記日付が前記所定の期間に含まれるレコードについて前記ポイ
ントを算出し、
前記記憶部は、
前記第２のデータベースに、前記数量が前記所定の産地以外の商品を含む商品の数量に
占める割合の大小関係に基づく順に対応するポイントを、さらに対応づけて記憶しており
、
前記制御部は、
前記割合の大小関係に基づく順に対応するポイントを、前記顧客に対応づけて前記記憶
部に記憶する
ことを特徴とするポイントラリーシステム。
【請求項２】
前記記憶部は、
前記第２のデータベースに、前記購入金額の閾値をさらに対応づけて記憶しており、
前記制御部は、
前記購入金額と前記閾値との大小関係に基づいて、前記割合の大小関係に基づく順に対
応するポイントを記憶するか否かを判別する
ことを特徴とする、請求項１に記載のポイントラリーシステム。
【請求項３】
前記記憶部は、
前記顧客と、前記数量と、前記購入金額と、前記割合と、前記割合の大小関係に基づく
順とを相互に対応づけて記憶した第３のデータベースを備える、
ことを特徴とする、請求項２に記載のポイントラリーシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の地域において生産された生鮮食品を購入した顧客に対しボーナスポイントを付与するシステムに関する。
【背景技術】
【０００２】
本発明では、あらかじめ指定した地域において生産された農作物や水産物、畜産物等、指定した生鮮食品の購入者に対して、ボーナスポイントを付与することで、地産地消の取り組みに対して経済的なインセンティブを付与するシステムを提案する。
【０００３】
生鮮食品の「地産地消」に社会的関心が高まっている。地産地消とは、地元で収穫された農作物等の生鮮食品を地元で消費させることを目的とした消費スタイルを総称する言葉である。生産者においては流通に係るコスト削減による収益向上、購入者においては地元の新鮮な生鮮食品を安価に購入できるといったメリットがあり、近年においては、食品流通に係るＣＯ２排出削減等、環境負荷軽減の実現を図る上でもその取り組みに期待が高まっている。
【０００４】
我が国においては、主に国や地方公共団体、農業協同組合等が主導して各種地産地消の取り組みがなされており、これまで述べた目的のほかに、地域活性化や食料自給率の向上、産地情報を適切に開示した地元産食品の流通促進による食の安全・安心向上、食育の促進といった目的においても注目されている。
【０００５】
しかし、地産地消による食の流通は必ずしも大量流通・大量消費に適しておらず、購入者においては価格的なメリットが少ないといった課題が指摘されており、例えば決済システム等、最新のノウハウを活用し、顧客を取り込む戦略の必要性を指摘する声もある（農林水産省「地産地消推進検討会中間取りまとめ− 地産地消の今後の推進方向」平成１７年８月）。
【０００６】
従来、サプライ・チェーン・マネジメント等の分野においては、産地情報や生産者情報をコンピュータシステムで保管し、流通・販売過程において統合的にこれら情報を継承することで、産地情報や生産者情報を購入者へ提供し、地産地消の活性化を図るシステムの提案がなされている（非特許文献１参照）。
【０００７】
また、購入時に特定商品を複数回購入した購入者に対して、予め設定した条件を満たすときに特典ポイントを付与するシステムが提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平９−２２３２７４号公報
【非特許文献】
【０００９】
【非特許文献１】平成１５年度版「岩手県農業動向年報」２００４年１１月
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、非特許文献１においては、産地や生産者の把握が可能となり、食の安全・安心向上に対しては一定の効果が得られるものと考えられる一方で、地産地消に取り組む購入者に対して割引やポイント付与など、経済的なインセンティブを与えることはできない技術構成となっている。
【００１１】
また、特許文献１においては、購入した商品の産地情報の判定に基づくポイント付与やランキングによるポイント付与などの機能は実装されておらず、地産地消の支援を目的としたソフトウェア・ハードウェア構成を有する本システムとは技術構成が著しく異なる。
【００１２】
そこで、本発明は、あらかじめ指定した地域で生産された農作物や水産物、畜産物等、指定した生鮮食品の購入者に対して、ボーナスポイントを付与するシステムを提供することを課題とする。
【課題を解決するための手段】
【００１３】
本発明によるポイントラリーシステムは、商品を購入した顧客に対してポイントを付与
するサーバ装置を備えるポイントラリーシステムであって、前記サーバ装置は、前記顧客
と、前記商品の産地と、前記商品の数量と、前記商品の単価とを相互に対応づけて記憶し
た第１のデータベースと、前記商品の所定の産地と、前記商品の購入金額に対して乗じら
れる還元率とを相互に対応づけて記憶した第２のデータベースと、を備える記憶部と、前
記第１のデータベースの個々のレコードについて、前記商品の産地が前記所定の産地と一
致するか否かを判別し、一致する場合は、前記数量と前記単価を乗じて前記購入金額を算
出し、前記算出した購入金額に前記還元率を乗じてポイントを算出し、前記算出したポイ
ントを前記顧客に対応づけて前記記憶部に記憶する制御部と、を有し、前記記憶部は、前記第１のデータベースに、前記商品が購入された店舗および日付をさらに相互に対応づけて記憶しており、前記第２のデータベースに、前記商品が購入される店舗、前記商品が購入される日付および前記購入金額の閾値をさらに対応づけて記憶しており、前記制御部は、前記商品が購入される所定の店舗、前記商品が購入される所定の期間および前記購入金
額の閾値の入力を受け付け、前記第２のデータベースに記憶するキャンペーン登録部を有
し、前記制御部は、さらに、前記第１のデータベースの個々のレコードについて、前記店舗が前記所定の店舗と一致するか否かを判別し、一致する場合は、前記日付が前記所定の期間に含まれるレコードについて前記ポイントを算出し、前記記憶部は、前記第２のデータベースに、前記数量が前記所定の産地以外の商品を含む商品の数量に占める割合の大小関係に基づく順に対応するポイントを、さらに対応づけて記憶しており、前記制御部は、前記割合の大小関係に基づく順に対応するポイントを、前記顧客に対応づけて前記記憶部に記憶することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、あらかじめ指定した地域で生産された農作物や水産物、畜産物等、指定した生鮮食品の購入者に対して、ボーナスポイントを付与するシステムを提供することが可能になる。
【図面の簡単な説明】
【００１５】
【図１Ａ】本実施形態の概略を説明する図である。
【図１Ｂ】アプリケーションサーバの構成を説明する図である。
【図１Ｃ】データベースサーバの構成を説明する図である。
【図１Ｄ】本社エリアの構成を説明する図である。
【図１Ｅ】店舗エリアの構成を説明する図である。
【図２】店舗マスタＤＢ（database）の一例を説明する図である。
【図３】キャンペーン登録ＤＢの一例を説明する図である。
【図４】キャンペーン対象店舗ＤＢの一例を説明する図である。
【図５】キャンペーンランキングＤＢの一例を説明する図である。
【図６】キャンペーン商品分類ＤＢの一例を説明する図である。
【図７Ａ】売上明細ＤＢの一例を説明する図である。
【図７Ｂ】ステップＳ１７０７において作成した売上明細ＤＢの一例を説明する図である。
【図８】商品マスタＤＢの一例を説明する図である。
【図９】ボーナスポイント履歴ＤＢの一例を説明する図である。
【図１０】購入数・購入金額集計ワークＤＢの一例を説明する図である。
【図１１】ランキング集計ワークＤＢの一例を説明する図である。
【図１２】ランキング集計結果ＤＢの一例を説明する図である。（ａ）は資格判定処理後のランキング集計結果ＤＢである。（ｂ）はランキング特定後のランキング集計結果ＤＢである。
【図１３】ランキング最終集計結果ＤＢの一例を説明する図である。
【図１４】キャンペーン登録画面の一例を説明する図である。
【図１５】キャンペーン登録処理のフローチャートである。
【図１６】ボーナスポイント算出処理のフローチャートである。
【図１７】ランキング集計処理のフローチャートである。
【図１８】ランキングボーナスポイント計上処理のフローチャートである。
【発明を実施するための形態】
【００１６】
以降、本発明を実施するための形態（「本実施形態」という）を、図などを参照しながら詳細に説明する。また、本実施形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１７】
（全体構成）
図１Ａは、本実施形態の概略を説明する図である。
本実施形態のポイントラリーシステム１００は、サーバ設置エリア２０１、本社エリア２０２および店舗エリア２０３に分かれて実装される。なお、これらのエリアは１つのエリアに集約してもよいし、２つ以上のエリアに分けてもよい。そして、これらのエリアはネットワーク２００を介して接続可能である。
ここで「エリア」とは、所定の目的および／または単位で区切られた領域のことをいう。所定の目的とは、例えば、サーバを設置する目的、統括的な業務を行う目的、商品を並べて売る目的などである。所定の単位とは、例えば、建物、フロア（階）、部屋などである。なお、これらの目的および単位の組み合わせは問わない。
【００１８】
ネットワーク２００は、各コンピュータを接続する有線または無線の通信網である。
【００１９】
サーバ設置エリア２０１は、アプリケーションサーバ２１０およびデータベースサーバ２２０を含んで構成される。
【００２０】
アプリケーションサーバ２１０は、ポイントラリーシステム１００を提供するサーバ装置である。アプリケーションサーバ２１０は、ＣＰＵ（Central Processing Unit）２１１、メモリ２１２、記憶装置２１３、出力装置２１７および入力装置２１８を含んで構成される。
【００２１】
ＣＰＵ２１１は、メモリ２１２に記憶されたプログラムを実行することによって各種処理を行う。
メモリ２１２は、ＣＰＵ２１１が実行するプログラムを一時的に記憶する。
記憶装置２１３は、ＣＰＵ２１１が実行するプログラムを記憶する。
出力装置２１７は、例えばディスプレイであり、アプリケーションサーバ２１０の操作画面を表示する。
入力装置２１８は、例えばキーボードやマウスであり、アプリケーションサーバ２１０の操作者からの指示を受け付ける。
【００２２】
データベースサーバ２２０は、各種データベースの運用管理を行うサーバ装置である。データベースサーバ２２０は、ＣＰＵ２２１、メモリ２２２、記憶装置２２３、出力装置２３７および入力装置２３８を含んで構成される。
【００２３】
ＣＰＵ２２１は、メモリ２２２に記憶されたプログラムを実行することによって各種処理を行う。
メモリ２２２は、ＣＰＵ２２１が実行するプログラムを一時的に記憶する。
【００２４】
記憶装置２２３は、ＣＰＵ２２１が使用するデータを記憶する。
【００２５】
出力装置２３７は、例えばディスプレイであり、データベースサーバ２２０の操作画面を表示する。
入力装置２３８は、例えばキーボードやマウスであり、データベースサーバ２２０の操作者からの指示を受け付ける。
【００２６】
本社エリア２０２は、運用管理端末２４０を含んで構成される（詳細後記）。
【００２７】
店舗エリア２０３は、店舗１エリア２５０、店舗２エリア２６０および店舗Ｎエリア２７０に分かれる（詳細後記）。
【００２８】
（アプリケーションサーバ）
図１Ｂは、アプリケーションサーバ２１０の構成を説明する図である。
アプリケーションサーバ２１０は、前記のとおり、ＣＰＵ２１１、メモリ２１２、記憶装置２１３、出力装置２１７および入力装置２１８を含んで構成される。
【００２９】
記憶装置２１３は、図１Ｂに示すように、キャンペーン登録部２１４、ボーナスポイント算出部２１５およびランキング集計・ランキングボーナスポイント計上部２１６を含んで構成される。
【００３０】
キャンペーン登録部２１４は、後記する本社エリア２０２に設置される運用管理端末２４０のキャンペーン登録画面１５００から入力された情報を、後記する各種データベース（図１Ｃ参照）へ記録する。
ボーナスポイント算出部２１５は、各種データベースに記録された情報を基にボーナスポイントを算出して、算出したボーナスポイントを後記するボーナスポイント履歴ＤＢ２３２（図１Ｃ参照）へ記憶する。
【００３１】
ランキング集計・ランキングボーナスポイント計上部２１６は、後記する各種データベース（図１Ｃ参照）に記録された情報を基にランキングを特定し、特定したランキングに対応するランキングポイントを付与し、その結果を所定のデータベースへ記憶する。
これらの具体的な機能等は、後記する処理説明において詳細に説明する。
【００３２】
（データベースサーバ）
図１Ｃは、データベースサーバ２２０の構成を説明する図である。
データベースサーバ２２０は、前記のとおり、ＣＰＵ２２１、メモリ２２２、記憶装置２２３、出力装置２３７および入力装置２３８を含んで構成される。
【００３３】
記憶装置２２３は、データベース（ＤＢ、database）２２４を含んで構成される。
データベース２２４は、店舗マスタＤＢ２２５、キャンペーン登録ＤＢ２２６、キャンペーン対象店舗ＤＢ２２７、キャンペーンランキングＤＢ２２８、キャンペーン商品分類ＤＢ２２９、売上明細ＤＢ２３０、商品マスタＤＢ２３１、ボーナスポイント履歴ＤＢ２３２、購入数・購入金額集計ワークＤＢ２３３、ランキング集計ワークＤＢ２３４、ランキング集計結果ＤＢ２３５およびランキング最終集計結果ＤＢ２３６を含んで構成される。
【００３４】
店舗マスタＤＢ２２５には、店舗の情報が記憶されている。店舗マスタＤＢ２２５は、図２に示すように、店舗コード３０１、店舗名３０２、都道府県３０３、市区町村３０４および住所３０５を含んで構成される。店舗マスタＤＢ２２５には、店舗コード３０１に対応づけて、他の情報が記憶されている。
【００３５】
店舗コード３０１は、店舗を一意に特定する識別子である。
店舗名３０２は、店舗の名称である。
都道府県３０３は、店舗の所在地の都道府県の名称である。
市区町村３０４は、店舗の所在地の市区町村の名称である。
住所３０５は、店舗の所在地の市区町村３０４より後の住所である。
【００３６】
キャンペーン登録ＤＢ２２６には、キャンペーンの情報が記憶されている。キャンペーン登録ＤＢ２２６は、図３に示すように、キャンペーンＩＤ（identifier）４０１、キャンペーン名４０２、都道府県４０３、開始日４０４、終了日４０５、還元率４０６および最低購入金額４０７を含んで構成される。キャンペーン登録ＤＢ２２６には、キャンペーンＩＤ４０１に対応づけて、他の情報が記憶されている。
【００３７】
キャンペーンＩＤ４０１は、キャンペーンを一意に特定する識別子である。
キャンペーン名４０２は、キャンペーンの名称である。
都道府県４０３は、キャンペーンの対象となる商品が生産された地域（産地）の都道府県の名称である。
開始日４０４は、キャンペーンが開始する日付である。
終了日４０５は、キャンペーンが終了する日付である。
還元率４０６は、顧客の購入金額に対して、ポイントを還元する割合である。図３の例では、百分率で表されている。
最低購入金額４０７は、キャンペーンの対象となる購入金額の、最低基準となる金額である。
【００３８】
キャンペーン対象店舗ＤＢ２２７には、キャンペーンを行う店舗とキャンペーンの情報が記憶されている。キャンペーン対象店舗ＤＢ２２７は、図４に示すように、店舗コード５０１およびキャンペーンＩＤ５０２を含んで構成される。キャンペーン対象店舗ＤＢ２２７には、店舗コード５０１に対応づけて、キャンペーンＩＤ５０２が記憶されている。
【００３９】
店舗コード５０１は、店舗を一意に特定する識別子である。
キャンペーンＩＤ５０２は、キャンペーンを一意に特定する識別子である。
【００４０】
キャンペーンランキングＤＢ２２８には、キャンペーンのランキングに関する情報が記憶されている。キャンペーンランキングＤＢ２２８は、図５に示すように、キャンペーンＩＤ６０１、ランキング６０２およびボーナスポイント６０３を含んで構成される。キャンペーンランキングＤＢ２２８には、キャンペーンＩＤ６０１に対応づけて、他の情報が記憶されている。
【００４１】
キャンペーンＩＤ６０１は、キャンペーンを一意に特定する識別子である。
ランキング６０２は、ランキングの順位である。ランキング６０２には、最上位である「１」から始まって、下位になるにつれて「２」「３」・・・のように増加する数字が記憶されている。
ボーナスポイント６０３は、ランキング６０２に応じて付与されるボーナスポイントである。ボーナスポイント６０３には、一般的に、上位のランキングが高く、下位になるにつれて低いポイントが記憶されている。
【００４２】
キャンペーン商品分類ＤＢ２２９には、キャンペーンの対象となる商品の分類が記憶されている。キャンペーン商品分類ＤＢ２２９は、図６に示すように、キャンペーンＩＤ７０１、ＪＩＣＦＳ（Jan Item Code File Service）大中分類７０２およびＪＩＣＦＳ小分類７０３を含んで構成される。キャンペーン商品分類ＤＢ２２９には、キャンペーンＩＤ７０１に対応づけて、他の情報が記憶されている。
【００４３】
キャンペーンＩＤ７０１は、キャンペーンを一意に特定する識別子である。
ＪＩＣＦＳ大中分類７０２は、ＪＡＮ（Japanese Article Number）コードとこれに付随する商品情報を一元的に管理するデータベースサービスであるＪＩＣＦＳにおいて、「大分類コード」および「中分類コード」で特定される区分の名称である。
ＪＩＣＦＳ小分類７０３は、ＪＩＣＦＳにおいて、ＪＩＣＦＳ大中分類７０２の「大分類コード」および「中分類コード」で特定された区分に加え、更に「小分類コード」で特定される区分の名称である。以降、「商品分類」と記載した場合は、断りのない限り、ＪＩＣＦＳ小分類を指すものとする。
【００４４】
売上明細ＤＢ２３０には、店舗における商品の売上に関する情報が記憶されている。売上明細ＤＢ２３０は、図７Ａに示すように、売上明細コード８０１、売上コード８０２、購入店舗コード８０３、顧客ＩＤ８０４、商品コード８０５、購入日時８０６および数量８０７を含んで構成される。売上明細ＤＢ２３０には、売上明細コード８０１に対応づけて、他の情報が記憶されている。
【００４５】
売上明細コード８０１は、売上を構成する詳細情報（売上明細）を一意に特定する識別子である。売上明細ＤＢ２３０のレコード１件が、売上明細に相当する。
売上コード８０２は、売上を一意に特定する識別子である。
購入店舗コード８０３は、商品を購入した店舗を一意に特定する識別子である。
顧客ＩＤ８０４は、顧客を一意に特定する識別子である。
商品コード８０５は、商品を一意に特定する識別子である（図８にて後記）。
購入日時８０６は、商品を購入した日時（年月日時分秒）である。
数量８０７は、商品の購入数量である。
【００４６】
ここで、ある顧客がスーパーマーケットで買い物をした場合を例示して、図７Ａを説明する。
店舗コード（購入店舗コード８０３）が「Ａ１０００００００１」の店舗において、顧客ＩＤ８０４が「２００００００１」の顧客が買い物をした。
この顧客は、１回の会計につき、３種類の商品を購入した。その際のレシートには、レシート番号として「Ａ３００００００１」が記載されていた。このレシート番号が、売上明細ＤＢ２３０における売上コード８０２に相当する。
【００４７】
また、このレシートには、購入した商品の商品名、数量および価格が記載されていた。１行目には「なす（愛知県産）  ２５０円×２個」と、２行目には「かぼちゃ  ３００円×１個」と、３行目には「バナナ  ２００円×１個」と記載されていた。このレシートの１行が、売上明細ＤＢ２３０のレコード１件に相当する。
【００４８】
商品マスタＤＢ２３１には、商品に関する情報が記憶されている。商品マスタＤＢ２３１は、図８に示すように、商品コード９０１、商品名９０２、ＪＩＣＦＳ大中分類９０３、ＪＩＣＦＳ小分類９０４、原産国９０５、都道府県９０６および税込価格９０７を含んで構成される。商品マスタＤＢ２３１には、商品コード９０１に対応づけて、他の情報が記憶されている。
【００４９】
商品コード９０１は、商品を一意に特定する識別子である。
商品名９０２は、商品の名称である。
ＪＩＣＦＳ大中分類９０３は、ＪＡＮコードとこれに付随する商品情報を一元的に管理するデータベースサービスであるＪＩＣＦＳにおいて、「大分類コード」および「中分類コード」で特定される区分の名称である。
ＪＩＣＦＳ小分類９０４は、ＪＩＣＦＳにおいて、ＪＩＣＦＳ大中分類９０３の「大分類コード」および「中分類コード」で特定された区分に加え、更に「小分類コード」で特定される区分の名称である。
原産国９０５は、商品の産地の国名である。
都道府県９０６は、商品の産地の都道府県名である。なお、産地は都道府県単位に限らず、例えば、市町村単位としてもよい。
税込価格９０７は、商品の１個当たりの消費税を含んだ値段である。なお、当該項目は消費税を含まない値段としてもよい。
【００５０】
ボーナスポイント履歴ＤＢ２３２には、ボーナスポイントを付与した履歴が記憶されている。ボーナスポイント履歴ＤＢ２３２は、図９に示すように、売上明細コード１００１、顧客ＩＤ１００２、商品コード１００３およびボーナスポイント１００４を含んで構成される。ボーナスポイント履歴ＤＢ２３２には、売上明細コード１００１に対応づけて、他の情報が記憶されている。
【００５１】
売上明細コード１００１は、ボーナスポイント付与の対象となった売上明細を一意に特定する識別子である。
顧客ＩＤ１００２は、ボーナスポイント付与の対象となった顧客を一意に特定する識別子である。
商品コード１００３は、ボーナスポイント付与の対象となった商品を一意に特定する識別子である。
ボーナスポイント１００４は、付与したボーナスポイント数である。
【００５２】
購入数・購入金額集計ワークＤＢ２３３には、顧客が購入したキャンペーン対象の商品の数および金額が記憶されている。購入数・購入金額集計ワークＤＢ２３３は、図１０に示すように、キャンペーンＩＤ１１０１、顧客ＩＤ１１０２、合計購入数１１０３および購入金額計１１０４を含んで構成される。購入数・購入金額集計ワークＤＢ２３３には、キャンペーンＩＤ１１０１および顧客ＩＤ１１０２に対応づけて、他の情報が記憶されている。
【００５３】
キャンペーンＩＤ１１０１は、ランキングを特定する対象のキャンペーンを一意に特定する識別子である。
顧客ＩＤ１１０２は、ランキングを特定する対象となる顧客を一意に特定する識別子である。
合計購入数１１０３は、ランキングを特定する対象となる商品の購入数の合計である。
購入金額計１１０４は、ランキングを特定する対象となる商品の購入金額の合計である。
【００５４】
ランキング集計ワークＤＢ２３４には、ランキングを特定するために必要な情報が記憶されている。ランキング集計ワークＤＢ２３４は、図１１に示すように、キャンペーンＩＤ１２０１、顧客ＩＤ１２０２、集計日時１２０３、都道府県１２０４、購入数１２０５および購入割合１２０６を含んで構成される。ランキング集計ワークＤＢ２３４には、キャンペーンＩＤ１２０１、顧客ＩＤ１２０２および都道府県１２０４に対応づけて、他の情報が記憶されている。
【００５５】
キャンペーンＩＤ１２０１は、ランキングを特定する対象となるキャンペーンを一意に特定する識別子である。
顧客ＩＤ１２０２は、ランキングを特定する対象となる顧客を一意に特定する識別子である。
集計日時１２０３は、ランキングを特定するために売上明細ＤＢ２３０を集計した日時である。
都道府県１２０４は、ランキングを特定する対象となる商品の産地の都道府県名である。
購入数１２０５は、ランキングを特定する対象となる商品の購入数である。
購入割合１２０６は、ランキングを特定する対象となる商品の購入金額の、全体の購入金額に対する割合（百分率）である。
【００５６】
ランキング集計結果ＤＢ２３５には、ランキングを特定した結果が記憶されている。ランキング集計結果ＤＢ２３５は、図１２に示すように、キャンペーンＩＤ１３０１、顧客ＩＤ１３０２、購入割合１３０３、ランキング１３０４、集計日時１３０５および資格判定１３０６を含んで構成されている。
【００５７】
キャンペーンＩＤ１３０１は、ランキングを特定する対象となるキャンペーンを一意に特定する識別子である。
顧客ＩＤ１３０２は、ランキングを特定する対象となる顧客を一意に特定する識別子である。
購入割合１３０３は、ランキングを特定する対象となる商品を購入した金額の、全体の購入金額に対する割合（百分率）である。
ランキング１３０４は、ランキングの順位である。図１２（ａ）は、ランキングを特定する前の状態であり、ランキング１３０４は空欄となっている。図１２（ｂ）は、ランキングを特定した後の状態であり、ランキング１３０４には順位が記憶されている。
集計日時１３０５は、ランキングを特定するために売上明細ＤＢ２３０を集計した日時である。
資格判定１３０６は、ランキングを特定する対象となる資格の有無である。資格判定１３０６には、ランキングを特定する対象となる場合は「１」が、対象とならない場合は「０」が記憶される。
【００５８】
ランキング最終集計結果ＤＢ２３６には、ランキングを特定した結果が記憶されている。ランキング最終集計結果ＤＢ２３６は、図１３に示すように、キャンペーンＩＤ１４０１、顧客ＩＤ１４０２、購入割合１４０３、ランキング１４０４、集計日時１４０５および資格判定１４０６を含んで構成される。ランキング最終集計結果ＤＢ２３６には、キャンペーンＩＤ１４０１および顧客ＩＤ１４０２に対応づけて、他の情報が記憶されている。
【００５９】
キャンペーンＩＤ１４０１は、ランキングを特定した対象となるキャンペーンを一意に特定する識別子である。
顧客ＩＤ１４０２は、ランキングを特定した対象となる顧客を一意に特定する識別子である。
購入割合１４０３は、ランキングを特定した対象となる商品を購入した金額の、全体の購入金額に対する割合（百分率）である。
ランキング１４０４は、ランキングの順位である。
集計日時１４０５は、ランキングを特定した日時である。
資格判定１４０６は、ランキングを特定する対象となる資格（ランキング特定資格）の有無である。資格判定１４０６には、ランキングを特定する対象となる場合は「１」が、対象とならない場合は「０」が記憶される。
【００６０】
（本社エリア）
本社エリア２０２は、前記のとおり、運用管理端末２４０を含んで構成される。
【００６１】
運用管理端末２４０は、ポイントラリーシステム１００を運用管理する管理者が操作する装置である。運用管理端末２４０は、図１Ｄに示すように、ＣＰＵ２４１、メモリ２４２、記憶装置２４３、出力装置２４５および入力装置２４６を含んで構成される。
【００６２】
ＣＰＵ２４１は、メモリ２４２に記憶されたプログラムを実行することによって各種処理を行う。
メモリ２４２は、ＣＰＵ２４１が実行するプログラムを一時的に記憶する。
【００６３】
記憶装置２４３は、ＣＰＵ２４１が実行するプログラムを記憶する。記憶装置２４３は、ＷＥＢブラウザ装置２４４を含んで構成される。
ＷＥＢブラウザ装置２４４は、ポイントラリーシステム１００の運用管理画面を表示する装置である。当該運用管理画面には、後記するキャンペーン登録画面１５００（図１４参照）がある。
【００６４】
出力装置２４５は、例えばディスプレイであり、アプリケーションサーバ２１０の操作画面を表示する。
入力装置２４６は、例えばキーボードやマウスであり、アプリケーションサーバ２１０の操作者からの指示を受け付ける。
【００６５】
（店舗エリア）
店舗エリア２０３は、前記のとおり、店舗１エリア２５０、店舗２エリア２６０および店舗Ｎエリア２７０に分かれる。
【００６６】
店舗１エリア２５０は、図１Ｅに示すように、ＰＯＳ（Point of sale system）レジスタ２５１、ＰＯＳレジスタ２５２およびＰＯＳレジスタ２５Ｎを含んで構成される。
ＰＯＳレジスタ２５１、ＰＯＳレジスタ２５２およびＰＯＳレジスタ２５Ｎは、商品の販売時に取引を記録する装置である。
【００６７】
店舗２エリア２６０および店舗Ｎエリア２７０も、店舗１エリア２５０と同様の構成である。なお、これらは例示であり、店舗エリアの数およびＰＯＳレジスタの数は図１Ｅに示すものに限定されない。
【００６８】
（キャンペーン登録画面）
次に、キャンペーンの詳細情報を登録する画面について説明する。図１４は、キャンペーン登録画面１５００の一例を説明する図である。
キャンペーン登録は、管理者が本社エリア２０２の運用管理端末２４０を操作し、キャンペーン登録画面１５００を介してキャンペーンの詳細情報を入力し、各種ＤＢに登録することで実現される。図１４を参照して、キャンペーン登録画面１５００の構成等について説明する。
【００６９】
キャンペーンＩＤ１５０１には、キャンペーンＩＤが入力される。当該キャンペーンＩＤは、キャンペーン登録ＤＢ２２６、キャンペーン対象店舗ＤＢ２２７、キャンペーンランキングＤＢ２２８およびキャンペーン商品分類ＤＢ２２９の同名の項目に対応する。
キャンペーン名１５０２には、キャンペーンの名称が入力される。当該キャンペーン名称は、キャンペーン登録ＤＢ２２６のキャンペーン名４０２に対応する。
【００７０】
キャンペーン開始日１５０３には、キャンペーンを開始する日付が入力される。当該キャンペーン開始日は、キャンペーン登録ＤＢ２２６の開始日４０４に対応する。
キャンペーン終了日１５０４には、キャンペーンを終了する日付が入力される。当該キャンペーン終了日は、キャンペーン登録ＤＢ２２６の終了日４０５に対応する。
【００７１】
店舗一覧ボタン１５０５が押下されると、店舗一覧１５０８に店舗名が表示される。当該店舗名は、キャンペーン登録部２１４が店舗マスタＤＢ２２５から取得した値である。
都道府県リストボックス１５０６から任意の都道府県が選択され、都道府県絞込実行ボタン１５０７が押下されると、店舗一覧１５０８に都道府県リストボックス１５０６で指定した都道府県の店舗名が表示される。
店舗一覧１５０８に表示された店舗名から任意の店舗名が選択され、店舗追加ボタン１５０９が押下されると、当該選択された店舗名が選択店舗１５１０に表示される。
【００７２】
商品分類選択ボタン１５１１は、生鮮食品全て指定する商品分類選択ボタン１５１１ａと生鮮食品を任意に選択する商品分類選択ボタン１５１１ｂのいずれか一方が選択される。商品分類選択ボタン１５１１ｂが選択されると、商品分類選択チェックボックス１５１２が選択可能となる。商品分類選択ボタン１５１１および商品分類選択チェックボックス１５１２で選択された商品分類が、キャンペーン商品分類ＤＢ２２９のＪＩＣＦＳ小分類７０３に対応する。
【００７３】
産地リストボックス１５１３には、商品の産地の都道府県が選択される。当該都道府県が、キャンペーン登録ＤＢ２２６の都道府県４０３に対応する。
還元率１５１４には、購入金額に対してポイントを還元する割合（百分率）が入力される。当該還元率は、キャンペーン登録ＤＢ２２６の還元率４０６に対応する。
【００７４】
ランキングボーナスポイント１５１５には、ランキングの順位によって付与するポイント数が入力される。当該ポイントは、キャンペーンランキングＤＢ２２８のボーナスポイント６０３に対応する。また、「１位」のランキングボーナスポイント１５１５ａを入力した場合は、キャンペーンランキングＤＢ２２８のランキング６０２に「１」が設定される。ランキングボーナスポイント１５１５ｄ，ｅのようにポイントを入力しなかった場合は、図５に示すように、対応する順位のレコードがキャンペーンランキングＤＢ２２８に作成されない。
【００７５】
順位追加ボタン１５１６が押下されると、キャンペーン登録画面１５００に現在表示されているランキングの順位よりも下位の順位のポイントを入力するランキングボーナスポイント１５１５が表示される。図１４に示す例では、「５位」までのポイントが入力できるが、順位追加ボタン１５１６が押下されると、ランキングボーナスポイント１５１５ｅの下に、「６位」のポイントを入力できるランキングボーナスポイント１５１５が表示される。順位追加ボタン１５１６が押下される毎に、「７位」、「８位」・・・と、下位の順位のランキングボーナスポイント１５１５が表示される。
【００７６】
最低購入金額１５１７には、キャンペーンの対象となる購入金額の、最低基準となる金額が入力される。当該金額は、キャンペーン登録ＤＢ２２６の最低購入金額４０７に対応する。
登録ボタン１５１８が押下されると、キャンペーン登録画面１５００に入力した値が、各種ＤＢの対応する項目へ記憶される。
【００７７】
（キャンペーン登録処理）
次に、キャンペーン登録処理について、各図を参照して説明する。図１５は、キャンペーン登録処理のフローチャートである。
【００７８】
ステップＳ１５０１において、キャンペーン登録部２１４は、店舗一覧ボタン１５０５または都道府県絞込実行ボタン１５０７のイベントを検知する。当該イベントは、キャンペーン登録画面１５００（図１４参照）に表示される各ボタンを、管理者が押下することにより発生する。
そして、ステップＳ１５０２に進む。
【００７９】
ステップＳ１５０２において、キャンペーン登録部２１４は、店舗マスタＤＢ２２５を検索し、店舗名３０２を取得する。
ステップＳ１５０１において店舗一覧ボタン１５０５のイベントを検知した場合、キャンペーン登録部２１４は、店舗マスタＤＢ２２５の店舗名３０２を全件取得する。ステップＳ１５０１において都道府県絞込実行ボタン１５０７のイベントを検知した場合、キャンペーン登録部２１４は、都道府県リストボックス１５０６で選択された都道府県名をキーとして店舗マスタＤＢ２２５を検索し、都道府県名が一致するレコードに記憶された店舗名３０２を取得する。
そして、ステップＳ１５０３に進む。
【００８０】
ステップＳ１５０３において、キャンペーン登録部２１４は、ステップＳ１５０２において取得した店舗マスタＤＢ２２５の店舗名３０２を、キャンペーン登録画面１５００の店舗一覧１５０８に表示する。ステップＳ１５０１において店舗一覧ボタン１５０５のイベントを検知した場合、キャンペーン登録部２１４は、店舗マスタＤＢ２２５の店舗名３０２を全件表示する。ステップＳ１５０１において都道府県絞込実行ボタン１５０７のイベントを検知した場合、キャンペーン登録部２１４は、ステップＳ１５０２において検索して取得した店舗名を表示する。
【００８１】
なお、この際、表示した店舗名に対応する店舗コード３０１をメモリ２１２に記憶しておくことで、後記するステップＳ１５０６のキャンペーン期間重複チェックの処理負荷を軽減することができる。
そして、ステップＳ１５０４に進む。
【００８２】
ステップＳ１５０４において、キャンペーン登録部２１４は、登録ボタン１５１８のイベントを検知する。当該イベントは、キャンペーン登録画面１５００に表示される登録ボタン１５１８を、管理者が押下することにより発生する。
そして、ステップＳ１５０５に進む。
【００８３】
ステップＳ１５０５において、キャンペーン登録部２１４は、キャンペーンＩＤの重複チェックを行う。キャンペーン登録部２１４は、キャンペーンＩＤ１５０１に入力されたキャンペーンＩＤをキーとして、キャンペーン登録ＤＢ２２６を検索する。キャンペーンＩＤが一致するレコードが既にキャンペーン登録ＤＢ２２６に存在する場合は、キャンペーンＩＤが重複するとして、エラーを出力する。
そして、ステップＳ１５０６に進む。
【００８４】
ステップＳ１５０６において、キャンペーン登録部２１４は、キャンペーン期間の重複チェックを行う。キャンペーン登録部２１４は、キャンペーン開始日１５０３およびキャンペーン終了日１５０４で特定される期間内に、選択店舗１５１０で選択された店舗が他のキャンペーンを行っていないかチェックを行う。
【００８５】
具体的には、キャンペーン登録部２１４は、ステップＳ１５０３においてメモリ２１２に記憶した店舗コード３０１をキーに、キャンペーン対象店舗ＤＢ２２７を検索する。店舗コードが一致するレコードが存在した場合、当該レコードに記憶されたキャンペーンＩＤ５０２をキーとして、キャンペーン登録ＤＢ２２６を検索する。キャンペーンＩＤが一致するレコードに記憶された開始日４０４および終了日４０５で特定される期間が、キャンペーン開始日１５０３およびキャンペーン終了日１５０４で特定された期間と重複する場合、キャンペーン登録部２１４はエラーを出力する。
【００８６】
なお、メモリ２１２に店舗コード３０１が記憶されていない場合は、選択店舗１５１０に表示された店舗名をキーに店舗マスタＤＢ２２５を検索して、店舗名が一致するレコードに記憶された店舗コード３０１を取得する。
そして、ステップＳ１５０７に進む。
【００８７】
ステップＳ１５０７において、キャンペーン登録部２１４は、キャンペーン登録画面１５００に入力された値（入力値）を、キャンペーン登録ＤＢ２２６、キャンペーン対象店舗ＤＢ２２７、キャンペーンランキングＤＢ２２８およびキャンペーン商品分類ＤＢ２２９のそれぞれ対応する項目へ記憶する。
【００８８】
なお、入力値の基本的なエラーチェックは、ＷＥＢブラウザ装置２４４で行うことができる。基本的なエラーとは、例えば、（１）キャンペーンＩＤ１５０１、キャンペーン名１５０２および選択店舗１５１０が必須入力（指定）項目であるにもかかわらず当該項目が未入力（未指定）であった場合、（２）キャンペーン開始日１５０３がキャンペーン終了日１５０４よりも未来の日付であった場合である。
【００８９】
基本的なエラーチェックは、ステップＳ１５０４においてキャンペーン登録部２１４が登録ボタン１５１８のイベントを検知する前に行うのが好ましい。例えば、当該チェックでエラーが検出されなかった場合にのみ、キャンペーン登録部２１４へ登録ボタン１５１８のイベントを通知するようにする。各ＤＢにアクセスする前に基本的なエラーチェックすることにより、処理の負荷を軽減することができる。
そして、キャンペーン登録部２１４は、処理を終了する。
【００９０】
（ボーナスポイント算出処理）
次に、ボーナスポイント算出処理について説明する。ボーナスポイント算出処理は、各店舗における売上がキャンペーン対象であるか否かを判定し、ボーナスポイントを算出する処理である。ボーナスポイント算出処理は、各店舗において会計の際にＰＯＳレジスタから入力された売上の情報が、新規レコードとして売上明細ＤＢ２３０に記憶されることを契機に行われる。
図１６は、ボーナスポイント算出処理のフローチャートである。
【００９１】
ステップＳ１６０１において、ボーナスポイント算出部２１５は、売上明細ＤＢ２３０に新規レコードが記憶されたことを検知し、当該レコードを取得する。
そして、ステップＳ１６０２に進む。
【００９２】
ステップＳ１６０２において、ボーナスポイント算出部２１５は、ステップＳ１６０１において取得した売上明細ＤＢ２３０のレコードに記憶された購入店舗コード８０３をキーとして、キャンペーン対象店舗ＤＢ２２７を検索し、店舗コードが一致するレコードに記憶されたキャンペーンＩＤ５０２を取得する。
【００９３】
ステップＳ１６０３において、ボーナスポイント算出部２１５は、ステップＳ１６０２において取得した件数（取得件数）が０件であるか否かを判定する。ステップＳ１６０２において取得件数が０件であるということは、当該店舗においてキャンペーン情報が登録されていないということである。換言すれば、当該店舗はキャンペーン対象外である、キャンペーンが実施されていないということである。
取得件数が０件である場合（ステップＳ１６０３“Ｙｅｓ”）、処理を終了する。
取得件数が０件でない場合（ステップＳ１６０３“Ｎｏ”）、ステップＳ１６０４に進む。
【００９４】
ステップＳ１６０４において、ボーナスポイント算出部２１５は、ステップＳ１６０２において取得したキャンペーンＩＤをキーとして、キャンペーン登録ＤＢ２２６を検索し、キャンペーンＩＤが一致するレコードに記憶された開始日４０４および終了日４０５を取得する。
そして、ステップＳ１６０５に進む。
【００９５】
ステップＳ１６０５において、ボーナスポイント算出部２１５は、ステップＳ１６０１において取得した売上明細ＤＢ２３０のレコードが、キャンペーン期間内の売上であるか否かを判定する。当該判定は、売上明細ＤＢ２３０の購入日時８０６の年月日（以下、購入日と称す）、ステップＳ１６０４において取得したキャンペーン登録ＤＢ２２６の開始日４０４および終了日４０５を比較することにより行われる。具体的には、開始日≦購入日≦終了日であるか否かを判定する。
キャンペーン期間内である場合（ステップＳ１６０５“Ｙｅｓ”）、ステップＳ１６０６に進む。
キャンペーン期間外である場合（ステップＳ１６０５“Ｎｏ”）、処理を終了する。
【００９６】
ステップＳ１６０６において、ボーナスポイント算出部２１５は、ステップＳ１６０１において取得した売上明細ＤＢ２３０の商品コード８０５をキーとして、商品マスタＤＢ２３１を検索し、商品コードが一致するレコードに記憶されたＪＩＣＦＳ小分類９０４を取得する。
そして、ステップＳ１６０７に進む。
【００９７】
ステップＳ１６０７において、ボーナスポイント算出部２１５は、ステップＳ１６０２において取得したキャンペーンＩＤおよびステップＳ１６０６において取得したＪＩＣＦＳ小分類をキーとして、キャンペーン商品分類ＤＢ２２９を検索する。
そして、ステップＳ１６０８に進む。
【００９８】
ステップＳ１６０８において、ボーナスポイント算出部２１５は、ステップＳ１６０７において検索した結果（検索結果）が０件であるか否かを判定する。ステップＳ１６０７において検索結果が０件であるということは、当該店舗で行われているキャンペーンにおいて、当該商品の商品分類（ＪＩＣＦＳ小分類）は、キャンペーン対象外であるということである。
検索結果が０件である場合（ステップＳ１６０８“Ｙｅｓ”）、処理を終了する。
検索結果が０件でない場合（ステップＳ１６０８“Ｎｏ”）、ステップＳ１６０９に進む。
【００９９】
ステップＳ１６０９において、ボーナスポイント算出部２１５は、ステップＳ１６０１において取得した売上明細ＤＢ２３０の商品コード８０５をキーとして、商品マスタＤＢ２３１を検索し、商品コードが一致するレコードに記憶された都道府県９０６および税込価格９０７を取得する。
そして、ステップＳ１６１０に進む。
【０１００】
ステップＳ１６１０において、ボーナスポイント算出部２１５は、ステップＳ１６０２において取得したキャンペーンＩＤをキーとして、キャンペーン登録ＤＢ２２６を検索し、キャンペーンＩＤが一致するレコードに記憶された都道府県４０３および還元率４０６を取得する。
そして、ステップＳ１６１１に進む。
【０１０１】
ステップＳ１６１１において、ボーナスポイント算出部２１５は、ステップＳ１６０９において取得した都道府県９０６とステップ１６１０において取得した都道府県４０３とが一致するか否かを判定する。
両者が一致する場合（ステップＳ１６１１“Ｙｅｓ”）、ステップＳ１６１２に進む。
両者が一致しない場合（ステップＳ１６１１“Ｎｏ”）、処理を終了する。
【０１０２】
ステップＳ１６１２において、ボーナスポイント算出部２１５は、ボーナスポイントを算出する。ボーナスポイントは、ステップＳ１６０１において取得した売上明細ＤＢ２３０のレコードの数量８０７、ステップＳ１６０９において取得した商品マスタＤＢ２３１の税込価格９０７およびステップＳ１６１０において取得したキャンペーン登録ＤＢ２２６の還元率４０６を基に算出される。なお、当該還元率４０６は図３に示すように百分率でキャンペーン登録ＤＢ２２６に記憶されているので、ボーナスポイントを算出する際は、還元率４０６を「１００」で除算した値を用いる。ボーナスポイントは、下式（１）で算出される。
ボーナスポイント＝税込価格×数量×還元率        （１）
そして、ステップＳ１６１３に進む。
【０１０３】
ステップＳ１６１３において、ボーナスポイント算出部２１５は、ステップＳ１６０１において取得した売上明細ＤＢ２３０のレコードの売上明細コード８０１、顧客ＩＤ８０４および商品コード８０５ならびにステップＳ１６１２において算出したボーナスポイントを、ボーナスポイント履歴ＤＢ２３２の同名項目へ記憶する。
そして、処理を終了する。
【０１０４】
（ランキング集計処理）
次に、ランキング集計処理について説明する。ランキング集計処理は、顧客毎の購入金額を集計して、ランキングを特定する処理である。ランキング集計処理は、売上情報全件の集計処理を行うため、夜間日次バッチプログラムで行われることが好ましい。
図１７は、ランキング集計処理のフローチャートである。
【０１０５】
ステップＳ１７０１において、ランキング集計・ランキングボーナスポイント計上部２１６は、購入数・購入金額集計ワークＤＢ２３３およびランキング集計ワークＤＢ２３４をクリアする。これらのＤＢはランキング集計処理用の作業領域であり、前回のランキング集計処理のデータが残っている。そのため、当該ステップで初期化をする。
そして、ステップＳ１７０２に進む。
【０１０６】
ステップＳ１７０２において、ランキング集計・ランキングボーナスポイント計上部２１６は、アプリケーションサーバ２１０のシステム日付を取得する。
そして、ステップＳ１７０３に進む。
【０１０７】
ステップＳ１７０３において、ランキング集計・ランキングボーナスポイント計上部２１６は、キャンペーン登録ＤＢ２２６から、キャンペーン期間中のレコードを検索し、取得する。具体的には、ステップＳ１７０２において取得したシステム日付ならびにキャンペーン登録ＤＢ２２６の開始日４０４および終了日４０５を比較し、下式（２）を満たすレコードを取得する。なお、取得したレコードを「キャンペーン情報一覧」と称す。
開始日≦システム日付≦終了日      （２）
そして、ステップＳ１７０４に進む。
【０１０８】
ステップＳ１７０４において、ランキング集計・ランキングボーナスポイント計上部２１６は、ステップＳ１７０３において取得した件数（取得件数）が０件であるか否かを判定する。取得件数が０件であるということは、処理時において実施されているキャンペーンがないということである。
取得件数が０件である場合（ステップＳ１７０４“Ｙｅｓ”）、処理を終了する。
取得件数が０件でない場合（ステップＳ１７０４“Ｎｏ”）、ステップＳ１７０５に進む。
【０１０９】
ステップＳ１７０５において、ランキング集計・ランキングボーナスポイント計上部２１６は、キャンペーン対象店舗ＤＢ２２７から、キャンペーン対象の店舗のレコードを検索し、取得する。具体的には、ランキング集計・ランキングボーナスポイント計上部２１６は、ステップＳ１７０３において取得したレコードのキャンペーンＩＤ４０１をキーとして、キャンペーン対象店舗ＤＢ２２７を検索し、キャンペーンＩＤが一致するレコードを取得する。なお、取得したレコードを「キャンペーン対象店舗一覧」と称す。
そして、ステップＳ１７０６に進む。
【０１１０】
ステップＳ１７０６において、ランキング集計・ランキングボーナスポイント計上部２１６は、キャンペーン商品分類ＤＢ２２９を検索し、キャンペーン対象の商品分類（ＪＩＣＦＳ小分類７０３）のレコードを検索し、取得する。具体的には、ランキング集計・ランキングボーナスポイント計上部２１６は、ステップＳ１７０３において取得したレコードのキャンペーンＩＤ４０１をキーとして、キャンペーン商品分類ＤＢ２２９を検索し、キャンペーンＩＤが一致するレコードを取得する。なお、取得したレコードを「ＪＩＣＦＳ小分類一覧」と称す。
そして、ステップＳ１７０７に進む。
【０１１１】
ステップＳ１７０７において、ランキング集計・ランキングボーナスポイント計上部２１６は、売上明細ＤＢ２３０および商品マスタＤＢ２３１を検索し、キャンペーン対象のデータを取得し、編集する。
具体的には、ランキング集計・ランキングボーナスポイント計上部２１６は、第１に、キャンペーン対象のデータを取得する。キャンペーン対象のデータとは、下記条件を全て満たす売上明細ＤＢ２３０のレコードである。
【０１１２】
（条件１）キャンペーン対象の店舗における売上である。具体的には、購入店舗コード８０３が、ステップＳ１７０５において取得したキャンペーン対象店舗一覧に含まれる。
【０１１３】
（条件２）キャンペーン期間内の売上である。具体的には、購入日時８０６の年月日（購入日）ならびにステップＳ１７０３において取得したレコードの開始日４０４および終了日４０５が、下式を満たす。
開始日≦購入日≦終了日      （３）
【０１１４】
（条件３）購入商品が、キャンペーン対象のキャンペーン対象の商品分類（ＪＩＣＦＳ小分類）である。
具体的には、まず、ランキング集計・ランキングボーナスポイント計上部２１６は、商品コード８０５をキーとして商品マスタＤＢ２３１を検索し、商品コードが一致するレコードに記憶されたＪＩＣＦＳ小分類９０４を取得する。
次に、ランキング集計・ランキングボーナスポイント計上部２１６は、商品マスタＤＢ２３１から取得したＪＩＣＦＳ小分類９０４をキーとして、ステップＳ１７０６において取得したＪＩＣＦＳ小分類一覧を検索する。ＪＩＣＦＳ小分類が一致するレコードが存在すれば、当該売上明細ＤＢ２３０のレコードは、キャンペーン対象の商品分類の売上データである。
【０１１５】
第２に、ランキング集計・ランキングボーナスポイント計上部２１６は、第１の処理で取得したデータの商品コード８０５をキーとして、商品マスタＤＢ２３１を検索し、都道府県９０６および税込価格９０７を取得する。
【０１１６】
第３に、ランキング集計・ランキングボーナスポイント計上部２１６は、第１の処理で取得したデータに、第２の処理で取得した都道府県９０６および税込価格９０７を結合した編集データを作成する。
【０１１７】
第４に、ランキング集計・ランキングボーナスポイント計上部２１６は、第３の処理で作成した編集データを顧客ＩＤ８０４、都道府県９０６の順にソートする。図７Ｂは、ステップＳ１７０７において作成した編集データの一例を説明する図である。
そして、ステップＳ１７０８に進む。
【０１１８】
ステップＳ１７０８において、ランキング集計・ランキングボーナスポイント計上部２１６は、顧客毎に、合計購入数および購入金額計を算出し、算出結果を購入数・購入金額集計ワークＤＢ２３３（図１０参照）へ記憶する。具体的には、ランキング集計・ランキングボーナスポイント計上部２１６は、ステップＳ１７０７において作成した編集データを基に、顧客ＩＤ８０４がブレークするまで、下式により合計購入数および購入金額計を算出する。なお、合計購入数および購入金額計の初期値は０を設定する。この処理を、全顧客分繰り返す。
合計購入数＝合計購入数＋数量      （４）
購入金額計＝購入金額計＋（税込価格×数量）    （５）
そして、ステップＳ１７０９に進む。
【０１１９】
ステップＳ１７０９において、ランキング集計・ランキングボーナスポイント計上部２１６は、顧客毎の都道府県（産地）別購入数および都道府県（産地）別購入割合を算出し、算出結果をランキング集計ワークＤＢ２３４（図１１参照）へ記憶する。具体的には、ランキング集計・ランキングボーナスポイント計上部２１６は、第１に、ステップＳ１７０７において作成した編集データおよびステップＳ１７０８において算出した合計購入数を基に、都道府県９０６がブレークするまで、下式により都道府県別購入数および都道府県別購入割合を算出する。なお、都道府県別購入数および都道府県別購入割合の初期値は０を設定する。また、都道府県別購入割合は、小数点第二位で四捨五入する。
都道府県別購入数＝都道府県別購入数＋数量      （６）
都道府県別購入割合＝都道府県別購入数÷合計購入数×１００      （７）
【０１２０】
なお、ランキング集計ワークＤＢ２３４のキャンペーンＩＤ１２０１には、ステップＳ１７０３において取得したレコードのキャンペーンＩＤ４０１が設定される。顧客ＩＤ１２０２には、ステップＳ１７０７において作成した編集データの同名項目の値が設定される。集計日時１２０３には、ステップＳ１７０２において取得したシステム日付が設定される。都道府県１２０４には、ステップＳ１７０７において作成した編集データの同名項目の値が設定される。購入数１２０５には、上式により算出した都道府県別購入数が設定される。購入割合１２０６には、上式により算出した都道府県別購入割合が設定される。
そして、ステップＳ１７１０に進む。
【０１２１】
ステップＳ１７１０において、ランキング集計・ランキングボーナスポイント計上部２１６は、顧客ＩＤおよびキャンペーンＩＤをキーとして、購入数・購入金額集計ワークＤＢ２３３およびランキング集計ワークＤＢ２３４を結合する。なお、結合したデータを「ランキング集計ワークＤＢ一覧」と称す。
【０１２２】
ステップＳ１７１１において、ランキング集計・ランキングボーナスポイント計上部２１６は、ステップＳ１７０３において取得したキャンペーン情報一覧およびステップＳ１７１０において作成したランキング集計ワークＤＢ一覧を基に、資格判定処理を行い、処理結果をランキング集計結果ＤＢ２３５へ記憶する。なお、当該ステップは、都道府県１２０４がステップＳ１７０３において取得した都道府県４０３と一致しないレコードについては、キャンペーン対象外であるため、処理を行わずに読み飛ばす。
【０１２３】
具体的には、ランキング集計・ランキングボーナスポイント計上部２１６は、キャンペーンＩＤ１２０１、顧客ＩＤ１２０２および購入割合１２０６をランキング集計結果ＤＢ２３５の同名項目へ記録する。なお、集計日時１３０５には、システム日付を設定してもよい。資格判定１３０６には、資格判定処理によって「１」（資格有）または「０」（資格無）のいずれかが特定され、設定される。図１２（ａ）は、資格判定処理後のランキング集計結果ＤＢ２３５の一例を説明する図である。
【０１２４】
資格判定処理は、ランキング集計ワークＤＢ一覧の購入金額計１１０４およびステップＳ１７０３において取得したキャンペーン情報一覧の最低購入金額４０７を比較することにより行われる。
まず、ランキング集計・ランキングボーナスポイント計上部２１６は、ランキング集計ワークＤＢ一覧（ランキング集計結果ＤＢ）のキャンペーンＩＤ１２０１キーとしてキャンペーン情報一覧（キャンペーン登録ＤＢ）を検索し、キャンペーンＩＤが一致するレコードに記憶された最低購入金額４０７を取得する。
【０１２５】
次に、ランキング集計・ランキングボーナスポイント計上部２１６は、購入金額計１１０４および取得した最低購入金額４０７を比較した結果に基づき、資格判定１３０６を特定する。最低購入金額≦購入金額計の場合は、資格判定１３０６は「１」と特定される。一方、最低購入金額≦購入金額計でない場合は、資格判定１３０６は「０」と特定される。
そして、ステップＳ１７１２に進む。
【０１２６】
ステップＳ１７１２において、ランキング集計・ランキングボーナスポイント計上部２１６は、ランキングを特定し、ランキング集計結果ＤＢ２３５へ記憶する。図１２（ｂ）は、ランキング特定後のランキング集計結果ＤＢ２３５の一例を説明する図である。
具体的には、ランキング集計・ランキングボーナスポイント計上部２１６は、第１に、キャンペーンＩＤおよび顧客ＩＤをキーとして、ランキング集計結果ＤＢ２３５および購入数・購入金額集計ワークＤＢ２３３を結合する。なお、結合したデータを「ランキング集計結果ＤＢ一覧」と称す。
【０１２７】
ランキング集計・ランキングボーナスポイント計上部２１６は、第２に、第１の処理で結合したデータを、購入割合１２０６、購入金額計１１０４の順序でソートし、ランキングを特定する。当該順序でソートすることで、各項目の値が大きいデータが上位のランキングとなる。更に、同一の購入割合のデータが存在する場合は、購入金額計が大きいデータを上位のランキングとすることができる。
【０１２８】
ランキングの特定は、ランキング対象（資格判定１３０６が「１」）のレコードをカウントすることにより行われる。具体的には、ランキング集計・ランキングボーナスポイント計上部２１６は、資格判定１３０６が「１」である場合、ランキング１３０４をインクリメントした値（ランキング＝ランキング＋１）を設定する。資格判定１３０６が「０」の場合、ランキング１３０４に「−」を設定する。
【０１２９】
なお、ここで特定するランキングはキャンペーン期間中の暫定的なものである。ランキング集計処理において暫定的なランキングを特定し、キャンペーン終了時の最終的なランキングは後記するランキングボーナスポイント計上処理において特定する。
そして、ステップＳ１７１３に進む。
【０１３０】
ステップＳ１７１３において、ランキング集計・ランキングボーナスポイント計上部２１６は、後記するランキングボーナスポイント計上処理を行う。
そして、処理を終了する。
【０１３１】
（ランキングボーナスポイント計上処理）
次に、ランキングボーナスポイント計上処理について説明する。ランキングボーナスポイント計上処理は、キャンペーン終了時の最終的なランキングを特定し、ランキングに応じたポイントを付与する処理である。ランキングボーナスポイント計上処理は、図１７のステップＳ１７１３において、ランキング集計結果ＤＢ２３５に新規レコードが記憶されることを契機に行われる。
図１８は、ランキングボーナスポイント計上処理のフローチャートである。
【０１３２】
ステップＳ１８０１において、ランキング集計・ランキングボーナスポイント計上部２１６は、ランキング集計結果ＤＢ２３５に新規レコードが記憶されたことを検知し、当該レコードを取得する。
そして、ステップＳ１８０２に進む。
【０１３３】
ステップＳ１８０２において、ランキング集計・ランキングボーナスポイント計上部２１６は、ステップＳ１８０１において取得したデータの集計日時１３０５の年月日（集計日）と、ステップＳ１７０３（図１７参照）において取得したレコードの終了日４０５とを比較し、集計日が終了日４０５と等しいか否かを判定する。
集計日が終了日４０５と等しい場合（ステップＳ１８０２“Ｙｅｓ”）、ステップＳ１８０３に進む。
集計日が終了日４０５と等しくない場合（ステップＳ１８０２“Ｎｏ”）、処理を終了する。
【０１３４】
ステップＳ１８０３において、ランキング集計・ランキングボーナスポイント計上部２１６は、ステップＳ１８０１において取得したデータを、ランキング最終集計結果ＤＢ２３６へ記録する。
そして、ステップＳ１８０４に進む。
【０１３５】
ステップＳ１８０４において、ランキング集計・ランキングボーナスポイント計上部２１６は、ステップＳ１８０１において取得したデータのキャンペーンＩＤ１３０１をキーとしてキャンペーンランキングＤＢ２２８を検索し、キャンペーンＩＤが一致するレコードを取得する。なお、取得したレコードを「キャンペーンランキング一覧」と称す。
そして、ステップＳ１８０５に進む。
【０１３６】
ステップＳ１８０５において、ランキング集計・ランキングボーナスポイント計上部２１６は、キャンペーンＩＤおよびランキングをキーとして、ランキング最終集計結果ＤＢ２３６およびキャンペーンランキング一覧を結合する。なお、結合したデータを「ランキング最終集計結果ＤＢ一覧」と称す。
そして、ステップＳ１８０６に進む。
【０１３７】
ステップＳ１８０６において、ランキング集計・ランキングボーナスポイント計上部２１６は、ステップＳ１８０５において取得したランキング最終集計結果ＤＢ一覧を、ボーナスポイント履歴ＤＢ２３２に記録する。ボーナスポイント算出処理で記録したデータ（図１６のステップＳ１６１３）と区別をするため、例えば、売上明細コード１００１の１桁目が「Ｂ」である一意の連番にしたり、商品コード１００３の先頭の２桁にランキングポイントを識別できる文字列として「ＲＰ」を付与し、どのキャンペーンで付与したボーナスポイントか、識別できる文字列としてキャンペーンＩＤを付けて「ＲＰＡ００００１」としたりする。そのように管理することで、過去のキャンペーンで付与したランキングボーナスポイントの履歴を残すことが可能となる。
そして、処理を終了する。
【０１３８】
（まとめ）
本実施形態によれば、あらかじめ指定した地域で生産された農作物や水産物、畜産物等、指定した生鮮食品の購入者に対して、ボーナスポイントを付与するシステムを提供することが可能になる。本実施形態のポイントラリーシステム１００は、例えば、スーパーマーケットなど、生鮮食品を販売する小売店への導入が可能である。
【０１３９】
本実施形態のポイントラリーシステム１００は、購入金額に対して一律にポイントを還元するのではなく、指定された産地の生鮮食品の購入金額に対してポイントを還元することで、顧客に対し地産地消の取り組みへの経済的インセンティブを与え、地産地消の促進が期待できる。
また、指定された産地の生鮮食品の購入割合に基づいてランキングを特定することにより、顧客間の競争意識を刺激し、地産地消の促進がより期待できる。さらに、最低購入金額を設定することにより、例えば指定された産地の生鮮食品を１つ購入して購入割合が１００％となる顧客をランキングの対象外とする。そして、最低購入金額以上を購入した顧客をランキングの対象とすることで、ボーナスポイントを公平に付与することができる。
【０１４０】
（その他）
なお、前記した実施形態は、本発明を実施するための好適なものであるが、その実施形式はこれらに限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々変更することが可能である。
【符号の説明】
【０１４１】
１００      ポイントラリーシステム
２００      ネットワーク
２１０      アプリケーションサーバ（サーバ装置）
２１１      ＣＰＵ
２１２      メモリ
２１３      記憶装置（記憶部）
２１４      キャンペーン登録部（制御部）
２１５      ボーナスポイント算出部（制御部）
２１６      ランキング集計・ランキングボーナスポイント計上部（制御部）
２２０      データベースサーバ（サーバ装置）
２２３      記憶装置（記憶部）
２４０      運用管理端末（端末装置）
２２５      店舗マスタＤＢ（記憶部）
２２６      キャンペーン登録ＤＢ（記憶部、第２のデータベース）
２２７      キャンペーン対象店舗ＤＢ（記憶部、第２のデータベース）
２２８      キャンペーンランキングＤＢ（記憶部、第２のデータベース）
２２９      キャンペーン商品分類ＤＢ（記憶部、第２のデータベース）
２３０      売上明細ＤＢ（記憶部、第１のデータベース）
２３１      商品マスタＤＢ（記憶部、第１のデータベース）
２３２      ボーナスポイント履歴ＤＢ（記憶部、第３のデータベース）
２３３      購入数・購入金額集計ワークＤＢ（記憶部、第３のデータベース）
２３４      ランキング集計ワークＤＢ（記憶部、第３のデータベース）
２３５      ランキング集計結果ＤＢ（記憶部、第３のデータベース）
２３６      ランキング最終集計結果ＤＢ（記憶部、第３のデータベース）
【図１Ａ】
0005519543.tif 000002
【図１Ｂ】
0005519543.tif 000003
【図１Ｃ】
0005519543.tif 000004
【図１Ｄ】
0005519543.tif 000005
【図１Ｅ】
0005519543.tif 000006
【図２】
0005519543.tif 000007
【図３】
0005519543.tif 000008
【図４】
0005519543.tif 000009
【図５】
0005519543.tif 000010
【図６】
0005519543.tif 000011
【図７Ａ】
0005519543.tif 000012
【図７Ｂ】
0005519543.tif 000013
【図８】
0005519543.tif 000014
【図９】
0005519543.tif 000015
【図１０】
0005519543.tif 000016
【図１１】
0005519543.tif 000017
【図１２】
0005519543.tif 000018
【図１３】
0005519543.tif 000019
【図１４】
0005519543.tif 000020
【図１５】
0005519543.tif 000021
【図１６】
0005519543.tif 000022
【図１７】
0005519543.tif 000023
【図１８】
0005519543.tif 000024