Kaizen Cloud Engine の裏側をご紹介

Kaizen Platform で プロダクトマネージャーをしている河部です。今回は先日リリースされた Kaizen Cloud Engine がどのようにできているのかをご紹介したいと思います。

Kaizen Cloud Engine とは

Kaizen Cloud Engine は、これまでKAIZEN TEAM for Xとして提供させていただいているサービスの裏側で当社メンバーが活用していたシステムをユーザー様にも直接ご利用いただけるようにパッケージングしたものです。

Kaizen Platform、開発者向けパーソナライズ統合開発基盤「Kaizen Cloud Engine」を月額15万円から提供開始

f:id:kaizenplatform:20190221195910p:plain
Kaizen Platform が提供するソリューション

Kaizen Platform と聞くと ABテストのイメージがあるかもしれませんが、最近ではパーソナライズされたWebサイトを構築するサービスとしてご利用いただくケースが大半になっています。

パーソナライズといっても幅が広いのですが、例えば以下のような形でご利用いただいています。

f:id:kaizenplatform:20190221160747p:plain
ユーザーに合わせた、より身近なランキング表示に

求人検索サイトやレストラン検索サイトで、ユーザーが見ている条件に合わせて地域別・ジャンル別などに絞ったランキング表示ができます。

ユーザーから「自分には関係ない」と思われやすい”全国”ランキングを、ユーザーの興味・関心を基にしたマイクロランキング=「関係のある」コンテンツに変えることは、回遊率向上の効果が見込めます。

開発コンセプト

「かゆいところに手が届く、本気で改善したい人向けの開発基盤」をコンセプトにしています。

開発に至るまでにいくつかのパーソナライズ・Web接客サービスを調査しましたが、GUIは優れているもののそれ故に細かな設定やチューニングができない、といったケースがありました。お客様へヒヤリングした際もそういった声があったため、 Scriptを書けば柔軟に表現力を上げられるようにしています。

その分、学習コストを極力減らすため、世の中にある既存サービスを活用しています。例えば後述の Customer Datastore では、ログを直接見れるよう Google Big Query のコンソールをお客様に開放しています。クエリ画面や独自SQLを用意するのはユーザー様にとっても覚える手間であり(私自身もそう感じたケースが少なくありません)、見慣れた画面でログを触れる方がUXが良いと判断しました。
(仮に Big Query を初めて覚えるにしても、当社でしか使えない仕様を覚えるよりも遥かに有用でしょう笑)

Kaizen Cloud Engine 詳解

f:id:kaizenplatform:20190221154926p:plain
Kaizen Cloud Engine 構成概要

Web Plugins

お客様サイト上に設置する JavaScript です。お客様はWebサイトにタグを設置するだけで Kaizen Cloud Engine の利用を開始することができます

  • Kaizen Analytics
    • Google AnalyticsのようにWebサイト上のユーザーアクティビティを取得します
    • 任意の JavaScript コードを実行することもできるので、カスタマイズされたアクティビティログの取得も可能です
  • Personalized Content Management System (with AB Test)
    • もともと Kaizen Platform が提供していたAB Test の機能を進化させたものです
    • ユーザーの属性などによってコンテンツを柔軟に出し分けることが可能です
    • もちろん、クラウドソーシング上のクリエイターから募集したデザイン案も表示可能です

Log Management Systems

Web Pluginsから送信されてきたログを処理するシステムです

  • Log Manager
    • Kaizen Platformのこれまでの技術蓄積を生かした堅牢な Log Manager が高トラフィック環境でも安定してログの処理を行います
    • Node.js で動作しています
  • Site Script
    • ログの加工を行う必要がある場合、ここで任意の処理を JavaScript で実行可能です

Data Management Systems

Log Management Systems で処理されたデータを保存するプライベートDMPの機能を提供します

  • Customer Datastore
    • Web サイト上の行動ログと、それ以外のあらゆるデータを保存可能なデータウェアハウスを提供します
    • Big Query を使用して実現されています
  • Data Script
    • Web サイト上の行動ログの集計やオフラインデータの取り込みなどを行うスクリプトを作成することができます
    • Web サイト上のデータとCSVなどのオフラインデータを結合して新しい集計データを作成することも可能です

Contents Management Systems

作成したデータを元に、どのようなコンテンツをユーザーに表示するかをカスタマイズできるシステムです

  • Contents Planner
    • どのデザインをどのユーザーにどのくらい表示するか、というコンテンツの配信計画を設定することができます
    • AB Test の機能が発展したものになります
  • Experience Script
    • デザインの表示のカスタマイズを行うためのスクリプトをJavaScript で記載可能です
    • より詳細なコンテンツ出し分けを行う際に利用します

今後の開発

今回リリースされた機能は Kaizen Cloud Engine の一部の機能をお客様ご自身でご利用いただけるようにしたものです。今後もご利用いただける機能を拡充し、Web サイトの総合的な開発環境としてご利用いただけるようにしていこうと思っています。

Kaizen Platformの2019技術構想 : workplace

Kaizen PlatformでCTOをしている渡部です。 今回は2019年のKaizen PlatformのProduct開発の方向性としての技術構想を書いてみたいと思います。

Kaizen Platformが目指しているもの

https://recruit.kaizenplatform.com/aboutus こちらのページに詳しく書いてあるので詳細はぜひ読んでいただければと思いますが、本投稿で特に関連が深いのは以下の記述になります すでに存在している法人向けサービスと比較して10倍以上生産性が高く、圧倒的な競争力を保有するプラットフォームを構築する。

これを実現するためにPlatformとしては以下を実現していく必要があります

  • オフラインで働くのと同等以上の環境(= workplace)をオンライン上に用意する
  • 時間と場所にとらわれない環境(=クラウドソーシング)がこれまでよりも多くの才能を惹きつけることができる
  • 結果として従来よりも精度の高い仕事のマッチングを提供できる

f:id:kaizenplatform:20190115103600p:plain

これをスケールさせる仕組み

f:id:kaizenplatform:20190115103641p:plain

Kaizen PlatformはもともとWebサイトのABテストから始まった会社です。そこからサービスが進化して、マーケティング活動の改善を包括的に行うKAIZEN Team for Xというサービスになりました。それにくわえてKaizen Adという動画改善のサービスが2018年初から立ち上がってきました。

Kaizen Platformはこれらのサービスをクラウドソーシングを通じて提供しているので、サービス提供者側の視点で見ると、この2つのサービスはかなり共通点が多いことがわかりました。

f:id:kaizenplatform:20190115103707p:plain そこでこれらのサービスを分解したものが上図になります。

  • Platform Core
    • Creatorの制作活動を支えるworkplace
  • Domain
    • ビジネスドメインに特化した機能
    • 例 :
      • Webサイト : ABテスト、 Analytics
      • 広告 : 広告Platform(Facebook, Google等)API連携

技術でこれをどう実現していくか

f:id:kaizenplatform:20190115103757p:plain

当社のビジネスのコアである「クリエイティブな仕事を提供するPlatform」としてのPlatform Core部分をしっかりと分離することで、今後新サービスを立ち上げて行くことのコストを大幅に減らすことができると考えています。 取らぬ狸の皮算用ですが、Kaizen Adを立ち上げてきた1年を振り返ると、同様の新サービスを立ち上げるときは1/5くらいのコストと時間で立ち上げができる様になるのではないかと目論んでいます。

f:id:kaizenplatform:20190115103819p:plain

workplaceって考えてみると、我々が日々オフィスで行っている仕事と結構似てるんですよね。なので、採用~受け入れ~教育~業務管理~情報共有~評価~給与支払い、みたいに会社で行われていることをPlatform Coreとしてはオンライン上でサポートしていくとClient&Creator双方の生産性がかなり上がるんじゃないかと思っています。 (内部向けに2019年に開発したいと思っていることをプロットした図なので分かりづらい点もあると思ったのですがご容赦ください)

これ、言うのはまぁ簡単なのですが、現実の仕事環境はじゃあきれいに整理されてるかというとそうでもないんですよねw (皆さんの会社でも完璧!といえる状態ではない部分は多いと思います)

なので、適切な抽象度での設計をしていくことはやってみると意外と難しく、だからこそ面白い。

Kaizen Paltformのものづくりチームはこんなことに取り組んでいますというご報告でした!

Slackデータを可視化して会社の2018年を振り返る

f:id:kaizenplatform:20181222113220p:plain

TL;DR

  • SlackのAPIから2018年の発言データを取得、可視化をしました
  • 一番発言されたChannelや使われたリアクション 💪 、Channel数の増加などを調べました
  • Doc2Vec、t-SNEを使って類似Channelの探索をしました
  • 使ったコードは記事の最後にあります
続きを読む

BigQueryの新機能を使ってクエリ料金を1/1000にする

こんにちは、エンジニアの大迫です。

Kaizen Platformでは、以前からGoogle BigQueryを利用して、ウェブサイトの行動ログや広告の配信レポートなど様々なデータを保存・活用できるような仕組みを整え、お客様のウェブサイトや広告クリエイティブの改善に取り組んできました。特にここ最近では、非エンジニア向けにBigQueryやSQLの社内勉強会が行われたり、 @ikedayu によりProduction以外のメンバーでも気軽にデータ分析ができる仕組みが作られたりして全社的にBigQueryの利用が広がっています。

その一方で、データを活用できる人が増えた結果として、BigQueryのクエリ料金も増えていく傾向になっています。 せっかくエンジニア以外でも分析できる仕組みがあるのに、クエリコストが気になってクエリ書くのが怖くなってしまってはもったいないので、こちらの記事にあるように @ikedayu によってBigQueryコストの可視化をしながら必要のないクエリが定期的に実行されてないか、不必要に多くのデータをスキャンしていないかといった傾向を把握して改善する仕組みを回し始めたりしています。

developer.kaizenplatform.com

そんなある日、BigQueryのドキュメントを読んでいたところ、 Clustered Tableというβ機能の存在を知りました。これを活用するとKaizen PlatformのBigQueryの利用料の大きな割合を占めるクエリ料金を削減できる可能性があったので調べてみたところ、この機能を適切に活用すると、クエリにもよるものの、クエリ料金を大きく削減できそうなことが分かったので、調べた結果を簡単にまとめたいと思います。

続きを読む

Railsで不要なテーブルと古いmigrationファイルを削除する

はじめまして、ハートレイルズの境 (@kazsakai) です。

色々あって今は長野県の伊那という、地理的には日本列島の中心らへんだけどあらゆる大都市から満遍なく遠い片田舎に暮らしています。(ちなみにアニメ聖地巡礼発祥の地だそうで)

Kaizen Platformさんの社員ではなくパートナーという立場ではありますが、ほぼ最初期くらいから開発に関わっているエンジニアの一人として、今回こちらのブログにお邪魔させていただきます。

続きを読む