プログラムに必要な予備知識2(応用) |
ここでは、順列や組合せの応用を考えていきましょう。 今、貴方は、スーパーのマーケティング分析のシステム設計とプログラム開発の両方を任されているとします。 このスーパーで扱う商品は、大きく分けて、食料品、衣料品、日用雑貨、電化製品、化粧品 の5つのカテゴリーに分かれるとします。また、顧客マスターは、1万件あり、分析したい売上データは、顧客コードを持ち、全国で年間100万件あるとします。 商品の売り筋を調べるために、各カテゴリーの組合せと購入者の数を考えます。 たとえば、
といった具合に、各カテゴリーの組合せで購入分析をしたいとき、その組合せはいくつあるでしょう。 この場合、「順列」と「組合せ」のどちらでしょうか?「順列」は、取り出してから、「並べる」ことが問題でしたよね。したがって、「組合せ」の公式を使うことになります。 nCr = n ! / r ! ( n - r ) ! でしたね。
また、上記の5つの組合せは、各々同時には起きない(というより、積の法則ではないので、とするほうが、分かりやすいが)ので、和の法則を使い、
となります。 この程度なら、配列でも、いけそうですね。但し、将来、カテゴリが増えるおそれがある場合は、集計ファイルのキーにしてしまった方がいいかもしれません。 補足 2000-1-11問題文で、どうして、「分析したい売上データは、顧客コードを持ち」と記述したかというと、Aさんなら、そのAさんが、食料品と衣料品の両方を購入したかどうか、はその顧客コードを見ないと、分からないからです。つまり、顧客一人一人を、識別できなければ、上記のような顧客数を求めることはできません。但し、商品カテゴリーが違っていても共通の一箇所のレジで行われ、一枚の伝票にすべての商品が載っているならば、その伝票番号を、顧客コードの代わりとして、分析することはできます。一度に、何を買っているかの分析となります。(たとえば、コンビニのような店ならばできますね。)あと、件数を大きめに出したのは、より真実味を出したかったからです。(それだけ...)。 2000-1-9 |
You are at K's tips-n-kicks of AS/400
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||