ビットの海

ゆるふわソフトウェアエンジニアしゃぜのブログ

リクルートの根雪モデルについてのメモ

要するに

リピートを獲得して売上を増やしていく。今の言葉で言えば、小さいCPA(一定のCPA)でLTVを大きくする話。

関連

12年に2億円、14年に15億円、15年に40億円、16年に21億円という巨額の資金調達を行い、この資金を使ってテレビCMやソフトウェア開発およびサプライチェーンに投資。累積赤字47億円に達した後、大きな事業構築を実現していくのだが、経営者としてこの大きな決断は、リクルートに勤めていた友人の何気ないこんな一言が背中を押した。

ラクスルのモデルは、リクルートでいう『根雪モデル』だよね」

この言葉で事業構造と戦略が見えたという。それまで松本が悩んでいたのは、投資を一回かけただけだと、コストの回収に時間がかかることだった。だが、根雪のように顧客がきちんと積み重なって、長くラクスルを利用してもらえる計算がたてば、事業は拡大できる。

66歳と33歳 ふたりの起業家が挑む「次の当たり前」 | Forbes JAPAN 公式サイト(フォーブス ジャパン)

 出木場氏はこの戦略を3つの骨子で説明した。すなわち「ネットの訪問者数を増やす。リピート率を高める。商品の最適化を図る」。するとこんな声が上がったという。「それじゃあ、町のスーパーの戦略と変わらないじゃないか」

 出木場氏は次のように話す。

 「確かにその通りですが、逆にそれのどこがいけないのか、ということなんです。半年前に利用してくれたユーザーの半数が次の年にも利用してくれることがユーザーの調査データで分かっている。つまり、このビジネスはお金を生み出す財産であるユーザーが、雪国の根雪のように毎年積もっていくという特徴を持っていたのです」

「最強の営業組織リクルート」はいかにしてネットメディアと向き合ったか(3/4 ページ) - ITmedia エグゼクティブ

★客数の伸びの構造 ・新規・・・増えもしないし減りもしない。一定の比率で有り続ける。 ・リピーター・・・繁盛店のリピーターは根雪のように積み重なっている。

【イベントレポ】トレタが目指す飲食店の常連革命〜「商品の時代」から「顧客の時代へ」〜【#cxdive #cxdive_x 】|シン・やまだ(Shogo Yamada)

「世界一流エンジニアの思考法」を読んだ

感想サマリ

最近読んだ本の中では良かった。書いてることは当たり前なんだけど、当たり前のことができているか?という内省につながる…

各章のメモ

第1章 世界一流エンジニアは何が違うのだろう?―生産性の高さの秘密

  • Debug とか闇雲にやるんじゃなくて、情報収集->仮説立案->仮説検証->実行 とちゃんとやるのが結局生産性が高い行為
  • 頭が良い人でも理解には時間をかけている、理解に時間をかけよう。きちんとした理解は応用が効くから結果的に効率的である。
  • プログラミングも基礎からやる、余暇を利用して基礎、言語仕様、leetcodeなどを学ぶ。
  • 感覚や思い込みを排除する。
  • デザインドキュメントを書く。
  • メンタルモデルをつくる。see also) 超一流が実践する思考法を世界中から集めて一冊にまとめてみた。
  • 「僕は、偉大なプログラマなんかじゃない。偉大な習慣を身につけたプログラマなんだ。」ケント・ベック

第2章 アメリカで見つけたマインドセット―日本にいるときには気づかなかったこと

  • 重要な1つだけピックアップする
  • 時間は固定して、そのなかできることを最大化する
  • 準備、持ち帰りをやめて、その「場」で解決する
  • 物理的にやることを減らす
  • 「検討」をやめて「検証」する
  • バリューストリームマッピング(VSM)で見える化してリードタイムを把握、短縮する
  • デッドラインを割りたくないものは、「早くはじめる」「すでに動いているものをリリースする(フィーチャーフラグなど)」
  • 楽に達成できる目標で仕事をする
  • KPIは定時で無理なく楽に達成できる程度のものであるべきだ

第3章 脳に余裕を生む情報整理・記憶術―ガチで才能のある同僚たちの極意

  • プログラマの場合は、細かい技術の積み重ねが勝負であって、コンサルティングのように具体的なサービスを提供する際の「アウトカム」勝負ではない
  • 技術を徹底的に理解し、理解した情報の整理をして、すぐに取り出せるレベル1の状態にしてこそ、長い目で見た際の生産性は上がる
  • WIP = 1 を徹底する
  • 説明可能にすると記憶に残る

第4章 コミュニケーションの極意―伝え方・聞き方・ディスカッション

  • リモートワークでもクイックコールを多用する
  • 「Agree to disagree」(合意できていないということに、合意する)。

第5章 生産性を高めるチームビルディング―「サーバントリーダーシップ」「自己組織型チーム」へ

  • Demo or Die
  • 作業量を減らして、インパクトのあるものに集中する

第6章 仕事と人生の質を高める生活習慣術―「タイムボックス」制から身体づくりまで

  • skip

第7章 AI時代をどう生き残るか?―変化に即応する力と脱「批判文化」のすすめ

  • skip

2023年に親子4人でディズニーランドに行くと必要な金額のメモ

10年後ぐらいに見返す目的。

ホテル(泊まる場合)

セレブレーションホテル : 33,000(ダイナミックプライシングなので休日はもっと高い)

ホテルに宿泊すると、「ハッピーエントリー」というのがあって、入園に並ばず入れるというメリットがでかい。

パークチケット

  • 大人:8900 * 2
  • 6歳の子ども : 5300
  • 3歳の子ども:タダ

パークチケット合計 : 23100

その他食事、お土産

まぁ、割愛...

結果

ホテルとパークチケットだけで、56,000円ぐらい

プラス食事やらなにやらで、70,000超えってところですかね

遠出して旅行するのに比べると交通費などかかっていない(せいぜい電車)ので、まぁまぁ...。

インフレで10年後どうなってるかな...。

地方に住んでると交通費がかかるので大変ですね。

テック業界子育てコミュニティをDiscordでやっています

サマリ

discord.gg

  • で、終わってしまうんだが、少しだけ背景を書きますね...。

背景

最近、Xが大変面倒臭いなぁと思っていて、少しだけクローズドにコミュニケーションしたいなぁという欲求が出てきました。

Bluesky が心地よかった(昔のTwitterを思い出されてくれた)というのもあります。

なので、同じ属性(テック業界で子育て)という関係性でゆるくコミュニケーション取れる場が欲しくて、無かったので作ってみた、という感じです。

あと、今まで何社か転職してきたんですけど、会社ごとに Slack に子育てチャンネルみたいなのが合ったんですが、やめちゃうとその繋がりがなくなるのも寂しいなーと思ったのもありますね。

コミュニティの概要

人が少ないので、今のルールはこれだけです。みんな大人なので、きっと大丈夫!!

人が増えたらもう少し考えますね。

さいごに

なにかあれば、私( https://twitter.com/shase428 )までどうぞ!!!

Embulk で Hello World 的なもの(2023年版)

Embulk コマンドのセットアップ

これみて(最新バージョンに読み替えよう)

shase428.hatenablog.jp

Bundle 環境のセットアップ

## サンプルのディレクトリの作成
$ mkdir embulk_sample
## プロジェクト用のbundleを作成
$ embulk mkbundle bundle

2023-11-20 15:24:23.759 +0900: Embulk v0.9.23
Initializing bundle...
  Creating Gemfile
  Creating .bundle/config
  Creating embulk/input/example.rb
  Creating embulk/output/example.rb
  Creating embulk/filter/example.rb

bundle/Gemfileを以下のように書き換える

source 'https://rubygems.org/'
gem 'embulk', '< 0.10'
gem 'embulk-input-command'
## bundle install する
$ cd bundle

$ embulk bundle install --path=vendor/bundle
2023-11-20 15:28:10.995 +0900: Embulk v0.9.23
Fetching gem metadata from https://rubygems.org/........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using bundler 1.16.0
Fetching msgpack 1.4.1 (java)
Installing msgpack 1.4.1 (java)
Fetching embulk 0.11.1 (java)
Installing embulk 0.11.1 (java)
Fetching embulk-input-command 0.1.4
Installing embulk-input-command 0.1.4
Bundle complete! 2 Gemfile dependencies, 4 gems now installed.
Bundled gems are installed into `./vendor/bundle`

## 確認
$ embulk bundle list
2023-11-20 15:29:24.988 +0900: Embulk v0.9.23
Gems included by the bundle:
  * bundler (1.16.0)
  * embulk (0.11.1)
  * embulk-input-command (0.1.4)
  * msgpack (1.4.1)

config.yml の作成

## config.yml 作成
$ cd ..
$ vim config.yml

config.yml の中身

in:
  type: command
  command: echo "a,b" && echo "1,2" && echo "10,11"
  parser:
    charset: UTF-8
    newline: LF
    type: csv
    delimiter: ','
    columns:
      - {name: a, type: long}
      - {name: b, type: long}

out:
  type: stdout

preview & run

 $ embulk preview -b bundle config.yml
2023-11-20 15:44:48.731 +0900: Embulk v0.9.23
2023-11-20 15:44:49.287 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected.
2023-11-20 15:44:51.113 +0900 [INFO] (main): BUNDLE_GEMFILE is being set: "/Users/foobar/tmp/embulk_sample/bundle/Gemfile"
2023-11-20 15:44:51.114 +0900 [INFO] (main): Gem's home and path are being cleared.
2023-11-20 15:44:52.949 +0900 [INFO] (main): Started Embulk v0.9.23
2023-11-20 15:44:53.063 +0900 [INFO] (0001:preview): Loaded plugin embulk-input-command (0.1.4)
2023-11-20 15:44:53.101 +0900 [INFO] (0001:preview): Try to read 32,768 bytes from input source
2023-11-20 15:44:53.107 +0900 [INFO] (0001:preview): Running command [sh, -c, echo "a,b" && echo "1,2" && echo "10,11"]
2023-11-20 15:44:53.139 +0900 [INFO] (0001:preview): Running command [sh, -c, echo "a,b" && echo "1,2" && echo "10,11"]
2023-11-20 15:44:53.204 +0900 [WARN] (0001:preview): Skipped line -:1 (java.lang.NumberFormatException: For input string: "a"): a,b
+--------+--------+
| a:long | b:long |
+--------+--------+
|      1 |      2 |
|     10 |     11 |
+--------+--------+

$ embulk run -b bundle config.yml
2023-11-20 15:45:32.403 +0900: Embulk v0.9.23
2023-11-20 15:45:33.306 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected.
2023-11-20 15:45:36.532 +0900 [INFO] (main): BUNDLE_GEMFILE is being set: "/Users/foobar/tmp/embulk_sample/bundle/Gemfile"
2023-11-20 15:45:36.538 +0900 [INFO] (main): Gem's home and path are being cleared.
2023-11-20 15:45:40.841 +0900 [INFO] (main): Started Embulk v0.9.23
2023-11-20 15:45:41.039 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-command (0.1.4)
2023-11-20 15:45:41.155 +0900 [INFO] (0001:transaction): Using local thread executor with max_threads=20 / output tasks 10 = input tasks 1 * 10
2023-11-20 15:45:41.161 +0900 [INFO] (0001:transaction): {done:  0 / 1, running: 0}
2023-11-20 15:45:41.194 +0900 [INFO] (0015:task-0000): Running command [sh, -c, echo "a,b" && echo "1,2" && echo "10,11"]
2023-11-20 15:45:41.262 +0900 [WARN] (0015:task-0000): Skipped line -:1 (java.lang.NumberFormatException: For input string: "a"): a,b
1,2
10,11
2023-11-20 15:45:41.271 +0900 [INFO] (0001:transaction): {done:  1 / 1, running: 0}
2023-11-20 15:45:41.290 +0900 [INFO] (main): Committed.
2023-11-20 15:45:41.290 +0900 [INFO] (main): Next config diff: {"in":{},"out":{}}

ファイル構成

$ tree -L 2
.
├── bundle
│   ├── Gemfile
│   ├── Gemfile.lock
│   ├── embulk
│   └── vendor
└── config.yml

今やってる英語学習のメモ(2023年9月)

目標

  • TOEIC IP で 800
  • PROGOS B1

現状

  • TOIEC IP で 700前後
  • PROGOS A2 High

日々やること

  • リスニング/リーディング
  • スピーキング
    • スピークとELSAを試用中
  • 模擬試験
    • abceed