商品別売上をランキングにすると、上位SKUの存在感が強く見えます。しかし、市場全体は上位商品だけで構成されているわけではありません。順位の後半には、一つひとつの売上規模は小さくても、多数のSKUが長く続いています。今回は、こうしたSKUロングテールを単一のrank curveではなく、週次変動を含む「密度の地形」として可視化しました。
この図は何を表しているのか
横方向はSKUの売上順位です。左側ほど売上上位、右へ進むほどrankが低いSKUになります。
縦方向は週次売上です。実際の計算ではrankと売上の両方をlog scaleへ変換して配置していますが、Scientific modeでは元の順位と円単位へ戻したtickを表示しています。
背景の灰色のfieldは、26週間にわたるSKU週次売上の観測密度です。黒いridgeは、rank帯ごとの週次売上中央値です。
赤いpointは、累積売上80%へ到達したrankより後ろに存在するSKUです。同じ位置にある赤い縦線が、その80%境界を示します。
可視化から読み取れること
今回のSynthetic DataではSKU数は1200です。
上位10 SKUの売上構成比は16.6%、上位50 SKUでは40.4%でした。head側に売上が集中していることが分かります。
累積売上80%へ到達したのは353位でした。しかし、その境界より後ろには全SKUの70.6%が残っています。これらのSKUが持つ売上構成比は20.0%です。
また、累積売上95%へ到達するのは782位でした。つまり、売上規模が小さいSKUまで含めると、市場構造はrankのかなり後方まで続いています。
この構造をどう解釈するか
今回のSynthetic Dataでは、SKUのlatent popularityをtapered power-law型で生成しています。そのため、少数のhead SKUが大きな需要を持ち、その後ろに多数のsmall SKUが長く続きます。
さらに、category差、price差、季節性、販促、週次ノイズを加えています。そのため、rank-frequency relationは一本の滑らかな曲線だけではなく、上下に厚みを持つdensity structureとして現れます。
80%境界以降には25件のemerging tail SKUも残りました。今回の図では、tailを単に「売れない商品の集合」としてではなく、変動や局所的な強さを持つ広い市場領域として表現しています。
可視化の仕組み
まず、26週間の売上をSKUごとに集計し、総売上の高い順にrankを付けます。
次に、そのrankを各週の売上データへ戻します。これにより、一つのSKUが26週間のあいだにどの程度上下へ変動したかを、同じrank位置の縦方向のばらつきとして表現できます。
週次観測をlog rankとlog10(weekly revenue + 1)の二次元空間へ配置し、2次元histogramをGaussian smoothingすることでdensity fieldを作ります。さらにrank帯ごとのmedian weekly revenueをridgeとして重ねています。
なぜこの可視化方法を選んだのか
通常のrank-frequency curveは、headからtailへ売上規模が落ちる形を簡潔に表現できます。一方、その方法では一つのSKUが一つの点や値に集約され、週次変動の厚みは見えにくくなります。
今回のRank-frequency density landscapeでは、rank structureを保ったまま、各SKUが時間の中で作る売上分布まで同じ画面へ重ねています。
そのため、「上位から下位へどのように売上が減るか」だけでなく、「tail側にどれほど多くの観測が広がっているか」も見ることができます。
実データへの応用可能性
実データでは、POSやECの商品別売上から同様のrank-frequency structureを探索できます。
たとえば、累積売上80%より後ろにどれだけのSKUが存在するか、tail側のSKUがどの程度継続的に売れているか、あるいは小規模ながら局所的に売上が強まる商品が存在するかを調べる用途が考えられます。
ただし、tailに存在すること自体は商品の価値や継続可否を意味しません。粗利、在庫コスト、品揃え上の役割、代替関係などを別途確認する必要があります。
データと分析方法
今回はSynthetic Dataを使用しています。SKU数は1200、期間は26週間、週次観測数は31200です。乱数シードは260926です。
SKUごとにlatent popularity、category、price、seasonalityを設定し、週次需要には販促とGamma-Poisson型のover-dispersionを加えています。
可視化ではSKUを総売上順にrank付けし、log rank × log10(weekly revenue + 1)空間で、0売上週も含めてdensity fieldとmedian ridgeを構築しました。
このVisualization Studyの限界
今回のロングテール構造はSynthetic DataのData Generating Processに依存しています。実データで同じpower-law型や同じtail長が現れるとは限りません。
また、SKU rankは総売上に基づいて固定しています。期間ごとにrankを付け直す場合は別のstructureになります。
density fieldの形状はbin数やGaussian smoothing parameterにも依存します。今回の図はmarket structureを探索するためのVisualizationであり、特定の確率分布への適合を証明するものではありません。
まとめ
今回は、SKU別売上のlong-tail structureを、単一のrank curveではなく週次変動を含むdensity landscapeとして可視化しました。
売上上位SKUの集中と同時に、その後ろへ多数のsmall SKUが長く広がっている構造を一枚の図で捉えています。
この見方は、実データでもheadだけでなくtail側の品揃えや需要変動まで含めて市場構造を探索するための入口として利用できます。

