1. はじめに: 変革の背景と目的
こんにちは。Analyticsチームの松田です。 Analyticsチームではクライアント企業のCXMおよびEXMに関する課題解決のため、統計解析を用いて主にアンケートデータ等の分析およびレポーティングを行なっているチームです。
今日は長年使い慣れたExcelから、Pythonベースのデータ分析環境に移行した話をしたいと思います。 Excelは便利なツールですが、分析を進める上では様々な課題がありました。そこで、より効率的で柔軟な環境構築を目指しPythonを導入して業務に取り入れていくまでの経緯と過程について共有したいと思います。
この記事はエモーションテック Advent Calendar 2024の15日目の記事です。
このプロジェクトが始まったのはさかのぼること2021年10月(あたり)。 当時のAnalyticsチームは主にデータ整形や分析、グラフ化等ほぼほぼExcelに頼って実務を行っていました。分析業務を行う上でExcelには以下の課題がありました。
データ量の限界: ある程度のデータ量を超えると、Excelが重くなり、処理に時間がかかり分析作業全体の効率が低下していました 再現性の低さ: Excelでの分析は、どうしても手作業に頼りがちになり、特にデータ前処理の定型化に課題を感じていました 高度な分析の困難さ: 高度な統計分析には、Excelでは機能が不足していました
ということで、Analyticsチームの分析環境をアップデートするためにPythonを取り入れていくプロジェクト(正式には解析プロセスリファクタリングプロジェクト)が走り始めました。
ちなみに当時の分析チームにおいて業務でのPython使用経験者はほぼなしの状態からスタートしています。
2. 第1ステップ: 2021-2022 環境の選定とチーム全体のPythonスキルアップ
まずこのプロジェクトはAnalyticsチームだけで始まったわけではなく、Productチームや横断でビジネスプロセスを構築しているチームの方などチーム横断で協力して「やっていこう!」という雰囲気で始まりました。
まず最初に環境構築について。 anacondaやjupyterなど色々検討しましたが、基本的にはGoogle Colabを使用することにしました。(Productチームの方に大変お世話になりました) Google Colabは環境構築不要、GoogleDriveとの統合が容易、チーム内での共有が簡単な点がポイントでした。
環境選定ができたので、さっそくPython活用をしていこう!というフェーズになりました。 まずはPythonの基礎について研修会を開いてもらいpandasやnumpyを学んだり、各自試行錯誤を始めました。 Python活用を進めるにあたって大きかったのは、ほぼPythonを書いたことがなくても「使えるようになりたい!」という意欲の高いメンバーが多かった点です。
各自で本やUdemyのような動画教材、Youtube等で独学をすすめ、できるようになった人が他のメンバーにも共有する(助け合う)動きが始まりました。
また、Productチームの方にPythonで困ったらいつでも聞いていいよのSlackチャンネルも開設してもらい、心理的ハードルが下がったのもポイントです。
3. 第2ステップ: 2022-2023 実際の業務をPythonで行う
いよいよ、Excelで実施していた業務をPythonに置き換える段階に入りました。 まずは、データ整形から取り組みました。頻繁に使用するコードをテンプレート化することで、知見を蓄積し、活用に繋げていきました。
例えばExcelで時間のかかっていたデータの紐付けやマージはpandasを活用することで、容易になり、処理時間が短縮されました。また、データに追加が発生した場合でも、コードを再実行するだけで簡単に結果を更新できるようになり、作業の再現性と効率性が向上しました。
効率化について特に印象的だったのは、数十万件にも及ぶアンケートデータの集計業務です。 Pythonの高い処理能力のおかげで、集計作業が驚くほど短時間で完了し、感動しました。
またプロジェクト開始から1年半ほどたち、新たにPython経験のあるメンバーがチームに加わったことで、scikit-learnやstatsmodelsといったライブラリを用いた高度な統計分析や機械学習モデルの構築にも挑戦できるようになりました。
4. 第3ステップ: 2023- GitHubと生成AIとの出会い
プロジェクトも中盤に入り、より効率的に開発したりコード共有を行うためにGoogle ColabからVS Code、Poetry、pyenvを使ったローカル環境に移行しました。 (環境構築はProductチームの方に実施いただきました。感謝) そして、GitHubの導入により、チームでのコード共有やバージョン管理を行うようになりました。各メンバーがそれぞれ開発したコードを参照したり、活用することができるようになりました。
さらにPython化を進めるにあたって革命を起こす起点となったのは生成AIです。ChatGPTやGeminiの活用や、GitHub Copilotによるコード補完機能により、コーディングにかかる時間が大幅に短縮され、プログラムに不慣れであってもさらにトライしやすい環境になり、チーム全体のスキルアップにつながりました。
5. まとめ: 道のりを振り返って
このような流れでExcelからPythonへの移行へのトライをしてきたのですが、もともとの目的である効率化や分析力の向上につながったことはもちろんですが、大きかったのは単なるツールの変更というだけではなく、チームの働き方を変える転換点となったことです。
最初にも書いたように、この取り組みをチームメンバーが前向きにトライしてくれたことが大きいと思います。 今まで時間がかかっていたり、できないと思っていた業務が簡単にできた!という成功体験の積み重ねがモチベーションにつながり、楽しみながら個人としてもチームとしても成長できたことが大きな収穫でした。
また最初にも書いたように、チームメンバーだけでは難しく、他チームの方にも支援してもらえていたことが大きかったと思います。 エモーションテックではチーム横断でトライを支援してくれる風土があるからこそだと思います。 ということで、今現在ですが、完全に脱Excelをしているというよりは、Excelの良いところと他のツールの良いところをそれぞれ適材適所で使い分けながら日々の業務に取り組んでいます。
この前ふと数年前を思い返して、「そういえば『脱Excelしよう!』プロジェクトが始まった当初はそんなの難しいと思っていたけど、数年を経て今は普通にPythonで開発してるなぁ」と感慨深い気持ちになり、この記事を書くことにつながりました。 これからも新しいトライを続けていこうと思います。
記事を読んでいただきありがとうございました。
エモーションテックでは顧客体験、従業員体験の改善をサポートしています。事業に興味のある方、統計解析を用いて世の中の体験を紐解くことに興味がある方、ぜひ採用ページからご応募をお願いいたします。