last update: 2004年12月06日

xtabc.sh

概要:ABC分析用のデータを作成する。

書式:xtabc.sh [-k キー項目リスト] -f 対象項目名 [-R ランク範囲] [-v ランク名] [-A 出力項目リスト] [-d 出力する有効小数点桁数] [-i 入力ファイル名] [-o出力ファイル名]
[-T ワークディレクトリ名] [-V] [-h]

-V : コマンドの完了メッセージを表示させる。
-h : ヘルプの表示
-Rのデフォルト : MIN,70,90,MAX
-vのデフォルト : A,B,C
-dのデフォルト : 0.01

説明

ABC分析とは、商品の管理手法の一つで、商品を売上の大きさに応じてABCの3ランクに分割し、それぞれのランクに応じて異なる商品管理を行おうとするものである。ランクの計算は、商品を売上の大きい順に並べ累積金額を計算したとき、以下のように決定される。
Aランク:累積金額が70%以下の商品
Bランク:Aランクを除き累積金額が90%以下の商品
Cランク:A,Bランクを除いた商品

しかしこのモジュールは、以下の点においてより汎用的な利用が可能である。
・ランク数を自由に設定可能
・各ランクの名称を自由に設定可能
・各ランクの範囲を自由に設定可能

さらに、-kを指定することにより、例えば店別にABCランクを計算することなども可能である。

例1) 基本的な利用方法

入力データ スクリプト 出力データ
商品 数量
A
B
C
D
E
F
10
50
20
30
12
15
xtabc.xt -f 数量
商品 数量 accmCnt accmCntShr accmVal accmValShr rank
B
D
C
F
E
A
50
30
20
15
12
10
1
2
3
4
5
6
16.67
33.33
50
66.67
83.33
100
50
80
100
115
127
137
36.5
58.39
72.99
83.94
92.7
100
A
A
B
B
C
C

商品、数量の項目を持つ入力ファイルから、新たにaccmCnt, accmCntShr, accmVal, accmValShr, rankの5つの項目が生成される。それぞれの項目の意味は以下の通り。

項目名 意味
accmCnt 累積件数。商品を数量順に並べたときのシーケンス番号に同じ。
accmCntShr 累積件数構成比。accmCntの構成比。
accmVal -fで与えた項目の累積値。
accmValShr accmValの構成比
rank accmValShrに基づくランク。

データの読み方例: 上記の例では、66.67%の商品で売上の83.94%を達成している。

※制約:上記の5つ項目名は入力データの項目名として利用できない。

例2)ランク数、ランク名称、ランク範囲を変更しての利用

入力データ スクリプト 出力データ
商品 数量
A
B
C
D
E
F
10
50
20
30
12
15
xtabc.xt -f 数量 -R MIN,50,70,90,MAX -v 1,2,3,4
商品 数量 accmCnt accmCntShr accmVal accmValShr rank
B
D
C
F
E
A
50
30
20
15
12
10
1
2
3
4
5
6
16.67
33.33
50
66.67
83.33
100
50
80
100
115
127
137
36.5
58.39
72.99
83.94
92.7
100
1
2
3
3
4
4

-Rと-vは連動しており、上記の例における範囲とランク名称は以下の通りである。

範囲 rank名称
MIN〜50%
50%〜70%
70%〜90%
90%〜MAX
1
2
3
4

例3)パイプで連結して

以下のようにパイプで連結して記述することも可能である。

#!/usr/bin/env bash

xtcut -f 商品,数量 -i input.xt |
xtagg -k 商品 -f 数量 -c sum |
xtabc.sh -f 数量 |
xtcut -f 商品,数量,ランク -o output.xt