top of page

【開発事例】ココナラの出品ランキングを自動収集&ダッシュボード化【GAS×LookerStudio】

概要

毎日更新されるココナラの各カテゴリーのランキングページの情報を自動的に取得して、その日々の変化などをダッシュボード化して誰でも見れるようにするシステムを構築したので、今回はその紹介です。


背景


まずココナラのランキングは下記リンクのようなものです。

ree

このランキングが様々なカテゴリー別に掲載されていて、これが毎日更新されて変化します。


ココナラで出品している人にとっては


・自分の出品サービスがいまどの順位なのか?

・上位に上がるほど閲覧数が増えるので案件受注に繋がりやすい


ということで常に気になったりします。



今回開発したシステムでは、このランキングを毎日取得して、これをダッシュボード化して共有し誰でも閲覧できるようにしたものです。


本記事の末にも作成したダッシュボードのリンクを記載していますが、先に見たいという方は下記リンクを参照してください。


システム詳細


まずシステム全体の全体概要を説明すると次のようになります。

  1. GoogleAppsScript(以下:GAS)を利用してランキングの情報を取得して、Googleスプレッドシート上に出力

  2. Googleスプレッドシート上のランキングデータをCSVファイルとして出力(GASを利用)

  3. 1日1件ずつ溜まるCSVファイルを別のGoogleスプレッドシートに読み込んで、過去のデータと結合(GASを利用)

  4. GoogleスプレッドシートとLookerStudioを接続してダッシュボードを構築



手順1「GoogleAppsScript(以下:GAS)を利用してランキングの情報を取得して、Googleスプレッドシート上に出力」

ランキングの取得はGoogleAppsScript(以下:GAS)を利用してGoogleスプレッドシート上に取得します。

GAS内のコードではUrlFetchApp.fetchを利用してランキングページの静的ページHTMLを取得し、Parserなどを利用した文字列処理でランキングに関する情報のみを取得する流れです。

具体的なコードの技術解説は割愛しますが、今時なので詳細はAIに聞いてください。


このランキングの取得の処理を毎日同じ時刻で自動実行できるようにトリガーを設定しておきます。ちなみにランキングの取得処理はGASの制限時間の6分を余裕で超えてしまうので、継続的に実行できるように関数内で次の処理をトリガーを設定するようにしています。

ランキング取得途中の状態
ランキング取得途中の状態

汎用性を持たせるために取得対象のカテゴリーは複数登録できるようにしておきます。

対象の複数のカテゴリーを登録
対象の複数のカテゴリーを登録

手順2:「Googleスプレッドシート上のランキングデータをCSVファイルとして出力(GASを利用)

各カテゴリーごとのランキングデータはスプレッドシート上にためていくとデータ量が膨大になるので、各カテゴリー別にフォルダを自動的に用意してその中に1日1件ずつCSVファイルとして出力します。

カテゴリー別のフォルダ
カテゴリー別のフォルダ
フォルダ内のCSV
フォルダ内のCSV

手順3:「1日1件ずつ溜まるCSVファイルを別のGoogleスプレッドシートに読み込んで、過去のデータと結合(GASを利用)

フォルダ内のCSVは「CSV集計2」のスプレッドシート内に自動的に取り込まれます。こちらもデータ量が膨大になるのでランキングは上位10位にとどめております。

このCSV集計の処理もGASで構築して、ランキング取得と同様に毎日特定時刻で実行されるようにトリガーを設定しています。

また、LookerStudioに接続しやすくするため1行目はヘッダー、2行目以降にデータを入れるように整えています。

CSV集計2の中身
CSV集計2の中身

手順4:「GoogleスプレッドシートとLookerStudioを接続してダッシュボードを構築

この「CSV集計2」をLookerStudioと接続します。

LookerStudioとの接続の様子
LookerStudioとの接続の様子

あとはLookerStudio上で好きなようにダッシュボードを接続します。

ダッシュボードには次のような情報を入れるようにしました。


1ページ目

  • 最新日付のランキング表

  • ランキング上位者全体のお願い中の人数合計

  • ランキング上位者におけるお願い中人数の割合

  • 直近2ヶ月の各出品者のお願い中人数の推移

  • 直近2ヶ月の各出品サービスのランキング推移

1ページ目
1ページ目

2ページ目

  • データがある全期間のランキングの推移(2024年12月~2025年5月は管理者の怠慢のためデータ欠損)

2ページ目 ランキング推移
2ページ目 ランキング推移

3ページ目

  • 各出品サービスの販売実績の推移(統計開始時点を0とする)

3ページ目 サービス販売実績推移
3ページ目 サービス販売実績推移

4ページ目

  • 各出品者の販売実績の推移(統計開始時点を0とする)

    4ページ目 出品者実績推移
    4ページ目 出品者実績推移

詳細リンク


ダッシュボードを構築したカテゴリーは「IT」「Excel VBA」「デザイン」の3つです。

下記リンクから参照してください。


まとめ

今回ご紹介したシステムは、Google Apps Scriptを用いてWeb上のデータを定期取得し、Googleスプレッドシートに記録・集計し、Looker Studioで可視化するという仕組みです。

ランキング情報のように「日々更新される情報」を継続的に記録・分析したいケースにおいて、このような全自動の可視化ダッシュボードは非常に効果的です。

また今回使用した Looker Studio(旧Data Portal) は、他のBIツール(Power BI や Tableau など)と比較して以下のような特徴があります(chatGPT調べ):

項目

Power BI

Tableau

Looker Studio(旧Data Portal)

開発元

Microsoft

Salesforce(旧Tableau Software)

Google

導入コスト

無料(Power BI Desktop)


有料版あり(Pro)

有料(月額制/年額制)


※Viewer含む場合有料

無料(GoogleアカウントがあればOK)

操作性(初学者)

Excelユーザーに親和性が高い


UIが直感的

ドラッグ&ドロップ中心だがやや学習コストあり

Google製品との統一UIで直感的

スプレッドシート連携

△ インポートは可能だが制約あり

△ CSVまたはGoogle Sheets連携には制約

◎ Google Sheetsとネイティブ連携

データ更新方式

Power BI Gatewayを通じた更新(Pro必要)

Tableau Server/Tableau Prepが必要

スプレッドシートの更新に自動連動

共有のしやすさ

Proライセンスが必要(基本は社内共有向け)

Viewerの課金が発生しやすく企業向け

◎ URLで簡単共有、外部にもOK

対応データベース

◎ Microsoft系(SQL Server, Excel, Azure)

◎ Salesforce, Amazon Redshift など強い

△ 基本はGoogle関連 or 手動連携

カスタマイズ性

DAX(関数言語)で細かく制御可能

VizQLやPython/R連携で高度な表現も可能

基本的に限定された設定範囲内

対象ユーザー

中小企業~エンタープライズまで幅広い

大企業・分析専門チーム向けが多い

個人・小規模事業者・教育・簡易レポート向け


これらの理由から、小~中規模の業務改善外部共有を前提とした分析レポートには、Looker Studioは非常に優れた選択肢です。

本記事の事例は一例ですが、他のデータにも応用可能です。「特定のWeb情報を自動取得して可視化したい」「社内でランキングや実績を共有したい」といったご要望がありましたら、同様の仕組みで対応可能ですので、ぜひお気軽にご相談ください。

コメント


softex-celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page