個人事業にデータサイエンスを導入した所感
私は6年間個人事業を続けており、ここ数年で自らデータサイエンスを学び、事業への導入を進めてきました。
オペレーション面の沿革としては典型的で、人力→プログラムによる一部の自動化→データサイエンスによる効率化、という流れを辿っています。
私の場合、プログラムの導入は比較的スムーズに進められましたが、データサイエンスの導入時には「もっとこうしておけば良かった」「思っていたのと違った」と感じることが多々ありました。
まだDSとして働き始めてもいない学部生の立場ではありますが、あくまでも個人的な備忘録として、このときぶつかった壁(とその対応策)の一事例を残します。
合理的に業務設計していたはずなのにデータサイエンス導入で躓く
データサイエンスを導入しようとした際に最初に感じたことは、そのための土壌が全く整っていないということでした。
システム設計の問題で、大部分のデータがそもそも記録されていない、ある条件下で行ごと削除している、挙句の果てにはデータ管理がめちゃくちゃなのでデータが丸ごと遺失している。辛うじて残っていたデータについても、私自身がDSでありながら業務設計とプログラム(システム)の要件定義も担っていたため問題になりませんでしたが、もしも私が外部から参画したDSであれば、データ生成過程(遺失過程も含む)があまりにも理解不能で狼狽していたことでしょう。
なぜこうなってしまっていたかということについては、私の場合はデータサイエンス導入前と導入時とで何が合理的かという点にギャップがあったことが大きかったと考えています。
例えばデータサイエンス導入前、あるデータ抽出を行うプログラムでは、抽出されなかった行をすべて削除する設計になっていました。データサイエンスの導入を見据えれば、データはすべて残して抽出されたかを表すフラグを記録する列を用意するべきでした。しかし、抽出したデータに対して人力で追加処理をする必要があったため、その際にそのフラグの列に対してフィルタを掛け、抽出されたデータだけに絞り込む手間を加えるよりは、抽出されなかった行を丸ごと削除してしまった方が楽で、当時は合理的でもあったのです。
結局、まずは既存データがバイアスだらけであることを承知の上でプロトタイプの機械学習モデルを作成し、形になりそうか判断した後、イチからデータを貯め直して対応することになりました。
今回の問題は、少なくとも局所的には合理的な行動から生じていたため、最初からデータサイエンス導入を見据えて業務設計やシステム設計をしておかない限り、避けようがなかったように思います。
モデルの精度の問題ではない
個人事業主である私は事業主や現場のプレイヤーの立場でもあるため、生産性を高めたくなります。楽して低コストで成果を上げたいからです。生産性を左右するのは、モデル作成よりも前、前処理に着手するよりもさらに前の、プロジェクト全体の方向性と作業タスクを設計する段階です。
極端な例とはなりますが、私が業務に自然言語処理を導入した際、当初は現場のプレイヤー(私自身)でアノテーションをして精度の改善を実現しようと考えていました。しかし、正直なところそんな面倒なことはしたくありません。結局、モデルは一切チューニングせず、出力を数十件目視で確認しながら意思決定ルールに含まれるパラメータの方を調整することで、低コストで必要十分な成果物を得ることができました。
評価指標をF1スコアなどの間接的な数値指標から、定性的なビジネス課題の解決如何そのものに置き換えたことで、おそらく必要コストを1/10以下に抑えることができたことになるはずです。
そもそも本当にコストをかけてモデルの精度を上げる必要があるのかという視点は、常に持っておいた方が良いと思うようになりました。
まとめ
とはいえ、今回の私の経験はしっかりとした大きな組織にはあてはまりにくいと思われます。特にモデルの精度については、売上規模が大きければ少し精度を上げるだけでもそのために必要なコストを補って余りある成果を得ることができるでしょうから、私の事例とは違う意思決定となるはずです。
私自身も、ここからさらに生産性を上げるためにはある意味DSらしい愚直な精度の追求が求められます。ただ、少なくとも現状の私の個人事業においては、その必要性は感じていません。進捗があれば追加の記事を書きたいと思います。
※ 2026/03/27 追記:外部要因によりこの記事で取り上げたシステムの存在意義がなくなったため、現在は運用を停止しています。
関連記事
Discussion