白い鳩の歩くまま思うまま

足で稼いだ情報から、面白いデータの世界が見えてくる

【Tokyo Viz Week Day7】データセット解説|麻布十番と三田の飲食店リスト2023年版

はじめに

本記事の位置づけ

表題の通り、一連のダッシュボードを準備するにあたり、大前提として、使用するデータの定義とデータセット作成手順に関する説明がなくてはならない。本記事はそのために執筆した。主にデータセットに関する説明事項を書き込んだ索引である。

コンセプト

ある一定の空間的、社会的地域を「街」と定義し、2つの「街」を「来街者」という観点から比較することで、それぞれの特性を描き出す試み。「来街者」が多く利用する施設として、今回は「飲食店」に着目し、その業態、規模、推定客単価、営業時間区分、分布の形態等を指標として比較材料とする。「飲食店」から東京山の手の繁華街を比較分析してみよう。

ターゲット

隣り合っていながら全く異なる雰囲気をもつ港区の2つの街、麻布十番と三田・田町(以下、三田と記載する)を対象とする。

アウトプット

メインダッシュボード。飲食店から見る、麻布十番と三田、二つの繁華街の比較分析

まずは、麻布十番と三田の繁華街を「飲食店」をテーマに比較したメインダッシュボード*1がある。次に、麻布十番、三田それぞれについて特集したコンセプトシートを作成する。解説記事はダッシュボードごとに1つずつ対応させる予定で、作成手順や参考にした記事などを紹介する。

ターゲットエリアの設計

麻布十番

麻布十番も三田も、実際に該当地域を歩いて決定。いずれも大枠としては、各エリアの交通上の起点(電車の駅、バス停、交差点等)と飲食店の立地から、ひとまとまりと見なせるであろう地域を設定している。麻布十番は、地下鉄南北線大江戸線の2つの駅、および一の橋交差点を起点に、高台に囲まれた低地の繁華街というその地形的特徴ゆえ、比較的容易に定義できた。一部気を付けたのは、北西方向に地続きとなっている六本木の繁華街、および南側の仙台坂を挟んで住所が南麻布に切り替わる付近における境界線の設定である。

三田(田町)

一方、難しかったのが三田である。交通の起点はJP田町駅および地下鉄浅草線三田線三田駅、および札の辻交差点にて第一京浜と分かれ芝公園へ真っすぐ北進する桜田通り(三田通り)であるが、このエリアの主要顧客というべき大所帯の企業オフィス、大学等教育機関が、駅と幹線道路を基点に一定の距離を持って広範囲に立地しているため、駅周辺以外にも店舗が分散して、明確なエリアを定めがたい。何度も何度も、ランチメニューの物色や食材日用品その他買物のタイミングを利用して歩き回ったが、どこに線を引こうにもしっくりこない。このような場合はもう仕方ないのでいったん取れるだけ取ってみよう。三田通りを軸に、西は綱の手引き坂の南側、慶応大学を中心に三田2丁目から5丁目の一部、東は第一京浜をまたがぬ範囲で芝2丁目から5丁目まで、北は古川に沿う幹線道路を境界線に、それより北側の街区を除き、南はJRの線路および三田地蔵通りに沿う南側の街区までを収めることにした。

飲食店の定義

本調査では、来店顧客に飲食物を提供し、かつ店内飲食が可能である店舗を「飲食店」として定義した。その細目については、具体的に以下の業態に該当するものとして分類した。ただし各カテゴリの定義は、今回の調査研究の目的を鑑みて私が独断で採用したものであり、世間一般的な意味の分類として厳密なものではないとお断りしておく。また、見方によっては2つ以上の定義に該当しそうな店舗も多数存在するため、最終的な分類に若干の曖昧さは残る。その辺りをお含みおきの上ご覧いただきたい。

食堂・レストラン(Japanese Diner)

昼夜を問わず、ごはんと主菜をセットで提供する「定食」が一般的なメニューである店舗。特定企業や大学内に位置しているが外部からの利用が可能な社員食堂、学生食堂を含む。または特化したジャンルがないファミレス。除外される例としては、サイゼリア→イタリアン等。あるいは、おつまみ的なサイドメニューが充実していたり酒類の取り扱いが多いなど、居酒屋的な店舗。

中分類:食堂・定食屋、ファミレス

小分類:大衆食堂、社員食堂ないし学生食堂(ただし外部利用可能)、定食屋、牛丼屋、牛タン屋、天ぷら(定食メイン)、各種ファミレス

日本料理(Japanese Restaurant)

天ぷら、うなぎ、精進料理、鳥料理(鴨料理、焼鳥割烹)、とんかつ、郷土料理、かに、しゃぶしゃぶ、すき焼き、懐石・割烹、すっぽん、うなぎ、ちゃんこ、馬肉等をメインに提供し、食事だけでなく日本酒や焼酎、ワイン等の各種アルコールと楽しむことをコンセプトにしている店舗。天ぷらやとんかつなどをメインに提供していても、提供形態が定食中心(かつランチ需要がメイン)であれば「食堂・レストラン」に分類する。

中分類:上と同じ

小分類:上と同じ

西洋料理(Western Cuisine)

フランス料理、イタリア料理等の西欧料理を提供する店舗。複数国の料理が混ざっている場合はミックスとした。

中分類:フランス料理、イタリア料理、スペイン料理、ドイツ料理、其の他西洋料理、ミックス

小分類:上と同じ

中華料理(Chinese Restaurant)

北京料理四川料理上海料理広東料理、東北料理等の中国料理、台湾料理、および餃子専門店から成る。どこの地方にも特化していない町中華も含むが、店名に「ラーメン」とある場合はラーメン店に分類。

中分類:中華料理(台湾料理含む)、餃子

小分類:上と同じ

韓国料理(Korean Restaurant)

焼肉の提供がメインであれば「焼肉」に分類。焼肉以外の料理(参鶏湯とかチゲ鍋とか)の種類が豊富(全メニューの半数以上)であるか、または店側で明確に「焼肉屋」と定義していない場合はこちらに分類。

中分類:上と同じ

小分類:上と同じ

其の他専門料理(Other Countries Restaurant)

トルコ料理、インド料理、マレーシア料理など西洋以外の諸外国の専門料理の他、スパゲティ専門店、最近はやり?のサラダボウル専門店、創作料理等を含む

中分類:西欧以外の専門料理、カレー、スパゲティ、サラダ専門店、創作料理

小分類:上と同じ

鉄板焼・ステーキ(Steakhouse)

料理人が鉄板で焼いた肉を客に提供するスタイルで、牛・豚・鶏ステーキの他、魚介類、野菜など比較的高級かつ多彩な食材を取り扱う店舗。席数も少なく、カウンターメインで料理人の調理する姿を愉しめる形式の店舗が多い。鉄板以外の方法であったり、客自ら焼いたりする場合は「焼肉」に分類。

中分類:上と同じ

小分類:上と同じ

焼肉(Barbecue Restaurant)

鉄板、金網の区別を問わず客自らが肉を焼く形式の店舗。焼くのは基本的に「肉」。数名掛けのテーブル席がメインで席数も比較的多い。料理人に焼いてもらう形式の店舗は「鉄板焼・ステーキ」に、焼肉以外の料理が豊富な場合は「韓国料理」にそれぞれ分類。

中分類:上と同じ

小分類:上と同じ

ラーメン(Ramen Shop)

ラーメン、中華そばの提供がメインである店舗。中華料理と紛らわしいが、店名に「ラーメン」と記載があればこちらに分類する。ラーメンをメインで提供しつつサブメニューとしてアルコール類、おつまみ類を豊富に取り扱う「ラーメン居酒屋」的な店舗も含む。

中分類:ラーメン

小分類:上と同じ

そば・うどん(Soba or Udon Noodles Restaurant)

そばないしうどんの提供がメインである店舗。

中分類:そば、うどん

小分類:上と同じ

鮨(Sushi Restaurant)

鮨(主に握り寿司)を中心に提供する店舗。

中分類:上と同じ

小分類:上と同じ

酒場・ビヤホール(Japanese Style Pub or Dining Bar)

ビール、チューハイなどの発泡酒ないしサワー類を中心とした各種アルコール類とそれにあてる各種おつまみ(肴、軽食)を提供する店舗。一般的な焼鳥、串焼きのほか、やきとんやホルモンなど比較的安価な肉を店員が料理して提供する形式の店舗を含む。提供メニュー及び店舗のコンセプトが和風(赤提灯)であれば居酒屋、それ以外であればダイニングバー、焼鳥をコンセプトとしている場合は焼鳥と、それぞれ定義する。

中分類:居酒屋、ダイニングバー、焼鳥

小分類:上と同じ

ハンバーガー(Hamburger Shop)

マクドナルド、モスバーガーなど、ハンバーガーをメインに提供する店舗。

中分類:上と同じ

小分類:上と同じ

甘味・洋菓子(Cake Shop)

ケーキ、ドーナッツ、アイスクリーム、パン、和菓子など、パンないしお菓子類をメインに提供する店舗。ただし店内飲食ができるものに限定。

中分類:上と同じ

小分類:ケーキ、ドーナッツ、アイスクリーム、パン、和菓子

焼き物軽食(Snack Shop)

お好み焼き、焼きそば、たこ焼きなど、鉄板等で焼いた軽食を提供する店舗。ただし店内飲食ができるものに限定。肉をメインで焼く場合は「鉄板焼・ステーキ」に分類。

中分類:上と同じ

小分類:お好み焼き、焼きそば、たこ焼き

茶店(Cafe or Coffee Shop)

コーヒーないしお茶、スムージー、其の他、主としてアルコールを含まないドリンクとパンやケーキなどの軽食を合わせて提供する店舗。

中分類:喫茶店

小分類:喫茶店、フルーツパーラー、ジューススタンド

バー・ナイトクラブ(Bar or Night Clubs)

お酒の提供が主であり、ビール、日本酒、ワイン、ウイスキー、ラム、ジン、ウォッカ、ブランデー等、取り扱う種類が豊富であるか、または何かしらの銘柄に特化したメニュー構成になっている。飲み方もストレート、ロック、炭酸割、お湯割と多彩であり、各種リキュールや季節のフルーツを使用したカクテルを提供することもある。また飲酒だけでなく、会話を中心とした店員の接客や、ダンス、ダーツ、ビリヤードなど客相互の交流を目的とした設備がある店舗。特に、何かしらの性的魅力を商品化した女性キャストが主に男性客に対して、カウンター越しに、あるいは隣に座るなりして、所謂歓楽的気分を醸成して接客する=接待的サービスがある店舗については中分類で「スナック」と定義し、ホステスクラブ、キャバクラ、ラウンジ、キャバレー、ガールズバー、狭義のスナック(ママがいる)を含めた。前記に該当せず、主として男性のバーテンダーがカクテルメイクなどして会話とドリンクを提供するカウンターメインの空間は中分類「バー」と定義した。また、ステージがあり音響的装置が整備され、客が踊ったり客同士で交流することをコンセプトにしている店舗は「ナイトクラブ」として定義した。なお、今回の該当エリア内には、調査当時、男性キャストが主として女性客を接待する系列の店舗、例えばホストクラブやボーイズバー、コンセプトカフェ等が立地していなかったため、「スナック」の定義にこの条件を加えていない。

中分類:バー、スナック、ナイトクラブ

小分類:シャンパンバー、ワインバー、シードルバー、ダーツバー、シーシャバー、スナック、キャバレー、キャバクラ、クラブ、ラウンジ、ガールズバー、カラオケバー等

 

データの取得

街に出て初めて分かることもたくさんある(三田、慶應仲通李商店街にて)

あるエリアの飲食店の一覧リストを取得したいと思うとき、多くの人は、情報取得の方法としてぐるなび食べログホットペッパーをはじめとする様々なグルメサイトから1つを選んでその情報を抜き出す=スクレイピングすることを第一に考えるだろう。確かにそれも有効な手段だ。だが、この手法を取った場合いくつか考えなければならない課題がある。ざっと思いついた限りでも以下のようなものがあげられる。

  • そこに掲載されている情報は最新のものだろうか?
  • 掲載内容は適切だろうか?(店舗公認の情報なのかそうでないのか)
  • 必要な情報がすべて取得できるのだろうか?(例えば食べログの場合、詳細情報が入力されている店舗と入力されていない店舗にかなりばらつきがある)
  • 未掲載店舗の情報は取得できないため、未掲載店舗数が多くなるとリストとしての網羅率が低下するがそれでよいのか?

またネットの情報は往々にして、情報の出処と鮮度、精度について疑問符が付くケースがある。今や店舗自ら公式HPや公式SNSで情報発信する時代、グルメサイトの情報が一番適切だから参照元にするとは、おいそれとは言われない。

夜にならないと看板を出さない店は、昼間の調査で漏れやすい(三田、慶應仲通り商店街にて)

さらに、今回の「飲食店」にはスナック系の店舗もターゲット圏内にある。これらの風俗営業店舗は、グルメサイトはおろかス水商売系のポータルサイトにも掲載のない場合が少なくない。公式HPがないケースだってあり得る。そんな時、ただ1つの情報元に頼ることが現実的でないというのは充分な理由となる。ではどうするのか。街へ出て、データを一から作り出してみようじゃないか。ネットから情報を気楽に入手できるこのご時世、そんな手間と時間のかかる方法を選択するというのは相当なハードルだけれども、時間と人手があればできなくもない。ちょうどタイミングよくそのどちらも手に入った。ゆえに、飲食店フィールド調査を決行したのである。

足で稼ぐ~フィールド調査とその後の流れ~

まずは、飲食店の立地をビルディングごとに把握する。なぜビルディングなのかというと、シンプルに飲食店の住所から緯度経度に変換すると、同じ住所のビルディングが同じ緯度経度になってしまい、「別々の建物内にある」を表現できないからである。具体的な手法としては、ゼンリン住宅地図の最新版を取得し、ターゲットエリア内の全建物を調査した。これは住宅地図とメモ帳、カメラ片手のれっきとした野外調査だ。ありとあらゆる街路を踏破し、飲食店の立地有無を判別し、ある場合は各ビルディングに存在するテナント一覧を取得する。飲食店の入居が確認されたビルディングについては、次に入居する飲食店のテナント一覧を取得した。店舗数が少なければ手元のメモ帳に直接記載し、複数店舗にわたる場合はビルのフロアマップやフロアガイド等を丸ごと撮影した。最終的にはExcelにすべて手入力する。

住宅街の中にもひっそりと隠れ家的なお店があるから油断ならない(麻布十番

フィールド調査の第一弾はここで修了。結果を基に最初に作成するのは、エリア内の飲食店所在ビルディング一覧リストだ。該当ビルディングにはビルディングコードを発行する。後に位置情報データを仕込むのもこちらのリストになる。

次に作成するのが、該当エリア内における飲食店一覧リスト。各飲食店には所在地情報としてビルディングコードを付与する。営業時間、ランチタイム営業有無、席数、定休日、ディナー価格帯、会員制有無等、飲食店の属性情報は以下の順で採用した。

  1. 店舗公式HP
  2. 食べログ等のグルメサイトのうち、「公式」店舗が監修しているもの
  3. グルメサイトのうち、公式店舗が監修していないもの

ただし、公式が監督する最新情報が②→①の場合、②の情報を採用する。何故かというと、往々にして公式サイトを持っている店舗でも、公式サイトがオープン当時のまま更新されておらず、グルメサイトの方が最新情報を反映している場合があるからだ。つまり情報の採用基準は、それが公式情報であるかどうか、最新のものであるかどうかの2点だ。さらにこの段階で、各店舗の営業有無も調査する。

既存のデータを加工する

国土地理院提供の基盤地図情報を用い、飲食店が入居する建築物の位置情報データおよび、背景マップとして使用する様々な属性(地形、街路、建造物)のデータを作成した。加工の詳細な手順については各コンセプトシートの解説記事で紹介するため、ここでは概略のみ記載する。

ビルディングリストの作成

飲食店が入居しているビルディングにポイント(黄色)を振り分けたもの

ビルディングリストと飲食店一覧リストが出来たら、前者の方に位置情報を仕込む。今回はビルディングごとにデータを付与するので、国土地理院サイトから提供されている基盤地図情報を使用した。ただし、ゼンリンの住宅地図を比較してこのデータセットは少々情報が古いのと、一部地物が正しく反映されていない?ケースがあるので、該当の地物(今回の場合は建築物のポリゴンデータ)にいくつか手修正を施した。また元ソースは2つのファイルを統合しているため、統合ファイルに重複のユニークキーが存在する。新しくこちらでユニークキーを発行する必要があった。こちらの作業はやや複雑だったのでPythonのGeopandasライブラリを使用して加工した。

背景用建造物データを加工する

背景用建築物のポリゴンデータをTableau上で表示したところ(全エリア)

ビルディングリストは、飲食店が所在する建造物のみ抽出したファイルであるが、それ以外の建造物も含めた全体ファイルも準備した。そのままだとデータ量が大きすぎるので、必要な範囲に絞って出力する。こちらは背景マップとして使用する。

等高線のポリゴンデータを作成する

等高線のポリゴンファイルをTableau上で表示したところ(麻布十番

これも背景マップ用。基盤地図から取得できるデータは画像形式なので、いったん線形ジオメトリのシェープファイルに変換し、次にこれをポリゴン化しなければならない。

街路構成データを加工する

街路のラインジオメトリをTableau上で表示したところ(麻布十番

こちらも背景マップ用。鉄道や地下鉄の軌道、高速道路、車道、歩道等を描写したGMLファイルがあるので、線形ジオメトリのシェープファイルに加工し、そのままではデータ量がえぐいくらいに大きいので、必要なエリアのみ切り出し容量を抑えた。

 

集計項目の詳細な定義

データセットして整形した内容のうち、いくつか重要なものに絞って解説する。

ビルディングコード(BCode)

該当エリア内における建築物のユニークコード。基本的に飲食店が立地するビルに限定して振り分け。なお、GISCodeないしModGISCodeは飲食店の立地有無を問わない建築物のユニークコードである。

店舗コード(SCode)

該当エリア内における飲食店のユニークコード。

フロア(Floor N)と部屋番号(Room N)

フロアは飲食店の所在階数。複数階にまたがる場合は一番地面に近い階数を記載。例えば1・2階にまたがる場合は1階。B1階・1階にまたがる場合も1階。部屋番号は同一階に複数店舗ある場合の識別用。1フロア1店舗であればすべて1。それ以外は連番として1,2,3の要領で振り分け。

業種(Industry)

飲食店舗か風俗営業か。後者は接客を伴うバー、ラウンジ、スナック、ナイトクラブを含む。前記以外はすべて飲食店舗に分類。

ランチ営業有無(Lunch FLG)

ランチ時間帯(11:00~15:00)における営業の有無。あれば1、なければ0。ランチメニュー提供有無を問わない。また、完全予約制の場合はランチ営業有でも0とする。

ランチ開始時刻(LT Start)、終了時刻(LT End)

平日休日等で営業時間が異なる場合は、いちばん長い営業時間帯を入力。候補が複数ある場合は、提供日数が一番多い時間帯を選択。

ディナー開始時刻(DT Start)、終了時刻(DT End)

平日休日等で営業時間が異なる場合はランチ時刻と同様に対処。二部制の場合は、開始時刻に一部の開始時刻、終了時刻に二部の終了時刻を記載。

ディナー最低価格(DPrice Min)、最高価格(DPrice Max)

ディナー営業時における客単価を推定するために設置したカラム。店舗公式HP→食べログ→その他グルメサイトの順で最低料金と最高料金を掲載。バー・ナイトクラブの場合は以下の方法で取得。①ナイトクラブ:男性料金の最低最高(女性料金が異なる場合は備考に記載)。②バー&③スナック:公式HPないしグルメサイト、スナックポータル等に掲載の料金。

会員制の有無(MS FLG)

メンバーシップ制度(一見さんお断り、会員制等)があるかどうか。あれば1、なければ0を記載。

定休日(RHoliday)

毎週の定休日を基本とするため、第2木曜~のように週次で営業有無が変わる場合は記載しない。情報がない場合は不定休をデフォルトとする。

席数(Seats)

ナイトクラブの場合は収容人数を掲載。

開業年(Open)

月以下は切り捨て。店舗移転がある場合は、該当エリア内での開業年を記載。

閉店フラグ(Close FLG)

区分の定義は以下の通り。0:営業中、1:閉店、2:臨時休業ないし閉業の可能性あり。営業確認が出来た店舗は0。高確率で閉店している可能性がある(グーグルマップ上で閉店、食べログが掲載保留ないし閉店、公式SNSアカウント等で閉店のお知らせがある、外観的に明らかに営業していない)の場合は1。臨時休業ないし閉店の可能性があるが、上記1の定義に該当しない場合は2。元データセットには上記3ついずれも含まれるが、ダッシュボードに連携しているデータは0のみ。データソースフィルターでClose FLG=0に絞っているため。