Inside PRESSBLOG

PRESSBLOG / Instagram / SNS マーケティングとか

Railsのパフォーマンスチューニングしたらトップページの速度が100倍になった。

皆さん、こんにちは。
見習いエンジニアのkey(id:key_libres)です。
Twitterもやっているのでぜひフォローして下さい→@key___sn

先日、PRESSブログにおける未ログイン時のトップページをリニューアル致しまして、その際レスポンスが異常に遅かったり、サーバーへの負荷が大変なことになり、なんどもサーバーが落ちてしまいました。

その後、開発メンバーの統括をしているsainu(@sainu_____)に協力してもらい、原因を調査・対策することで結果としてサーバーへの負荷が軽くなり、Railsを高速化することが出来ました。

結論としては、

  • インデックス
  • キャッシュ

をしっかり使いこなしましょうというお話です。

ことのはじまり

早朝のデプロイが完了後、

f:id:key_libres:20180516155715p:plain

ものすごい大量にアラートが来るようになりました。

このアラートは、下記の画像のようにロードバランサーとターゲットの応答時間が300ms以上かかっている時にきています。

f:id:key_libres:20180518150926j:plain

調べてみると、トップページや検索ページの処理時間が異常に長いことがわかり、 特に今回リニューアルしたトップページのx-runtime(サーバーでの処理時間)に4sほどがかかっていました。

原因調査・対策

スロークエリ対策(index)

本番のログを確認すると、

D, [2018-05-14T07:50:09.852137 #9615] DEBUG -- :    (4009.6ms)  SELECT ・・・

ものすごい大きなクエリが出ていました。

EC2のモニタリングを見るとCPUやメモリの空き容量に問題がなく、RDSのリソースを確認してみるとCPUが100%になっていたので、ひとまずスロークエリを解決することから始めました。

ローカルで確認したところ、どうやら記事テーブルを投稿順にソートする
scope :latest, ->{order(published_at: :desc)}
で遅くなっていることが判明しました。

ActiveRecordのorderメソッドでは全レコードを処理するので、記事テーブルのようなレコード数の多いテーブルではものすごい処理時間がかかっていました。

そこで、投稿順にソートするロジックはよく利用するので、ソートしたテーブルに対してインデックスを貼ることにしました。

新しくマイグレーションファイルを用意して、

add_index :articles, :published_at, order: { published_at: :desc }

を追加してrake db:migrateしました。

  • インデックスを貼る前

f:id:key_libres:20180517143210p:plain f:id:key_libres:20180517143214p:plain f:id:key_libres:20180517143217p:plain

  • インデックスを貼った後

f:id:key_libres:20180517143244p:plain f:id:key_libres:20180517143248p:plain f:id:key_libres:20180517143251p:plain

ものすごく早くなりました。

他にも少し重いクエリはあったのですが一旦、こちらでデプロイして、様子を確認しました。

f:id:key_libres:20180516172936j:plain

トップページのトランザクションが減りましたね。

しかし、最もアクセスが増える夜の時間帯にて502(Bad Gateway)が返ってくるようになりました。

ビューキャッシュによる先行評価対策

Google Analyticsは通常通りなのですが、サーバーの状態がおかしかったのでLoad Averageを確認すると、
load average: 5.67, 2.58, 1.91
やばいですね。。
他のサーバーも
load average: 2.11, 6.08, 6.32
となっています。
Load Averageは
「1CPUにおける単位時間あたりの実行待ちとディスクI/O待ちのプロセスの数の合計」
で表され、各サーバーのCPU数は1つなので1.00を超えるとサーバーの負荷としては大きいということなのですが、大幅なオーバーをしています。

このような時は、

  • 異常なプロセスがないか確認←大体unicorn
  • nginxの再起動
  • unicornの再起動
  • メモリやCPUをチェック

あとは、

  • ロードバランサのバランス機能の確認(load averageにばらつきがあるので)
  • データベースに対するCPUの確認

などの対策が考えられます。

今回、データベースに対するCPUを確認すると

f:id:key_libres:20180516180700j:plain

CPUの利用率の上昇に伴い、

f:id:key_libres:20180516180734j:plain

読み書きも急激に上がっているので、重いクエリが走っているようなことが予測されました。

そこで、slow_log.sqlを確認すると

$ tail -r slow_log.sql | grep “TopController,action:index,line:/app/controllers/top_controller.rb:38” | wc

4万件近く上記に関連したslow logがありました。 該当箇所では、

  @hoge = User.joins(:fuga) ... .uniq.limit(5)

のようにuniqを使っていたので、ビュー側でこのインスタンス変数をフラグメントキャッシュをしていても、コントローラー側でrubyの関数uniqによる値の評価が必要なので、毎回クエリが発行されていました。

PRESSブログでは、1日でリアルタイム2000人以上、PVが60万ほどになることもあり、トップページの全ページの中でもトップ10に入るくらい多くのアクセスがあるページなので、毎回クエリが発行されるととんでもない負荷がサーバーにかかっていました。

そこで、一時的に ビューのフラグメントキャッシュ内に先行評価されるロジックを入れることにより、キャッシュされている間はクエリが発行されないようにしました。

注) 本来は、キャッシュ部分のクエリが出ないようにコントローラーのロジックを書き直すか、ビューキャッシュではなくモデルを作成してDBに保存しておくのが良いです。緊急対応として一旦、こちらの方法を採用しました。

これにより、さらなる高速化を実現することができました。

これでデプロイをしました。

しかし、circle ciを用いてデプロイが完了しても本番で早くなっていませんでした。

デプロイの反映

デプロイ完了後に、本番のログを確認するとローカルでキャッシュされたクエリがキャッシュされておらず、デプロイ前と変わらないログが出ていました。

したがって、デプロイが上手く行われていないことが予想され

$ cat REVISION

を実行するとrevisionが本番と同じ環境にしているステージング環境と一致していたのでunicornが原因だと考えられ、unicornを一旦killして、起動し直しました。

再起動は、設定でkillコマンドに-s USR2オプションをつけており、処理中の大きなプロセスが終了するまでデプロイが反映されないため、killしました。

結果、

f:id:key_libres:20180516184322p:plain

かなり早くなりました。

Webサービスは基本的にx-runtimeが0.1s以下でないとユーザーはストレスを感じてしまいますので、これからも0.1s以下を保てるようにしていきます。

最後に

今回の問題はたくさんのユーザーがいて、PVのあるサービスでないと起きない問題です。

ただ仕様通りのページが表示されるようにプログラミングするだけでなく、テーブルの構造やページのリクエスト数などを考慮して、適切にキャッシュやインデックスを貼り、サーバーの負荷を軽減するようなプログラムにすることも大事だということを学びました。

今回の反省を活かして、より良いサービス開発を頑張ります!

参考

Rails: データベースのパフォーマンスを損なう3つの書き方(翻訳)

RSS2.0の基本構造

xml宣言

現在xmlのバージョンは1.0。省略した場合、1.0になる。

<?xml version="1.0"?>

rssバージョン

rssのバージョンは、2.0を指定する。

<rss version="2.0">

channel要素

xml形式文書の最初の子オブジェクト。 channel要素は、RSS 2.0を配信する配信元となるサイトなどの情報を示す要素。 この要素には次のようなオプションの定義付けができる。

<channel></channel>

必須項目

要素名 概要
title 配信元となるサイトなどの名称を表記 <title>PRESS</title>
link 配信元となるサイトなどのURLを表記 <link>https://pressblog.me/users/sainu__</link>
description 配信元となるサイトの説明を表記 <description></description>

任意項目

要素名 概要
language 使用言語 <language>ja</language>
lastBuildDate RSS 2.0ファイルの最終更新日 <lastBuildDate>Tue, 02 Jan 2018 14:02:28 +0900</lastBuildDate>
generator チャンネルの生成に使用したツール <generator>PRESSブログ</generator>
pubDate 配信元ファイルの最終更新日 <pubDate>Tue, 02 Jan 2018 14:02:28 +0900</pubDate>
category チャンネルのカテゴリ <category>lifestyle</category>
images チャンネルに表示する画像 <images>~</images>
images - url 画像のURL <url>https://hoge.png</url>
images - title 画像にはるリンクにマウスオーバーした時に表示されるツールチップの内容 <title>ユーザー名</title>
images - link 画像にはるリンク先URL <link>https://pressblog.me/users/sainu__</link>
images - width 画像の幅 <width>300</width>
images - height 画像の高さ <height>300</height>

item要素

各ページの説明。日付が新しいもの順。

<item></item>
要素名 概要
title コンテンツのタイトル、ページタイトルや記事タイトル <title>記事タイトル</title>
link コンテンツのURL、ページのURL <link>https://pressblog.me/blog_posts/1</link>
description コンテンツの内容 <description>記事の中身・・・</description>
pubDate コンテンツの最終更新日 <pubDate>Tue, 02 Jan 2018 14:02:28 +0900</pubDate>
category コンテンツのカテゴリー(PRESSにはない) <category>服</category>
enclosure コンテンツに添付されるメディアオブジェクト(サムネ?) <enclosure url="" type="image/png"></enclosure>

inside.pressblog.me

Railsではてなブログみたいにユーザー毎のRSS実装した

PRESSブログ内でRSSフィードを実装しました。

↓RSSフィード例

https://pressblog.me/users/pressblog/rss

↓RSSフィードドキュメント

更新フィード | PRESS

仕様

  1. ユーザー毎にRSSフィードを作成する
  2. 新規投稿 or 記事更新をしたら、RSSフィードを生成しなおす
  3. xmlは1時間キャッシュする

使用したライブラリ

RailsのAction Viewは .builder 拡張子をつけると、 Builder::XmlMarkup のインスタンスを使用できます。

↓公式の説明はこちら↓

railsguides.jp

def show
  @posts = Post.order(published_at: :desc)
  @latest_post = Post.order(updated_at: :desc).first
end
cache "rss-last-updated_at_#{@latest_post.updated_at.to_i}", expires_in: 1.hours do
  xml.instruct! :xml, version: 1.0
  xml.rss(version: '2.0') do
    xml.channel do
      xml.title "#{current_user.name}#{' 公式ブログ' if current_user.is_official}"
      xml.description current_user.desc
      xml.link current_user.page_path(full_path: true)
      xml.language 'ja'
      xml.lastBuildDate Time.current.rfc822
      xml.generator 'PRESSブログ'
      if current_user.is_official && current_user.category.present?
        xml.category current_user.category.name
      end
      xml.images do
        xml.url current_user.thumb_url
        xml.title current_user.name
        xml.link current_user.page_path(full_path: true)
      end

      @posts.each do |bp|
        xml.item do
          xml.title bp.title
          xml.link bp.page_path(full_path: true)
          xml.description bp.desc
          xml.pubDate bp.published_at.rfc822
          xml.enclosure bp.thumb_url
        end
      end
    end
  end
end

Action Viewでxmlを生成できるので、余計なライブラリをいれず動的生成をさくっと出来て便利です。

おまけ

Builder::XmlMarkup ライブラリは rails c で実行できます。

$ rails c
>xml = Builder::XmlMarkup.new(target: STDOUT, indent: 2)
>xml.channel do
*xml.title 'test'
*end

targetSTDOUT を指定しておくと、生成されるxmlを標準出力してくれるので、コンソールでのデバッグのときはこれを指定しておくと便利です。

ついにビデオチャット追加の噂が!インスタグラム公式は「ノーコメント」

Instagramに音声・ビデオチャット機能が実装される可能性が出てきました。

So it appears Instagram is preparing to launch audio and video calling within its Direct messaging system.
(訳)Instagramは音声・ビデオチャットをDM機能への追加実装する準備を進めているようです。

今回の情報は公式が発表したものではなく、Androidアプリ版のInstagram内のファイル名からその可能性が噂されています。

f:id:ryota0612:20180303185552j:plain
Files buried in Instagram and the Instagram Direct standalone app’s Android Application Packages (APKs) are files and icons for “Call” and “Video Call”.
(訳)Instagramと、そのスタンドアローン・アプリである「Direct from Instagram」のAndroidアプリパッケージ内に埋め込まれたファイル・アイコンが「電話」と「ビデオ通話」用のものだったのです。

問い合わせに対してはノーコメントを貫くInstagramですが、GIFスタンプ導入の噂にも同様の姿勢をとったのち、公式リリースが発表された例もあります。今回の噂に対しても、実装間違いなし...という見方が強まっています。

Snapchatは眠れない夜が続く?

Instagram’s competition has contributed to stagnation in the growth of Snapchat Stories sharing, but messaging remains beloved by Snap’s younger users.
(訳)Instagramは競争を仕掛けることによってSnapchatの(ストーリーズサービスの)シェアの成長に待ったをかけることに成功していました。しかしメッセージ機能、においては、Snapchatの方が若年のユーザーに愛用されていたままでした。

Snapchatに優位性があったメッセージ機能ですが...。  

But if Instagram can become the best way to communicate visually, no matter the medium, it could steal users from Snapchat and make it’s app more appealing to people around the world.
(訳)しかし、Instagramがビジュアル・コミュニケーション(=ビデオチャット機能など)を行うにあたっての選択肢となれば、Snapchatからユーザーを奪い、世界中の人々にアプリをアピールすることが可能になります。

SnapchatはInstagramにストリーズ機能が導入されたことによりその優位性を失ってきていましたが、さらにビデオチャット機能においても厳しい状況に置かれることになるかもしれません...。

Instagramの親会社であるFacebookにおいても、メッセージ機能(=Facebook Messanger)とそのアプリ内におけるビデオチャット機能の追加に成功した過去もあり、ノウハウは一定以上あると考えられます。

InstagramのDM機能が使われる機会も増えている中でのこの新機能の噂、いよいよInstagramがコミュニケーションの中心になっていく日も近づいているのかもしれませんね。

文引用
Instagram code reveals unreleased voice and video calling

インスタ vs Google。2,000人の答えに見たイマドキの検索事情

「死にたい」 そうGoogleで検索すると、キャリア診断テストに誘導する記事が検索上位に表示される…。

DeNA社が運営するキュレーションメディアで、過剰に、そして非常にセンシティヴなキーワードに対してもSEO対策が取られいたその運営体制は2016年末に大きな批判を呼び、物議を醸しました。

ただこの事件においては、ある種のタブーを犯した点や、コピペ記事を多用し著作権の問題に飛び火した為に大炎上しましたが、「SEO対策」そのものはキュレーションメディアのみならず、Webサイトを運営するならもはや「常識」と言える知識です。

とりあえず「ググる」時代の終わり

最近だと、Web・ITに少しでも関わりのある人ならば大体みんな知識としてSEOを理解していますよね。
「検索する=Googleで調べる(ググる)」と言っていいぐらい、現代人にとってGoogle(もちろんYahooもですが)のような検索エンジンが重要と理解して、Web界隈の方々はSEOを意識してコンテンツ作りに励んでいるんですね。

ただ...こういった常識を持っていると、 「ユーザーは皆Googleで情報を検索して、そのまま意思決定をする」 と思ってしまいがちですよね。

それは、大きな間違いです!

Instagram > Google検索?

ここ最近の10代・20代の女性の声を聞くと、「Google検索」への依存度は以前に比べて大きく下がっています。 逆に(特にファションやコスメ、旅行などのジャンルで)存在感を急激に伸ばしているのが「Instagram」での検索

もちろん、Google検索を全く使わなくなっているわけではなく... 旅行先を探すにしても、Googleで検索した後にもう一度Instagramで検索し直して、「あ、本当にここ綺麗そう!行こう!!」と、後押しとなる情報を得てからじゃないと動かないんです。ハッシュタグの数が多いとより一層安心なんだそう。

「公式」が信頼されない時代

また、女子大生に話を聞いていると.... Googleで(当然)検索上位に出てくる「公式サイト」に掲載された綺麗な写真・映像を見ても「嘘っぽい」とのこと。Instagramで出た写真の方がずっとリアル、と。

最初、自分はよく意味がわからなかったんですが。。。要は 「公式ならどうとでも綺麗に見せられるし、いい写真も使えるから信用ならない!」 んだそうです。恣意的・ビジネス的意図があるものに彼女達は非常に敏感かつ、よりリアルな情報を求める傾向にあるんですね。

彼女たちが求めているのは「ユーザー目線の情報」であり、それこそが最も信頼できるもの。だからこそGoogleで調べて「正しそうな情報」を得ても、もう一度Instagramで検索し直して「情報を補う」という行動が自然なものになっているんですね。

Instagram上で2,000人にアンケートを実施

今回、こういった声を検証する為にPRESS公式のInstagramストーリーズでアンケートを実施しました。
質問は下記の2つ。

f:id:ryota0612:20180228201257p:plain
f:id:ryota0612:20180228201320p:plain
  • どっちが便利?「Instagram / Google検索」
  • Instagram、旅行の予習に使っちゃう「YES / NO」

※前提として、ユーザー属性は下記をご参考に。 サービスの特性上「おしゃれに敏感な10代〜30代の女性」がメインです。

f:id:ryota0612:20180228203925p:plain

24時間のアンケートで寄せられた2,000人の声、結果は下記の通りです!

f:id:ryota0612:20180323112328p:plain

回答者2,000人のうち実に86%ものユーザーがGoogle検索よりもInstagramを便利に思っている、との結果が。

一方の、旅行先の選定には...

f:id:ryota0612:20180323112354p:plain

なんと93%のユーザーがInstagramを活用**しているとの結果が出ました。

このデータを見ても多くのユーザー、特に20代前後の女性がInstagramを通して情報を得ていることがわかりますね。 旅行のように少し大掛かりなイベントだと、Instagramでしっかり情報を集めてから動きたい、という風に慎重さが増すんですかね。

Instagramは「最適化」に気づかれていないのか?

ただ、「リアルな情報」があるとされるInstagramがシステム・ビジネスの手が届いていないプラットフォームなのか?というと、ご存知の通り決してそんなことはありません。

Instagramも初期は時系列順に投稿がフィードに表示されていましたが、現在Instagramの投稿表示エンゲージメント率の高い(いいね・コメントの数が多い)投稿がフィードに現れやすいよう設計されています。ある種恣意的な操作は存在しています。

加えて、ユーザーの中から生まれた「憧れの存在」であるインフルエンサーも今や企業からの依頼を受けてのPR投稿を行っているのは周知の事実。フィードとフィードの合間には広告も挟み込まれています。

ただ多くのユーザーにとっては、Instagramが投稿の「最適化」を行っていようとも、まだ「インスタ離れ」の大きな理由にはなってはいないようです。

「ミレニアル世代」にとってのInstagram

They are wary of people telling them who they are or what they want. So whom do they trust? A photo app — after all, 83 percent of millennials sleep with their phones. And De Jesu knows it: “Trust is built into the platform.”
(訳)ミレニアル世代は、自分が誰なのか、何を求めているのかとコミュニケーションをとってくる人々に対して用心深いものです。では、彼らが信じるものとは何なのでしょうか?それこそ、写真アプリ(=Instagram)なのです。ミニレアル世代の83%はスマホの側で眠りにつきます。そして De Jesu (=Shhhowercap社CEO )氏曰く、「信頼は、そのプラットフォーム(=Instagram)上で醸成されるものです。」
文引用:Instagram Ads Are Basically Infomercials for Millennials

ミレニアル世代、つまりデジタルネイティブな若者たちにとって、情報はスマホ1つでいくらでもアクセスできます。上記の記事を見ても...そんな情報氾濫時代の中で、Instagramは彼らにとって特に信頼できる情報源であり続けています。

「いやいやGoogleもInstagramも結局はビジネスだから!一緒じゃん!」と思ったとしても、彼らのInstagramへの信頼は簡単には揺るぎません。むしろ、ミレニアル世代の間に培った「Instagram=リアル」という文化こそ、Instagramの何よりの強みなんです。

細心の注意を払ったマーケティングを

Instagramはある程度「最適化」されようとも、今やSEOを施されたGoogle検索と同じくらいの情報源として利用されています。
ユーザーにアプローチするチャネルとして今後も多くの企業やブランドがInstagramを利用しようと試みると思いますが...その際は、改めてInstagramが持つ価値・世界観を認識しないといけません。

Instagramでインフルエンサー・マーケティングを仕掛ける場合も広告を出稿する場合も、その世界観に沿った形で、その世界観を壊さない形で企画を練らないといけません。 ユーザーにとっての「リアル」をぶち壊してしまうと、PR施策の失敗のみならず、ユーザーのInstagramへの愛着すら壊してしまいかねません。

「とりあえず流行りのプラットフォームで広告を出してみよう」というノリでやろうとしているならばオススメしません。細心の注意を払い、施策を設計した上で活用すべきプラットフォームであることを忘れずに!

PRESSとは…

インスタグラマーの為のブログサービスPRESSでは、「共創」をテーマとして企業のブランディング・マーケティングに取り組んでいます。我々が事業を作るにあたっては 「コミュニティを創り出すこと」「文化が発信される場に育てること」を常に意識し、結果としてプロダクト(事業)をインフルエンサー・ユーザー・企業で共創する、という理念を掲げています。

PRESSの何よりの強みは、Instagramと徹底的に向き合い本質的な世界観創りに取り組んできたインフルエンサーと、彼女達のブログを楽しみにしているユーザー、双方のデータを蓄積していることです。

この強みを基に、様々な企業・ブランドとより良いマーケティング施策を企画・提案していきます。私達とともに本質的なSNSマーケティングに取り組んでいきたい、そんな時はぜひお気軽にご相談ください!

【最新版】必見!アメリカでのソーシャルメディア利用状況総まとめ

アメリカにおける最新のソーシャルメディアの利用状況がとあるレポートにて発表されました!調査対象期間は2018年1/3〜1/10とのこと。 f:id:ryota0612:20180303171552p:plain

上記が、今回調査対象となった各ソーシャルメディアの利用率です。利用率が高い順に細かく見ていきましょう。

Youtube

まず、総計で最も利用率の高いYoutubeについて。

YouTube is the most popular online platform, used by 73 percent of all US adults and 94 percent of those ages 18 to 24. That means virtually all college-aged people consistently watch videos on YouTube.
(訳)Youtubeは最も利用率の高いオンラインプラットフォームとなっており、アメリカの成人全体の73%が利用、また18歳〜24歳のうち94%が利用しています。つまり、大学生くらいの年齢のアメリカ人は、ほぼずっとYoutube上で動画を見ている、ということですね。

このレポートでは8つのSNS・プラットフォームがが調査対象となっています(※上記グラフ参照)が、その中でYoutubeの利用率が最も高く、特に大学生くらいの利用率においては94%と「ほぼみんな」が使っていると言ってもいいような数字ですね。

プラットフォームの拡大とともにコンテンツの規制問題も議論になっていますが、圧倒的なユーザー数を持つ広告媒体としての価値は変わらず伸びるでしょう。目指せYoutuber。

Facebook

Facebook also remains at the top of the social media popularity totem pole for most people except those age 65 and above. (訳)Facebookもまた、65歳以上の方を除いたほとんどの人々に対し、人気ソーシャルメディアのトーテムポール的な存在として君臨しています。

SNSとしては最も高い利用率を誇るFacebook。実名文化であるアメリカでは日本以上にその存在感は高いと言えます。ちなみに、男性と女性とでは女性の方が利用率が高いようです (男性62%、女性74%)。この理由がどこにあるのかは気になるところですね...。

Instagram

A new Pew Research Center survey finds that 35 percent of US adults use Instagram — an increase of 7 percent from 2016.
(訳)Pew Research Center Surveyが発表した新しいレポートによると、アメリカの成人のうち35%がInstagramを利用しており、2016年の数字から7%上昇していることがわかりました。

プレゼンスを日に日に高めているInstagram、やはり2016年の調査時から7%と大幅な伸びを見せています。またデータをみると、18〜24歳の利用率は71%である一方で、25〜29歳では54%と大きな乖離が見られています。 特に若い世代の間で、Instagramは一般的になっていることがわかりますね。

Pinterest

8つのソーシャルメィアの中で最も男性と女性の利用率に開きがあったのがPinterest。男性の利用率が16%に対し、女性が41%と、実に25%もの差があります。

また、PinterestはInstagram・Snapchatと同様に画像・動画を中心としたソーシャルメディアですが、相対的に25歳以上のユーザーの利用率が高く、より落ち着いた年齢のユーザーが利用していることがわかります。

Snapchat

While 78 percent of 18 to 24-year-olds are Snapchat users, the number falls down to 54 percent of those aged 25 to 29.
(訳)18歳〜24歳の78%がSnapchatのユーザーである一方で、25歳〜29歳の利用率に目を向けると54%にまで下がります。

f:id:ryota0612:20180303172918p:plain

Snapchatは若年層での利用率の高さが目立ちます。上述したように、Instagramでも同様の傾向が見れられますがSnapchatでは18歳〜24歳と25〜29歳で比べると24%もの利用率の差が(Instagramでは17%差)

一方で30歳以上の利用率は各年代で最も低く、今のところは若者の間のみで流行のサービスであることが明らかです。

Twitter

Twitter has seen mild improvement to its numbers, with 24 percent of US adults now on the service, compared to 2016’s number of 21 percent.
(訳)2016年次の調査時に21%の利用率だったTwitterは緩やかに利用者を伸ばしており、アメリカの成人の24%が現在では利用しています。

2016年11月時点で日本では27.5%ほどの利用率(情報通信メディアの利用時間と情報行動に関する調査)であることを考えると、ややアメリカでは利用率が低めのTwitterですが、着実にユーザー数を伸ばしているようです。

LinkedIn

LinkedInは日本では馴染みの薄いサービスな感じもしますが、ざっくり言うと「ビジネスマン向けSNS」といったところですね。アメリカでは転職活動の際に利用することも多いといいます。ですので、他のSNSとはまた違ったユーザー層が想定できます。

f:id:ryota0612:20180303165318p:plain

7.5万ドル以上の年収のユーザーと、それ以下のユーザーとの利用率の差の乖離が全プラットフォーム中最も大きく、5万ドル〜7.5万ドルの年収のユーザーと比べると21%と、2倍近くの差があります (45% - 24%)
他のソーシャルメディアだとだいたい5、6%程度の差しかないことを考えると、バリバリのビジネスマンが使うSNS・LinkedInの特異性が目立ちます。

WhatsApp

WhatsAppは他の7つのソーシャルメディアとは毛色が違い、LINEと近しい役割を担うメッセージアプリです。アメリカではLINEを使うよりこのWhatsAppを使うことの方が圧倒的に多いです。 ただし、日本でのLineの利用率67%(情報通信メディアの利用時間と情報行動に関する調査)と比べると、大きな差がありますね(調査対象が)。

あと、なぜかヒスパニックの利用率が白人・黒人の利用率と比較すると相対的に高くなっています(49% - 14% - 21%)。ここも要調査ですね〜。

まとめ

あくまでこの調査はアメリカ国内のユーザ−を対象にしたものであり、グローバルでの傾向をそのまま反映したものではありません。しかし、アメリカでのトレンドが日本に与える影響が大きいことは間違いありません。

各ソーシャルメディアともに年代ごとの利用率も大きく異なっており、ターゲットに合わせたマーケティングを行う際にはそれぞれの年代での利用率を基に、そのリーチできる範囲を想定・算出してみるのが良さそうですね。引き続きアメリカでのSNS動向をチェックしていきます!

文・資料引用

© DESSART & Co.