元エンジニアPMのプロダクトマネージャーお役立ち情報

スタートアップから大規模プロダクトまで幅広く担当している筆者(元エンジニア)が、プロダクトマネージャーに役立つ情報を発信します

「ARPA・ARPU・ARPPU」の違いとは?Netflixを使って分かりやすく説明する

今回はKPI指標としてよく使われる「ARPA」「ARPU」「ARPPU」の違いについてできる限りわかり易く説明していこうと思います。 もしあなたがサブスクリプションサービスやSaaSのプロダクトマネージャーであれば、「アカウント数×ARPA」や「ユーザー数×ARPU」の…

【自己結合】SQLで1対多のテーブルから特定のデータを抜き出す

SQL

管理者に対して複数のユーザーが紐づくなど1:多のテーブルから特定のユーザーを抜き出したいケースなどあると思います。 そういう時は、同じテーブル内で自己結合を使うと特定のデータを抜き出すことができて便利です。 今回は自己結合を使った、1:多のテー…

NotionでMermaid記法を使ったシーケンス図・ER図の作り方

プロダクトマネージャーであれば企画・施策を考える際に、シーケンス図やER図を用意してほしいと頼まれることもあるかと思います。 実体験ですがエンジニアとコミュニケーションをする際には、シーケンス図やER図を用意しておくと会話がスムーズに進みやすい…

Notion AIの活用方法や仕事に使える効率化テクニック

Notion AIやChat GPTが急にブームになり、テレビやSNSなどで見かけたり実際に試してみた方も多いのではないでしょうか。筆者もNotion AIの有料プランを契約して、日々の仕事や生活にガンガン活用しています。今日はプロダクトマネージャー視点で、Notion AI…

人気急上昇中の中国発ECアプリ「Temu」とは?実際に触ってみた

中国発ECアプリTemuとは 「拼多多(Pinduoduo)」傘下の越境EC「Temu」(ティームーと呼びます)は、2022年9月にサービスインした格安ショッピングができるECサービスでアメリカ向けにビジネスをスタートしました。中国発のネット通販ならではの底値の商品を…

【ジュニアPM向け】プロダクトフェーズ別PRD(プロダクト要求仕様書)の書き方

プロダクトマネージャーにとって切り離せない業務の1つがPRD(Product Requirements Document)になります。先輩のPMからこの企画のPRDを書いておいて!みたいな依頼を受けて何を書けば良いのか困った方もいらっしゃると思います。 筆者はスタートアップから…

SQLを使って上位10件や上位N%ランキングを抽出する

SQL

「2:8の法則」をご存知でしょうか。顧客全体の2割である優良顧客が売上の8割をあげているという法則のことで、集団の売上・報酬・評価が一部の構成員に集中することを指します。イタリアの経済学者ビルフレッド・パレート(1848~1923)が1880年代の欧州の…

リサーチや市場規模を効率良く調査する【Notion AI】

プロダクトマネージャーやコンサルタントが新しい企画を検討する場合、市場調査や市場トレンドまたユーザーの定量的な調査・アンケートの情報を集めることありますよね。 世の中に発信されている情報自体は二次情報、三次情報なためそれだけを見て鵜呑みにす…

【SQL】LAG関数とOVER関数を使い、購入周期や累積購入金額を計算する

toCサービスやECサービスでプロダクトやマーケティングの施策を考える際、いかにリピートして購入してもらえるかが重要になります。リピートする顧客を特定する際に、購入周期や過去累積で購入していたのかを分析する必要があると思います。 今回はそんな購…

KPI設定前にエクセルのヒストグラムでデータ分析をしよう

多くの企業が新しい年度に入る4月が近づいています。新しいプロダクトの目標や、達成するためのKPIやロードマップを考えているプロダクトマネージャーも多いと思います。筆者はプロダクト戦略やビジネス戦略の策定に携わっているため、「どうやってKPIを設定…

Notion AIを使ってガントチャートを爆速に作る方法

最近TwitterやIT界隈で流行りのNotion AI皆さん試されましたか?文章を書いてくれたり表を作ってくれたり、議事録を要約してくれたりと..非常に便利な機能で僕はさっそく課金してしまいました笑 今回はNotion AIを活用したガントチャートを爆速に作る方法を…

【SQL】マッチングアプリでPMに必要なクエリを学ぶ【初心者】

SQLが苦手な方にレクチャーしている時のことです。「SQLの英語がわかりにくい、構文が何をしているかイメージしづらいのでマッチングアプリで例えてほしい」と言われまして、例えてみたら思ったよりもしっくりきたのでブログに残そうと思います。 題して、初…

駆け出しプロダクトマネージャーに必要なSQLとデータ分析

データ分析は、現代ビジネスにおいて欠かせないスキルの1つです。プロダクトマネージャーとして、製品の成功を決定づけるためには、正確なデータ分析が必要です。この記事では、駆け出しプロダクトマネージャーにとって重要なSQLとデータ分析のスキルについ…

GoogleフォームとNotionを連携させる方法【真似するだけ】

この記事 Google Spread SheetのデータをNotionにプログラミング無しで貯める方法 背景 最近Notionでデータ管理やドキュメント管理してプロダクト開発することが増えてきましたよね、プロダクトマネージャーとしても使えるようにならなきゃいけないプロダク…

ユーザーファーストは額面通りに受け止めちゃいけない

プロダクト開発の際にユーザーファーストで考えれば、マネタイズやビジネス観点、収益性などは気にしなくても良い的な発言を受けますがやっぱり間違っているよなーと。 もちろんプロダクトを長く継続して使ってもらうために向き合うべきはユーザーなのは変わ…

TikTokのシェアを促すユーザー体験が勉強になった

CtoCのサービスをやっているとコンテンツをどうシェアさせるか?ユーザーがシェアしたくなる気持ちに持っていくかを考えるのは昔からある不変なテーマ。 ユーザーがシェアしてくれれば、広告費をかけずにユーザーを集められるのでCtoCサービスやメディアを始…

React Nextで、静的htmlファイルをアップロードする

すんごい小さなことですが、実装中にあれ?これどうやるんだ?ってなったので備忘録的にメモをしておきます。 余談ですが最近ウェブサイト作るときは、React Nextで実装してSSG(next export)したりすることがほとんどです。 やりたいこと facebook広告のドメ…

【気になるプロダクトとジョブ考察】smartLure Model Zero

釣りは、水中の中を想像し試行錯誤する世界なので、デジタルで解き明かすアプローチは面白いな〜っと 個人的には海釣りに対応したモデルが出たら欲しいと思うのですが、釣りに夢中になっているときほど画面を見ない+釣りをしている人が、釣りのときにまでス…

Reduxで@@INITで初期Stateは設定しないほうが良い

tl:dr; Reduxで初期Stateに値を入れる際は、@@INITを使わないほうが良い。 (後で調べたら、アンチパターンらしい) 下のように初期Stateを@@INIT時に渡すように設定していたら、 Production状態でINITがスルーされており正しく読み込まれていないことが判明…

Laravelで作成した会員制サービスをGA上で会員・非会員でセグメントする

Laravelで作成したSPAの会員制サービスで、会員と非会員のユーザーのログを測定するためのメモです。 やったこと 会員と判定するためにカスタムディメンションを作成 GTMでPV測定時にカスタムディメンションを測るように設定 Laravel側でログイン状態をチェ…

css animationのリスタートを行う場合のハック

tl:dr; Reactなどで、css animationをかけている要素に対して、 中身の小要素が変わったときにサイドアニメーションをリスタートさせる方法 課題 propsが変更されても、中身が変わるだけなのでアニメーションは再実行されない。 const animTarget = (props:P…

BigQueryの「Bad int64 value」のエラーを回避する【CASTとSAFE_CASTの違い】

目的 BigQueryでNULLや空白があるカラムをintに変換する方法 背景 BigQueryで、吐き出したいカラムがIntかNullのときCastしようとするとBad int64 valueのエラーが発生する 例えば、以下のようなJSONをRDB型式に吐き出したいとする。 { { id: 1, name: "トマ…

FirestoreのGeoFireStoreで、任意の値をwhereで絞るクエリでハマった件

GeoFireStoreのMap型をwhereで絞るクエリで躓いたので、メモ。(30分くらいハマった) やりたかったこと GeoFireStoreで、別途保持している任意の値をwhereで絞り込みたい。 https://geofirestore.com/index.html interface GeoDocument { g: string; l: G…

Firebase Hostingでデプロイする際の事故を防ぐ

TL;DR firebaseのhostingでfirebase deployをするとそのままデプロイされるのを防ぐためにシェルを噛ませる。 (3/15追記: pre-deployは全てのプロジェクトに適応されるのでうまくいかなかったので修正しました) やりたかったこと 一つのfirebaseプロジェ…

Expo×Firebaseで電話番号認証をローカル環境で行う際の注意点

無駄にハマったので、メモとして残しておきます。(2019年の記事です) 目的 Firebaseの電話番号認証をExpoのローカル環境から行う。 環境設定 Expo側 expo init [プロジェクト名] ちなみにexpoのnodeのバージョンは以下でしか動かないので注意 expo-cli supp…

Shopifyのテーマをローカル環境で開発する

TL;DR Shopifyのテーマ開発をローカル環境で作成して実践したお話です。 きっかけ 今回初めてShopifyを操作することになり独自テーマを管理画面上で操作するのはデグレや予期せぬバグが出そうで怖い...と感じ、 ちゃんとローカル環境で開発して、Gitでテーマ…

SNSシェア時のURLのパラメータの二個目以降が消える問題を回避する

twitterや、facebookのurlをhrefに入れる際に二個目以降のパラメータが消えたりしたのでその回避策 発生したコード const twLink = (url) => { return ( <Link to={ `http://twitter.com/share?url=${url}?utm_source=twitter&utm_medium=social&utm_campaign=hoge` }>twitter</Link> ) } これだと、シェアされるURLは、${url}?utm_source=twitterになり、後続のパラメータが消え…

Javascriptで数字の連番配列の作り方

概要 Javascriptで、1からNまでの配列を作る時の作り方、備忘録 for文でカウントさせるのも良いのだけど、できるだけワンライナーで書きたい時に使える書き方です。 求めるアウトプット [1,2,3, ...n] コード Nに、最大値を入れればそこまでの配列を生成しま…

3月に読んだ本を振り返ってみる

3月も終わりになりますね。今月読んだ本の振り返りです!どん! 3月に読み終えた本 (合計7冊) ・みずほ銀行システム統合、苦闘の19年史 ・ハートドリブン ・NO FLOP 失敗できない人の失敗しない技術 ・Netflix 最強の人事戦略 ・学びを結果に変えるアウトプ…

「ハック思考」は、物事の考え方・捉え方を教えてくれる

今日は、幻冬舎×News Picksの最新作であり今月発売された「ハック思考〜最短最速で世界が変わる方法論〜 」についてです。 Kaizen Platformの代表取締役であり、元リクルートの凄腕グロースハッカーの須藤憲司さんによる本で、どんな本を書いたのかずっと気…