任天堂の特許分析 ~J-Plat Pat CSV出力3000件からFIマップ~

J-Plat PatのCSV出力の件数制限が、500件から3,000件に大幅拡大された(2023.3.26機能改善)のを記念(?)して、任天堂の全特許2,915件を対象に、筆頭FIごとの出願件数の年次推移を示すグラフを作ってみた。

① J-Plat Patで出願人検索

ヒット件数は、2,915件だったので、全件を一度にCSV出力できる!

② EXCEL ブックとして保存

③ 「出願年」の列(column)を追加

C列の[出願日]から[出願年]を求めて、N列に出力する。
N2セルに、C2を参照するYEAR関数を入力して、C2の年だけを出力させる。

④ 「筆頭FI」の列を追加

G列の[FI]から筆頭だけを取りだして、O列に出力する。
[FI]は複数のFIがあるとコンマ“,”で区切られていることに着目。先頭から探して最初に見つかるコンマ“,”よりも左側だけを抜き出して、O列に出力すれば良い。

[FI]欄には、1個のFIしかなくて、コンマ“,”が含まれていない場合もあるので、注意が必要。コンマ“,”が何文字目かを探す関数では、見つからないとエラーになる。エラーになったら筆頭FIしかないのだから、そのままO列に出力すれば良い。

FIを最も細かい階層まで取り出すと、細かすぎてグラフには向かないので、メイングループ(スラッシュ“/”の前)までに留めることにする。先頭から探して最初に見つかるコンマ“/”よりも左側だけを抜き出して、O列に出力すれば良い。

[FIND関数]を使ってFI(G2)の中での[/]が何文字目かを求め、[LEFT関数]を使って求めた[何文字目」よりも左側を抜き出して、筆頭(O2)に出力する。

⑤ 「出願件数」のP列を追加

すべての行に1を入力

出願年のN2セル、筆頭FIのO2セルと1を入力した出願件数のP2セルを選んで、最も下の行までコピーする。

⑥ ピボットテーブルの作成

出願年のN列、筆頭FIのO列、出願件数のP列を選んで、[挿入]タブの[ピボットテーブル]をクリックして、新規シートのピボットテーブルを作成する

作成したピボットテーブルで、[ピボットテーブルのフィールド]を操作
「出願年」を「列」にドラッグ
「筆頭FI」を「行」にドラッグ
「出願件数」を「Σ値」にドラッグ
すると、ピボットテーブルが生成される。

合計件数の多いFIから順に表示されるように並べ替え

ピボットテーブルの集計結果は、J-Plat Patの[分類コードランキング]と似た処理になっていて、合計だけでなく年次推移がわかる点で優れている。

なお、A63F13, A63F9はゲーム、G06F3は計算機のユーザーインターフェース。

⑦ 年次推移グラフの作成

5位までの筆頭FIについて、出願件数の年次推移を示す折れ線グラフを描いてみる。

ピボットテーブルから5位までの筆頭FIの値をコピーして別の(グラフ用の)シートに貼り付け、空白に0を埋めて、散布図で折れ線グラフを描いた。

注:空白のセルに0を埋めるやり方は、Google先生に聞いてみると教えてくれる。

⑧ 筆頭FIを、メイングループではなく、クラスで分析してみた

④~⑥の「筆頭FI」を「筆頭FI(main group)」に変更し、「筆頭FI(class)」(O列)を挿入。

FIは、X00Y nn/mmmmの形で、Xはセクション、X00はクラス、X00Yはサブクラスと呼ばれ、さらに下位のX00Y nnはメイングループと呼ばれている。

文字列処理は簡単。先頭から3文字を抜き出せばよい。

⑨ ピボットテーブルを更新

⑩ 筆頭FI(CLASS)の年次推移の折れ線グラフ

まとめ

J-Plat patのCSV出力の件数制限が、500件/1回から3,000件/1回に緩和されたので、任天堂のすべての特許でも1度にダウンロードして分析できるようになった。3,000件を超えても、何回かに分けてダウンロードすればよいため、1回の件数制限が緩和されたのはありがたい。

ダウンロードして自身で試行錯誤してみると、自由度が広がる。筆頭FIといっても、クラス単位で動向を見るか(⑩)、メイングループ単位で動向を見るか(⑦)で、何か違いが見えてくるかもしれない。

今回、筆頭FIをクラスとメイングループの2通りで分析したが、顕著な違いは見えなかった。ただし、どちらにも共通する流れとして、
2007年、2008年のリーマンショックでは、A63(ゲーム)系の出願は減ったが、計算機のインターフェース(G06)系は現状維持か増加傾向が継続した。2011年の東日本大震災では、A63(ゲーム)系の出願は急増後急減したが、計算機のインターフェース(G06)系の出願は安定している。

J-Plat PatとExcelで描くバブルチャート

J-Plat Patで500件/回のCSV出力ができるようになったので、Excelでバブルチャートを描いてみた

任天堂の特許2858件(下図)を6~7回かけてCSVダウンロードして、Excelで集計、バブルチャートを描いてみる。

目指すグラフをイメージしてみると、上の「FI別」を縦軸、「公開年」を横軸、特許件数をバブルサイズにした,バブルチャート(下図)

① CSVダウロードしたデータを結合して、Execlシートを作成

② 公開年と分析対象のFIの有無(フラグ)を示す列を作成

公開年は、公開日のD列を参照するYEAR関数

分析対象のFIのフラグは、関数 =IF(ISERROR(FIND(O$1,$G2)),0,1)
FIND関数=対象のG列(FI)に検索文字列のO列(検索するA63)にみつかればその位置、みつからなければエラーになる
IF(ISERROR(FIND・・・),0,1)は、FIND関数がエラーなら 0、なければ 1
分析対象のFIの有無を示すフラグになる。
注:この例(FI全体を対象)に代えて、筆頭FIを対象にするのも一案

③ 入力した関数を最下行までコピーして、FI分析を完了

④ 公開年ごとにFIの件数を集計(ピボットテーブル)

⑤ 5年ごとに集計

ピボットテーブルをコピーして(10行~)、SUM関数を使って、5年ごとに件数を集計する(1~8行)
(横軸を公開年のままにするか、何年かごとに集計するかは、適宜調整)

⑥ 集計した表に「条件付き書式」を設定すると、バブルチャート風(?)の簡易的な見える化ができる

⑦ Excelでバブルチャートを描く

Excelのバブルチャートは、X, Y, Zの元データが必要。X, Yは数値で座標を示し、Zはバブルの大きさを表す。すべて数値で示す必要がある。

上のまとめ表を、
X=公開年(範囲に代えて代表年)
Y=FIを表示する位置(座標)。A63を最上、H05を最下にしたいのでそれに応じた数値を入力。
Z=集計した件数=バブルの大きさになる
の形に並べ直す。

並べ直したデータを元にして、バブルチャートを描く。

⑧ バブルチャートの書式を整える

「データ系列の書式」でバブルサイズを調整(ex.バブルが重ならないように)
「データラベルの書式」で「バブルサイズ」を表示

縦軸、横軸は、座標(数値)にしたので、元のFIを上書きする。
(たとえば、画像を作って重ねる)

できあがり!!

お化粧はあまり上手ではありませんが、何とか完成。