Self-Curation

新卒社会人で営業マンになりました

Pairsを1ヵ月間できる限り定量的に分析した話【2日目-7日目】

f:id:scuration:20200413064424p:plain

こんばんは。

最初は【2日目】で下書きを書いていたました。

ただ社会人になってから暇でなくなった上に、「毎日書いてたら分量スカスカになる」「既に2週目を終えようとしている」といった理由から1週間分まとめて書きます。

以下の記事の続きになります。

Pairsを1ヵ月間できる限り定量的に分析した話【事前編】
Pairsを1ヵ月間できる限り定量的に分析した話【1日目】

続きを読む

Pairsを1ヵ月間できる限り定量的に分析した話【1日目】

f:id:scuration:20200412120128p:plain

こんばんは!

前回の記事(【男性】Pairsを可能な限り定量的に分析した話【事前編】)の続きになります。

自分のスペック

前回の導入編で自分のスペックを書き忘れていたのでここに記載させていただきます。

  • 顔:自己評価は難しいですが、一応参考として「イケメン」「かっこいい」と言われたことは一度もありません。
  • 学歴:”世間的には”高学歴と言われる大学です。ここで落とされることはあまりないのではないかと思ってます。
  • 年収:ボーナス込みで400万円程度です。高いとは言えないと思いますが新卒の初任給なんてほとんどこんなもんです。今の年齢で不利になることはないと思います。
  • 身長:特定に繋がりやすいので具体的には書けませんがここは残念ながらウィークポイントで、3高を唯一満たせない要素となっております。
  • 体型:太ってはないです。

やったこと・わかったこと

まず初日でやったことが、

  • アカウントの新規作成
  • プロフィール埋め
  • 写真の選定
  • Excelで集計するフォーマットの作成

となります。

Excelの集計結果から分かったことは「同じコミュニティの人からの閲覧が多い」ということです!


【やったこと①】新規登録&課金

まずアカウント作成から始めます。数年前はFacebook連携でしか登録できなかったと思いますが、今はメールアドレスでも登録できるのですね。

ただPairsのイラつくところは「最初の説明が不十分、後出しで課金してくること」ですね。

僕は今回「有料会員」と「プレミアムモード」に課金しており、これを行っていなければ次のことができません。

  • 有料会員に申し込みしていない:マッチングした女性に2通目以降のメッセージを送れない。
  • プレミアムモードを入れていない:足跡を過去5件以上遡って確認できない(=データを取る上で不便)。

気になるそれぞれの料金なのですが、マッチングアプリというものを始めたての場合は結構高く感じます。以下の通りです。

有料会員:3590円/月(クレカ払い)
プレミアムモード:2980円/月(クレカ払い)


特に「有料会員にならなければ2通目以降のメッセージが送れない」という説明はもう少し分かりやすく表示すべきだと思います。


【やったこと②】プロフィール埋め&写真の選定

プロフィールについてはまぁ一旦そのまま記入していきます。

多くの男性にとって悩みの種と思われるのが「自己紹介文」ではないでしょうか。

自己紹介文はリライトすることになってしまったのですが、この記事を書いている4/12現時点では以下のことを意識しました。

  • ネガティブなことは一切書かない(一番重要だと思うし何ならポジティブさを出していきたい)
  • 趣味について少し掘り下げる
  • 年代を意識する

”年代を意識する”というのは、簡単に言うと「ライトに恋愛がしたい若年層」と「結婚を意識する20代後半~」で書き方を変えるということです。

若者の恋愛だったら適度なラフさがあっても良いと思いますが、結婚を意識するようになると丁寧さが求められるという話を聞きます。

もう1つ聞く話としては「趣味について触れるだけでは不十分で、人間性について掘り下げるべき」という意見もあるかと思います。

しかしより発展した自己紹介文についてはプロフィール閲覧数を十分に確保してから行いたいと思います。というのも人間性を出そうとして間違った方向に進むのを避けたいからです。


【やったこと③】写真の選定

もう1つ男性にとって悩みの種だと思います。というのも女性と違って男性はソロの写真を撮ってもらう機会が少ないからです。

僕も正直まともに写真を持っていません。すぐにサブ写真何枚も揃えられないという男性も多いはずですし、まずはメイン写真にベストショットを使えば良いかと思います。

これからは旅先などで「写真を撮ってもらう」という習慣をつけるようにしましょう。僕も春休みの旅行時に、旅先で会った兄ちゃんに撮ってもらいました!

最初は飯やペットなど自分の写っていない写真を入れずに、自分が写っている写真を4枚選定しました。


【やったこと④】Excelでデータ集計するフォーマット作成

ここからが本髄なのですが、まずどのデータを集計するかという問題です。

最初は「足跡一覧」からのみデータを集めることにしました。理由は以下の通りです。

  • 傾向分析には数が重要
  • リスト化されているので「多くのデータを集めやすい&集計が楽」

また足跡リストから簡単に取得できるデータは以下の通りとなります。

  • 足跡をつけた時刻
  • エリア
  • 年齢
  • 身長
  • 属性(職業、一人暮らしかそうでないか)
  • 好きなこと・もの(入ってるコミュニティが3件まで表示される)

最終的に集計したデータを貼っておきます(全公開は気が引けたので属性は黒で隠しました)

f:id:scuration:20200412110722p:plain

得意のVisualBasicで貼り付けたデータの整理はセミオート化してます。

別の記事でそのマクロについても触れたいと思います。


1日目の成果

  • 足跡数は38件
  • いいね数は4(ただし後から退会したユーザーも含む)
  • [いいね数/足跡数×100]で計算したマッチング率はおよそ10%

「いいね」をつけてくれた方は足跡リストから消える仕様なのでいいね数の集計は地味に面倒です。

また、どのマッチングアプリもそうですが新規登録したての数日間はブーストがかかっており、数値上は実力よりも高くなりがちです。

2日目以降の成果は記事の最初の方に書いておきます。


同じコミュニティを持つ女性からの閲覧が多い

f:id:scuration:20200412112150p:plain

※上の画像ではスプレットシートに移してます。

内容は消去させていただいております。黄色で塗りつぶしたセルがプロフィール作成段階で自分が入ったのと同じコミュニティです。

あくまで3つしか表示されないので参考になりづらいかもしれませんが、パッと見るだけでも共通コミュニティからの流入が多いと感じます。

また、僕の年代においては、例えば「ディズニー好き」のコミュニティに入ってる女性の分母が圧倒的に多いです。

ですので「幅広い女性に共通したコミュニティに入ればインプレッションは伸びるのか」という部分もこれから検証したいです。


1日目の内容はここまでとなります。最後までご覧いただきありがとうございました!

Pairsを1ヵ月間できる限り定量的に分析した話【事前編】

f:id:scuration:20200412120128p:plain
こんにちは!

これまでと毛色が違いますが、これからしばらくマッチングアプリを使った話も記事にしていきます。

今回はあのよく知られているPairsからです!

4月4日に新規登録し、仕事の都合で利用時間に波はあったのですが既に1週間は運用しております。

まだ頂いた”いいね”はお世辞にも多いとは言えないですが、「これ、知ってるのと知ってないのでは違うな」という事実も多数分かったので楽しみにしてください!

ちなみに自分は男ですので今回は男性向けの記事となります。

  • 課題と本記事の提供価値
  • これまでの経験則で既に分かってること
    • 最初はマッチ数上げることに全振りすべき
    • ネットに書いてあることは抽象的で不十分
  • マッチ数改善のためにどのような調査を行うか
  • 次回予告
続きを読む

プログラミング初心者だけどRubyでメタ検索サイトを作ろうとしてる話②'

f:id:scuration:20200326233136j:plain

おはようございます。

社会人になって最初の週末です。

学生時代はかなりアルバイトしていた方だと思うのですが、連勤はしないようにシフト組んでいたのでまだ新生活に慣れていない状況です。

今回は先日から書いてる「RailsでWEBクローリングする話」の経過報告と課題の洗い出しをします。

プログラミング初心者だけどRubyでメタ検索サイトを作ろうとしてる話② - コロンブスの卵

  • ここまでの経過
  • 追記:URIに日本語を含められるようにするURI.encodeメソッド
  • 先日作ったプログラムを実際に動かした
  • 今後の課題
    • WEBクローリング処理後のテキストに変な文字列がいっぱい入る
    • 大手検索エンジンではほぼ使えない
    • xPassのID指定が必要
    • 複数のサイトを横断検索できない
続きを読む

【VBA】全シートの特定位置を文字列検索して該当シートを抽出するマクロ

f:id:scuration:20200412132023p:plain

大学でMicrosoftOfficeが無料で使えていたのですが、それのライセンスが切れそうなのでこれまで使ったマクロをシェアします。

概要

MicrosoftExcelのVisualBasicで使用可能なマクロのコードです。

指定した位置(セルor列)に検索キーワードが含まれているシートの数を返してくれます。

挙動

①マクロを実行。
②検索したい文字列と検索したい位置を入力。
③ブック内の全シートから②の条件に当てはまるシート数を返してくれる。
④2つ目のキーワードでAND検索するか、1つ目のキーワードをやり直すか聞かれる。
→最大3キーワードまでAND検索可能
→検索を終了した場合は該当シートのみを新規ブックとして複製することが可能

列で検索したいとき、例えばA列を検索したいときは「A:A」と入力してください。

想定される使い道

顧客情報をエクセルで管理しており、各顧客ごとにシートを作成しているとします。

「このセルにはこの属性情報を入れる」というのが全シートで統一されていれば、こちらのマクロで数を調べることができます。

例えば「男性」で検索すればブック内で男性顧客のシート数を返してくれます。

コード

Sub keywordsearch ()
    Dim Flg As Boolean
    Dim Sh As Worksheet
    Dim r As Range
    Dim r_2 As Range
    Dim r_3 As Range
    Dim rc As VbMsgBoxResult
    Dim rc_2 As VbMsgBoxResult

#Sheet(1)には一番左のシート名を入力して一応リセットしてください。
Sheets(1).Select
        Flg = True
        FindStr = ""
        FindStr = Application.InputBox("検索する文字列を入力してください。")
        If Len(FindStr) = 0 Then Exit Sub
        FindRng = ""
        FindRng = Application.InputBox("検索する範囲を入力してください。")
        If Len(FindRng) = 0 Then Exit Sub
        
  #LookAtがxlPartの場合は部分検索
       #LookAtがxlWholeの場合は全体一致検索
        For Each Sh In ThisWorkbook.Worksheets
         Set r = Sh.Range(FindRng).Cells.Find(What:=FindStr, LookAt:=xlPart)
         If Not r Is Nothing Then
         Sh.Select Replace:=Flg
         Flg = False
         End If
        Next Sh
        
        MsgBox "該当するシート数は" & ActiveWindow.SelectedSheets.Count
        If Flg Then MsgBox "対象のシートはありません"
    
    
    rc_1 = MsgBox("2つ目のキーワードで絞り込みますか?", vbYesNo + vbQuestion)
        If rc_1 = vbYes Then
          MsgBox "2つのキーワードで検索します", vbCritical
           Do
           Sheets(1).Select
           Flg = True
           FindStr_2 = ""
           FindStr_2 = Application.InputBox("2つ目の文字列を入力してください。")
           If Len(FindStr_2) = 0 Then Exit Sub
           FindRng_2 = ""
           FindRng_2 = Application.InputBox("2つ目の検索範囲を入力してください。")
           If Len(FindRng_2) = 0 Then Exit Sub
           
           For Each Sh In ThisWorkbook.Worksheets
           Set r = Sh.Range(FindRng).Cells.Find(What:=FindStr, LookAt:=xlPart)
           Set r_2 = Sh.Range(FindRng_2).Cells.Find(What:=FindStr_2, LookAt:=xlPart)
           If Not r Is Nothing And Not r_2 Is Nothing Then
           Sh.Select Replace:=Flg
           Flg = False
           End If
           Next Sh
           
           MsgBox "該当するシート数は" & ActiveWindow.SelectedSheets.Count
           If Flg Then MsgBox "対象のシートはありません"
           
           rc_4 = MsgBox("2つ目のキーワードをやり直しますか?", vbYesNo + vbQuestion)
           If rc_4 = vbNo Then
           MsgBox "終了します", vbCritical
           Exit Do
           End If
      Loop
      End If
      
      
        rc_2 = MsgBox("3つ目のキーワードで絞り込みますか?", vbYesNo + vbQuestion)
        If rc_2 = vbYes Then
         MsgBox "3つのキーワードで検索します", vbCritical
         Do
         Sheets(1).Select
        Flg = True
        FindStr_3 = ""
        FindStr_3 = Application.InputBox("3つ目の文字列を入力してください。")
        If Len(FindStr_3) = 0 Then Exit Sub
        FindRng_3 = ""
        FindRng_3 = Application.InputBox("3つ目の検索範囲を入力してください。")
        If Len(FindRng_3) = 0 Then Exit Sub
        For Each Sh In ThisWorkbook.Worksheets
        Set r = Sh.Range(FindRng).Cells.Find(What:=FindStr, LookAt:=xlPart)
        Set r_2 = Sh.Range(FindRng_2).Cells.Find(What:=FindStr_2, LookAt:=xlPart)
        Set r_3 = Sh.Range(FindRng_3).Cells.Find(What:=FindStr_3, LookAt:=xlPart)
        If Not r Is Nothing And _
           Not r_2 Is Nothing And _
           Not r_3 Is Nothing Then
            Sh.Select Replace:=Flg
            Flg = False
            End If
        Set r = Nothing
        Set r_2 = Nothing
        Set r_3 = Nothing
        Next Sh
        MsgBox "該当するシート数は" & ActiveWindow.SelectedSheets.Count
        If Flg Then MsgBox "対象のシートはありません"
               rc_5 = MsgBox("2つ目のキーワードをやり直しますか?", vbYesNo + vbQuestion)
        If rc_5 = vbNo Then
          MsgBox "終了します", vbCritical
          Exit Do
        End If
        Loop
        End If
        
 rc_3 = MsgBox("ここまで該当するシートを別にまとめますか?", vbYesNo + vbQuestion)
        If rc_3 = vbYes Then
           ActiveWindow.SelectedSheets.Copy
 thisPath = ThisWorkbook.Path
 ActiveWorkbook.SaveAs _
 Filename:=thisPath & ":" & ThisWorkbook.Name & "_" & FindStr & "_" & FindStr_2 & "_" & FindStr_3 & ".xlsx", _
 FileFormat:=51
         End If
    
End Sub