データ分析支援
問いの種類を広げ、答えの確からしさを上げる
販促物の制作と効果測定を手がける会社との仕事です。同社には 500 件を超える施策の実績データが溜まっていましたが、提案の場で活用できる形になっていませんでした。
01
販促施策を提案するとき、どの会社も似た形の資料を出します。
何を送るか、誰に送るか、いくらかかるか。項目が決まっている以上、提案書の見た目で差がつくものではありません。デザイン力で差別化を図ろうにも感覚的な訴求と顧客判断になってしまい、なかなか違いをもたらすのが難しいというのが実情です。
一方で同社には、過去に手がけた施策の記録がありました。
| 項目 | 実態 |
|---|---|
| 施策の記録 | 500 件超。1 件あたり数十項目 |
| 制作物の種類 | 10 種類ほど |
| ターゲット業種 | 数十種類 |
| 配布規模の幅 | 数十通から 20 万通。中央値は数千通 |
この記録が提案で活用できる形になっていないのが問題でした。振り返りは Excel でできており、どういう軸の施策が良い成果につながるのかという問いもはっきりしています。ただ、条件や比較軸を足すたびにEXCELの改修が必要になり、複雑なロジックの保守が難しくなっていました。
02
当時、同社に開発ができる人は 1 人もいませんでした。web サービスのディレクションを担える役員が 1 人いるだけで、設計や実装を社内で引き受けられる状態ではありません。
発注先がなかったわけでもなく、お付き合いのあるシステム会社はありました。ただ、WordPress や簡単な PHP のシステムはつくれても、ミッションクリティカルで安定して稼働する仕組みまでは出てこなかったと伺っています。分かる人はいるが、作れる人がいない。この背景から当社にお声がかかりました。
03
| 工程 | 期間 |
|---|---|
| 仕様策定 | 着手から開発開始まで 1 か月弱 |
| 開発 | 着手から本番リリースまで 3 か月弱 |
データは溜まっていました。しかし分析できる形に正規化されていないことが問題でした。何を 1 件と数えるのか、どの項目を比較の軸として扱うのか、成果をどの条件に帰属させるのか。この定義がないまま溜め続けても、件数が増えるほど扱いにくくなるだけです。
当社が引き受けたのは、この整理でした。成果が出たときに何が要因だったのかを後から言える形にデータを組み直し、その上に記録と分析の仕組みを載せています。画面はマスタを管理するもの、プロジェクトの一覧、分析の 3 系統をつくりました。
04
いま同社は、見たい軸を選んで過去の施策を並べて比べられます。例えば業種で括ることも、制作物の種類で括ることも、配布の方法やクリエイティブのサイズで括ることもできます。
そして提案の場では、分析ができます、そこからターゲットを抽出できますと言えるようになりました。画面やレポートの雛形をその場でお見せするだけで、相手が関心を持つ。提案の中身がどうしても似通う市場で、他社が言えないことを 1 つ持てたということだと考えています。
05
このシステムは、最初から同社だけのものではありませんでした。販促施策を出すクライアント企業も使う前提が、開発に着手する前の要件に入っています。
結果としてこの仕組みは、同社の顧客企業にも導入されました。自社の振り返りのためにつくったものが、顧客に提供できる商材にもなりました。
06
当社が入ったのは、何をつくるかを決める前の段階からです。リリース後の運用保守も同じ体制で続けており、契約もそのまま続いています。
作った人間が運用も見ると、調査にかかる時間が変わります。不具合の報告を受けたとき、どこを見ればいいかを探すところから始める必要がありません。なぜその作りにしたのかを知っているので、直したときに影響が出る範囲も見当がつきます。
3 年のあいだ、業務が止まるような重大な問題は起きていません。軽微なものは監視が先に検知するため、同社が気づく前に修正を終えています。
07
この案件の性格は、データドリブンで分析が重いことです。過去の施策を多くの軸で集計し、後には機械学習による予測も載せました。
| 層 | 選んだもの | 理由 |
|---|---|---|
| バックエンドの言語 | Python | 集計と機械学習のライブラリが揃っている |
| データベース | PostgreSQL | 分析を SQL で書ける |
| 実行環境 | AWS の ECS | 分析処理は実行時間が読めない |
| 認証 | Auth0 | 顧客企業への提供を前提にした権限の分離 |
| 監視 | Datadog | 社内に開発者がいないぶん、こちらが先に気づく必要がある |
| フロントエンド | Next.js、TypeScript | 画面は一般的な業務画面で足りる |
採用にあたってはビジネスと技術ドメインの特性から選択しています。バックエンドを TypeScript や Go で書く構成は、分析やデータ処理まわりのライブラリの層が薄く、この案件には向きません。分析基盤を別に立てる構成も、この規模のデータに対しては運用の手間が見合いません。この案件で必要だったのは、分析を素早く書けることと、時間のかかる処理を止めずに動かすことでした。
安定して動かすための仕組みも同時に構築しました。監視と外形監視、テストと自動化、インフラの設定のコード管理、依存パッケージの更新などが、3 年間の安定稼働を支えています。
問いの種類を広げ、答えの確からしさを上げる
データ分析支援
広告代理店との取り組みです。同社は過去実績の示唆を次の提案へ反映し、結果をどのように見込んだか、その背景まで提案先のクライアントへ説明できるようになりました。KDOTは案ごとの見込みと判断材料を比較できる仕組みを業務アプリとして実装しました。さらに業務アプリの中核となる処理ロジックと機械学習モデルについて、特許手続きを担う弁理士が技術の新しさや工夫を検討するための資料を作成しました。その後この発明には特許が付与されました。
データ分析支援 / データ基盤構築
不動産・宿泊領域の新規事業会社との取り組みです。同社ではWebの計測データや公開データ、日々の業務で生まれるデータを蓄積していましたが、それぞれが分かれており、改善策や同社の顧客への提案を考える材料にできませんでした。開発支援会社のKDOTは、Web計測、広告、検索のデータを分析用の基盤へ集め、サイトをまたぐ指標の計算規則をそろえました。さらに対話型AI(人工知能)のClaudeからMetabaseのデータを調べられるようにしました。現場担当者は、事業全体から地域や物件、Web上の行動へ確認範囲を絞り、自分の問いに沿って比較条件を変えながら、次の施策や同社の顧客への提案を組み立てられるようになりました。
プロダクト / Webシステム開発 / 技術顧問(技術企業向け)
AIを主力とする開発会社との取り組みです。同社にはプロダクト開発の引き合いがありましたが、大規模な開発の経験も、中核の技術を担える人もいませんでした。KDOTは技術顧問として、アプリケーション基盤と中核の技術を用意し、エンドクライアントとのプロジェクトの進め方も並走しながら伝えました。同社は海外市場向けの単発ワークのマッチングサービスを受託し、数億円規模の開発を公開まで完走しました。これで同社が受託できる範囲は、AIからプロダクト開発まで広がりました。
事業の課題や技術的な悩みなど、どんなことでもお聞かせください