セールスパーソンであればPythonが使えた方が良いというのは漠然と思っていても、実際何の役に立つの?という疑問もあるかと思います。今回は自動執行や繰り返し以外で、Pythonの強力な可視化ツールに焦点を当てたお話をしたいと思います。
本記事での可視化
データ分析の可視化というと折れ線グラフや棒グラフ、クロスプロット・散布図などをまず最初に想像してしまうかもしれませんが、今回の記事ではそれ以外だったり、そういった物の応用を紹介します。
ファネルチャート
一つ目はインサイドセールスなどでの進捗管理、KPI設定などに使われるファネルチャートを紹介します。
営業のDX化という事もあり、受注するためには何件の案件化が必要で、案件化には何件のアポイント必要で、そのアポイントを取るためには電話やメールを何件行う必要がある、、という顧客アプローチの可視化や、数値化ということが最近では注目されています。こういったグラフをたったの数行で書けます。
構成比率チャート
売上構成比率を分析するのに金額だけよりは比率的なものがあった方がより直感的に理解できます。
そういったチャートを数行で書くことができます。
決算資料 損益計算書 PL(Profit and loss statement)
決算資料の損益計算書を滝グラフ(ウォーターフォールチャート)で表示することができます。
経営企画やマネージメントになると、どの項目がどのくらい最終利益にインパクトがあるのか、どこを改善すべきなどかなど、分析する必要がありますが、可視化することがその数字のインパクトがより直感的に確認することができます。
決算資料 貸借対照表 BS (Balance Sheets)
貸借対照表の有形固定資産や、短期・長期借入、純資産などの内訳を全体での比率として一目で企業の状況を確認することができます。
使用する環境
今回もGoogle Colaboratoryのpythonを使うことにします。こちらの記事も参考になると思います。
また、Google Colabの共有ファイルは以下のようになります。Googleのアカウントがあればログインして、そのままShift+Enterで再現できると思います。
実際のコード
コードは以下の通りです。
ファネルチャート
from plotly import graph_objects as go
fig = go.Figure(go.Funnel(
y = ["リード", "有効リード", "アポイント","案件", "受注"],
x = [500, 400, 200, 100,50]),
layout=go.Layout(
plot_bgcolor='rgba(0,0,0,0)'
)
)
fig.update_layout(
# title="Plot Title",
# xaxis_title="x Axis Title",
# yaxis_title="y Axis Title",
font=dict(
# family="Courier New, monospace",
size=24,
# color="#7f7f7f"
)
)
fig.show()
こういった数行のコーディングでこの程度のグラフは描けます。以下のすべてに言えますが、グラフを作ることに時間を使うのではなく、グラフでの分析に時間を使えるのが理想ですね。
構成比率チャート
import plotly.express as px
fig = px.funnel_area(names=["EC販売", "デジタルマーケティング", "ソフトウェア","アウトソース", "エンターテインメント"],
values=[800, 600, 400, 120, 80],
color=[4, 3, 2, 1, 0])
fig.show()
現状の認識、当事者間での共有が出発点になりますね。
決算資料 損益計算書 PL(Profit and loss statement)
import plotly.graph_objects as go
fig = go.Figure(go.Waterfall(
name = "決算資料", orientation = "v",
measure = ["relative", "relative", "total",
"relative", "total",
"relative", "total",
"relative", "total",],
x = ['売上高 Sales','売上原価 Cost of sales','売上総利益 Gross profit',
'販売管理費 Operating cost','営業利益 Operating profit',
'営業外収益 Non-operating income','経常利益 Ordinary profit',
'法人税等 Other expenses','税引前当期純利益 Net profit'
],
y = [46004, -32091, 13912,
-9918,3994,
741,4736,
-1919,2817],
text= [46004, -32091, 13912,
-9918,3994,
741,4736,
-1919,2817],
textposition = "outside",
connector = {"line":{"color":"rgb(63, 63, 63)"}},
))
fig.update_layout(
title = "決算資料 損益計算書(Profit and loss statement)",
xaxis_title="直近期",
yaxis_title="JPY(単位:百万円)",
showlegend = False,
autosize=False,
width=700,
height=700,
)
fig.update_xaxes(tickangle=-90)
fig.show()
今回は 3697SHIFT の決算を参考にさせていただきました。
(9ページ)もしくは以下のサイト等で確認できます。
決算資料 貸借対照表 BS (Balance Sheets)
from plotly import graph_objects as go
data = {
"流動資産":[21304],
"有形固定資産":[804],
"無形固定資産":[7447],
"投資その他の資産":[4714],
"固定資産":[12967],
"負債":[11588],
"短期借入":[1544],
"長期借入":[2672],
"その他":[11588-1544-2672],
"純資産":[22683],
"資本金":[11],
"資本剰余金":[16365],
"labels":[
"直近期",
]
}
# グラフ描画
fig1 = go.Figure(
# データの指定
data=[
go.Bar(
name="有形固定資産",
x=data["labels"],
y=data["有形固定資産"],
offsetgroup=0,
base=sum(data["無形固定資産"])+sum(data["投資その他の資産"]),
),
go.Bar(
name="無形固定資産",
x=data["labels"],
y=data["無形固定資産"],
offsetgroup=0,
base=data["投資その他の資産"],
),
# go.Bar(
# name="投資その他の資産",
# x=data["labels"],
# y=data["投資その他の資産"],
# offsetgroup=0,
# ),
go.Bar(
name="流動資産",
x=data["labels"],
y=data["流動資産"],
offsetgroup=1,
base=data["固定資産"],
),
go.Bar(
name="固定資産",
x=data["labels"],
y=data["固定資産"],
offsetgroup=1,
),
go.Bar(
name="負債",
x=data["labels"],
y=data["負債"],
offsetgroup=2,
base=data["純資産"],
),
go.Bar(
name="純資産",
x=data["labels"],
y=data["純資産"],
offsetgroup=2,
),
go.Bar(
name="短期借入",
x=data["labels"],
y=data["短期借入"],
offsetgroup=3,
base=sum(data["純資産"])+sum(data["その他"])+sum(data["長期借入"]),
),
go.Bar(
name="長期借入",
x=data["labels"],
y=data["長期借入"],
offsetgroup=3,
base=sum(data["純資産"])+sum(data["その他"]),
),
# go.Bar(
# name="その他",
# x=data["labels"],
# y=data["その他"],
# offsetgroup=3,
# base=data["純資産"],
# ),
go.Bar(
name="資本金",
x=data["labels"],
y=data["資本金"],
offsetgroup=3,
base=data["資本剰余金"],
),
go.Bar(
name="資本剰余金",
x=data["labels"],
y=data["資本剰余金"],
offsetgroup=3,
),
],
# レイアウトの指定
layout=go.Layout(
title="決算資料 貸借対照表(Balance Sheets)",
#xaxis_title="直近期",
yaxis_title="JPY(単位:百万円)",
autosize=False,
width=500,
height=700,
)
)
fig1.show()
同じく3697SHIFT の決算を参考にさせていただきました。
(7ページ)もしくは以下のサイト等で確認できます。
”BSが重い”と評されるような有形固定資産の割合や、銀行からの借入の過多など、全体から見ての割合などが可視化できるので、PL同様に分析の参考になると思います。
発展的には、同業他社や過去との比較など、様々な分析・可視化ができると思いますので、余裕のある方、興味のある方は試してみたはいかがでしょうか。
皆さんのお役に立てれば幸いです。
—
Pythonに関する記事をご紹介します。
コメント