CMS運用の効率化をするワークフローの再設計〜転記削減、スプレッドシートからの脱却〜

デジタルテクノロジーは現在、市場や社会にとって不可欠なものとなっており、デジタルトランスフォーメーションはビジネスイノベーションの重要な分野になりつつあります。

しかし、デジタル変革は複雑であり、完全に把握して活用しているかといった課題を感じている企業も多いのではないでしょうか。

マーケティング領域のデジタル化/DXの目的

マーケティング領域のデジタル化さらにはデジタルトランスフォーメンション(DX)には大きく2つの目的があると思います。将来的にデータドリブンな経営を行うため、もう一つは従業員がストレスから解放されるため。

  • データドリブンな経営に向けてマーケティングを再構築するため
  • 従業員が繰り返しの定型業務やストレスから解放されるため

データドリブンな経営に向けてマーケティングを再構築するため

マーケティングの未来は、プラットフォーム、デバイス、さまざまな製品やサービスにわたる顧客のニーズと行動を総合的に理解する企業の取り組みにあります。しかし、多くの企業は「ビッグデータ」を効果的に実現できていません。それはデータがサイロ化していることが大きな要因でしょう。

将来に向けて、マーケティング活動やマーケティング活動の管理を再構築する可能性があります。

従業員が繰り返しの定型業務やストレスから解放されるため

また、マーケターが「もううんざり」とモチベーションの低下を起こしてしまうケースは昨今増えているように感じます。デジタルツールを導入したことで、業務が細分化し、時間のプレッシャーを感じ、タスクマン化してしまうこともあると思います。

今回は、データのサイロ化を防ぎ、転記といった定型業務から解放されるように、スプレッドシートからの脱却をユースケースで紹介します。

ユースケース:CMS運用の効率化をするワークフローの再設計

今回はWebサイトの更新作業で、CMSにコンテンツをアップロードし、情報を公開するまでに発生する単純作業に焦点を当てました。

例えば、スプレッドシートでコンテンツを管理し、転記を繰り返しているプロジェクトもあるのではないでしょうか。スプレッドシート管理でないにせよ、CMSへのアップ作業までに重複するような単純作業が発生している場合は、プロセスの再検討と自動化を考えてみると良いでしょう。

想定対象

フォーマットで扱いやすい製品情報や採用情報など情報をスプレッドシートで管理し、転載し、公開用に編集し、チェックし、公開するようなケース。このようなケースで起きやすい非効率がターゲットです。

  • 複数の商品情報を掲載する企業
  • 複数の採用情報を掲載する企業
  • 広告掲載を行うメディア

主な課題

  • スプレッドシートなどでコンテンツを管理していて、転記が発生している
  • 運用ルールが複数あり、オペレーションミスが発生しやすい
  • 運用ルールが複雑なため、属人化しやすい
  • チェック作業など単純業務が重複している
  • CMSで感知している問い合わせがCRMと連携していないためデータの管理が複雑になる
  • CMSの問い合わせをCRMに入力していない

フォーマットが決めやすいコンテンツを公開するために、煩雑なワークフローを踏んでいることはないでしょうか。

フォーマットは決めやすいが、複数の部門や関係者が異なった目的で情報を扱う場合はワークフローが整理できないことが発生しやすいです。さらに、関係者が多くなればなれるほど、業務フローやプロセスが複雑になってしまい、全体プロセスを描き、最適化しなければなりません。

CMS運用の効率化をするワークフローの再設計

このケースの一番の課題は、フォーマット化しやすい情報・コンテンツをCMSにアップロードするために時間やコストを費やしていることです。さらにデータがサイロ化してしまい、将来的なスケールするようなデータの取り扱いができていない点です。

従来では下記のように人による作業が発生しているケースもあります。

ユースケース(従来)

全体プロセスを整理することから初めて無駄になっている作業はあるのか、定型的な業務は発生しているか、重複作業は発生しているかを確認しましょう。

下記のように複雑だった業務フローも簡素化することできます。

ユースケース

情報が生まれるフェーズで誰かが聞いて入力すると手間になるので、情報を持っている人に入力してもらうことでミスもなく迅速に入力できるでしょう。

DXや効率化の再構築をご検討の方へ

FLOURISHでは、業務の効率化はもちろんですが、人の働きやすさや精神的な快適さも考慮して、DXの支援をしたいと考えています。ぜひ、DXを検討の方はお気軽にご連絡いただきますと幸いです。

webGLとは

WebGL (Web グラフィックス ライブラリ)は2011年に登場しました。

WebGLは、Khronos Group, Inc. によって開発された OpenGL ES(OpenGLの軽量版)を基にした技術で、ラスタライズ API です。3Dレンダリングをブラウザで効率的に行います。

主要ブラウザーと互換性があるため、ユーザーは WebGL アプリを実行するために外部アプリケーションをダウンロードしたりインストールしたりする必要がありません。

下記は、WebGL を完全にサポートする最初のブラウザ バージョンです。

WebGLは、3D変換、テクスチャ、シェーディング(物体の表面の色や輝度、陰影、光沢など)、照明効果をサポートしますWebGLでは、シェーダーを使用して、頂点シェーダー(位置計算)とフラグメントシェーダー(ピクセル単位で色や質感を計算)を操作し、リアルタイムでレンダリングを制御します。

(さらに…)

サーバーレスってなに?サーバーレスでインフラコストを削減できる?

従来、アプリケーションをデプロイする場合、通常は AWS などのホスティング プロバイダーを見つけて、アプリケーションを開発し、セットアップしたサーバーにデプロイします。

アプリケーションに必要な負荷分散、自動スケーリング、更新、管理などの複数のサーバーのセットアップが発生します。これを「サーバーフル」アーキテクチャと呼びます。

一方で、「サーバーレス」アーキテクチャは、クラウドにある完全に管理されたサービスのみを使用することを目的としています。

「サーバーフル」な方法で十分ではないでしょうか?「サーバーレス」開発がもたらす利点を見てみましょう。

サーバーレス(serverless)とは

サーバーレスはサーバーがないことを意味するわけではありません。 簡単にいうと、サーバーを気にせずにコードを実行する方法です。つまり、フロントエンド開発者がメンテナンスする責任がないことを意味します。

サーバーレスは、クラウド管理サービスによるコード実行を活用します。そのため、開発者はコードが実行される基盤となるインフラストラクチャを設計する必要がなく、非常に拡張性のあるコスト効率の高いアプリケーションを構築するソフトウェア アーキテクチャ設計パターンです。

従来型の開発の課題

従来型の開発(「サーバーフル」アーキテクチャ)にはいくつかの課題があります。特に以下の点で、サーバーレスと比較して効率が悪い部分があります。

1. サーバー管理の手間

従来型のアプローチでは、アプリケーションをホスティングするためにサーバーのセットアップや管理が必要です。

  • サーバーの構成:サーバーの選定、インストール、設定、パッチ適用、セキュリティ対策。
  • スケーリング:トラフィックが増えるとサーバーを追加で設定する必要があり、手動スケーリングではリソースの無駄が生じやすい。
  • メンテナンス:サーバーのアップデート、監視、障害対応などが発生する。

2. 初期コスト

サーバーを導入するには、物理的なサーバーや仮想マシンの費用がかかります。さらに、バックアップ、データベース、ロードバランサー、ファイアウォールなども必要で、これらの設定と運用に費用と時間がかかります。

3. 運用コスト

アプリケーションが成長するにつれて、サーバーの台数やデプロイの複雑さが増すため、運用面での負担が増大します。異なるサーバー間の同期や、さまざまな技術スタックの連携が必要になると、さらに運用が煩雑になります。

つまり、ホスティングの部分に時間がかかります。アプリケーションがちょっとしたタスクをやるためにサーバー全体をセットアップするには、やりすぎです。

やりすぎかどうかが、サーバーレスを検討する上で重要です。too muchであれば、サーバレスは一つの選択肢です。

サーバーレス(serverless)のメリット

サーバーレスは、バックエンドのインフラ管理をクラウドプロバイダーに任せ、開発者がアプリケーションのコードに集中できるアプローチです。

従来の「サーバーフル」な方法では、サーバーのセットアップや管理が必要ですが、サーバーレスではこれらの作業がクラウド側で自動化されるため、インフラコストの削減と管理負担の軽減が期待できます。

サーバーレスアーキテクチャを採用したプラットフォームを紹介します。

プラットフォーム特徴対応言語フレームワーク料金利用シーン
Netlify– フロントエンド向けに最適 – Gitと自動デプロイ統合 – サーバーレス関数の実装が簡単– JavaScript (Node.js)– Nuxt.js – Gatsby – Hugo – React– 無料プランあり – 有料プランは$19/月– 静的ウェブサイト – Jamstackプロジェクト
Vercel– Next.jsとの強い統合 – グローバルCDNでの配信 – サーバーレス関数やエッジ処理もサポート– Node.js, Go, Python, Ruby– Next.js – Gatsby – React– 無料プランあり – 有料プランは$20/月– Next.jsを使ったウェブアプリ – プロトタイプ開発
Google Cloud Functions– イベントドリブン型サーバーレス関数 – Google Cloudとの強力な統合– Node.js, Python, Go, Java, .NET, Ruby, PHP– 直接のフレームワーク統合はなし– 無料枠あり(1Mリクエスト/月) – 有料: $0.40/100万リクエスト– トリガーベースのイベント処理 – 機械学習モデルのホスティング
Azure Functions– HTTPやタイマートリガーなど多様なイベント – Azureサービスとの強い連携– C#, JavaScript, Python, Java, PowerShell, TypeScript– 直接のフレームワーク統合はなし– 無料枠あり(100万リクエスト/月) – 有料: $0.20/100万リクエスト– Microsoft技術を活用したシステム – トリガーベースのアプリケーション
IBM Cloud Functions– Apache OpenWhiskベース – IBM WatsonとAI機能の連携が可能– Node.js, Python, Java, Swift– 直接のフレームワーク統合はなし– 無料枠あり – 有料プランは従量課金制– AIを組み込んだアプリケーション – データ解析、API構築
Cloudflare Workers– エッジコンピューティング – 超高速デプロイとレスポンスが可能– JavaScript, TypeScript– 直接のフレームワーク統合はなし– 無料枠あり(100,000リクエスト/月) – 有料プラン: $5/月– パフォーマンスが重要なAPI – グローバル展開が必要なアプリケーション
Ramda– 関数型プログラミングのためのライブラリ – 関数型スタイルでの開発が可能– JavaScript– 特定のフレームワークとの統合はなし– ライセンス料金が発生する場合がある– 関数型プログラミングのコーディング – サーバーレスアプリケーションのビジネスロジック処理

「特定のフレームワークとの統合はなし」は、特定のフレームワークに対する特別な機能やプリセットは提供していません。そのため、これらのフレームワークを利用する際は、フレームワークのビルドやデプロイのプロセスを手動で管理する必要があります。

Netlifyなどのプラットフォームは、特定のフレームワーク(例えば、Nuxt.jsやNext.jsなど)と直接的に統合されており、フレームワークに特化した機能や最適化が提供されています。これにより、開発者はそのフレームワークを利用する際に、プラットフォームの特性を最大限に活用できます。

FLOURISHでは、Netlifyを使ったサーバレス開発に多くの事例がございます。

サーバーフル開発 vs サーバーレス開発

例えば、多くの企業でコーポレートサイトに活用しているwordpress。サーバーにはAWSのサーバーやVPSなどを使っていることも多いのではないでしょうか。

今回は、コーポレートサイトの開発をユースケースに、それぞれの開発手法の違いと、インフラコストを紹介したいと思います。

サーバーフル開発の例: AWS上でのWordPressを利用したコーポレートサイト

AWSのEC2インスタンスにWordpressをホスティングし、コーポレートサイトを構築する企業は多く存在します。このケースのアプリケーション構成、開発フローを簡易に作成しました。

1. アプリケーションの構成:

  • CMS: WordPress
  • ホスティング: AWS EC2
  • データベース: Amazon RDS (MySQL)
  • セキュリティ: AWS IAM、セキュリティグループ
  • バックアップ: AWS Backup

2. 開発フロー:

サーバーセットアップ: AWS EC2インスタンスを作成し、WordPressのインストールを行います。

  • データベース設定: Amazon RDSを使用してMySQLデータベースをセットアップし、WordPressと接続します。
  • セキュリティ設定: AWS IAMでユーザー権限を管理し、セキュリティグループでネットワークセキュリティを構成します。
  • バックアップと管理: AWS Backupを使用して定期的なバックアップを設定し、サーバーの保守を行います。

サーバーレス開発の例: NetlifyとContentfulの利用したコーポレートサイト

WordPressを用いたコーポレートサイトで発生しやすいのは、サイバー攻撃です。続いて、IAMロールが上手く設定できず、複数人での作業が上手くいかなかったり、サーバー構成を引き継げなかったりすることです。報告や提案がしっかりわかりやすいベンダーや、コラボレーションにも積極的なベンダーを活用すると良いでしょう。

1. アプリケーションの構成:

  • CMS: Contentful
  • ホスティング: Netlify
  • デプロイ: GitHubとの連携

2. 開発フロー:

  • コンテンツ管理: ヘッドレスCMSであるContentfulでコンテンツを作成し、管理します。
  • フロントエンド構築: フロントエンドをReactやGatsbyなどで構築し、Netlifyでホスティングします。
  • 自動デプロイ: GitHubリポジトリとの連携を使用して、コードの変更が自動的にNetlifyにデプロイされます。
  • スケーリング: Netlifyが自動的にスケーリングを管理し、トラフィックの変動に対応します。

サーバー、データベース、セキュリティなどの設定が多く、管理の手間がかかります。トラフィックの増加に応じて、サーバーのスケーリングも手動で必要です。そのため、固定のサーバーコストやデータベースの管理コストが発生します。 一方で、サーバレスは、サーバーやデータベースの管理が不要で、コンテンツ管理に集中できます。トラフィックの増加に応じて自動でスケーリングされるため、手動での対応が不要です。

例に挙げたコーポレートサイトは、アプリケーションとして行うタスクはそんなに多くありません。AWSでイチからサーバーを立てて、稼働させるには「too much!」と捉えることもできます。迅速に稼働させ、サーバー管理を削減し、中長期的にリソースをマーケティング等に割くような戦略で、サーバレスを選択することはオススメです。

ローコードアプリケーションによるWebサイト制作の潮流

CMS(Contents Management System)の一つであるWebflowは、ローコードアプリケーションとしてエンジニア、マーケター、デザイナーから人気を集めています。

ローコード アプリケーション はWebflowのような Web サイトのアプリケーションにとどまらず、他のデジタル エクスペリエンスを構築するためのツールも含まれますが、ローコード アプリケーション プラットフォーム (LCAP)市場は、著しい成長を遂げています。2021は63億円でしたが、2023 年には2022年から 25% 成長して 100 億ドル近くに達すると予想されています[※出典:ガートナー (2022 年 12 月)]

Gartner の LCAP (ローコード アプリケーション プラットフォーム)レポートによると、2025年までに「企業が開発する新しいアプリケーションの70%がローコード/ノーコード技術を使用する」と予測しています。

Webflowは特にこの市場でニッチな市場を切り開き、世界のCMS市場で1.1%のシェアを獲得し、世界で9番目に人気のあるCMSとなっています。

CMSランキング

Webflowは、ローコードまたはノーコードでWebサイトを構築できるプラットフォームで、デザインと開発が統合された仕様がユーザーから高く評価されています。CMSの機能があり、eコマースにも対応できます。190か国で350万人を超えるユーザーを顧客基盤としています。日本市場ではSTUDIOがローコードでは有名ですが、グローバルでは圧倒的にWebflowが人気です。

ローコード開発が人気なる背景

ローコード開発は、「コストとリソースの削減」といった文脈で語られることが多いです。日本では「コストとリソースの削減」と聞くと、割安なイメージが先行し、コスト削減のために採用されてしまいそうです。

昨今、ノウハウから技術まで多くのことが求められるようになりました。ローコード開発のメリットは、単純な作業を抑えて、付加価値のある業務に注力できることがメリットだと考える方が無難でしょう。特にコーディングの時間を圧縮できることは魅力です。

ローコードとノーコードは違うの?

ローコードはノーコードと同じニュアンスで使われることがあります。 厳密にはローコードとノーコードには違いがあります。 ローコードは必要に応じていくつかのコードを記述できます。もちろん、ほとんどコーディングを行う必要がないこともありますが、多くの場合ではコードを記述したい場面が発生するでしょう。妥協できない場合はローコードがおすすめです。

一方、ノーコードは、まったくコーディングを必要としないプラットフォームです。技術的な知識がなくても、直感的なドラッグ&ドロップなどを使って、迅速にアプリケーションを構築できるように設計されています。

  • ノーコード プラットフォームはコーディングの経験がない人向けに設計されています(ノーコードのCMS の例は、Wix、Squarespaceなど)
  • ローコードはハイブリッドなアプローチを提供します。全くコーディングを必要としない使い方もできますが、より複雑な機能を実現するためにコーディングが可能です。(ローコードのCMSの例はWebflowなど)

ローコード開発が可能なCMS

ローコード開発プラットフォームの中には、CMS機能を備えているものもいくつかあります。以下に代表的なものを紹介します。

Webflow

Webflowはデザインに特化したローコードプラットフォームで、強力なCMS機能を備えています。クリエイターやデザイナーに人気があり、視覚的な編集でデザインを作成しながら、データベース機能を持つCMSを利用してコンテンツ管理が可能です。また、Eコマース機能もサポートしているため、オンラインショップの構築にも適しています。

FLOURISHでは、Webflowによる開発を中心に、Webサイト構築におけるローコード開発を行っています。

Bubble

Bubbleは、完全なフルスタックのローコード開発プラットフォームで、データベース、ワークフロー、自動化機能を一体化したCMS機能を提供します。コードを書くことなく、複雑なアプリケーションを構築できるため、CMS機能も柔軟にカスタマイズ可能です。特に、アプリケーションの機能とデータ管理を一元的に処理できる点が特徴です。

WordPress + Elementor

WordPressは世界で最も広く使用されているCMSですが、Elementorを追加することで、ローコード的に操作できるようになります。Elementorは、ドラッグ&ドロップでページのデザインを行うことができ、プラグインの追加で様々な機能を簡単に統合可能です。この組み合わせにより、非技術者でもプロフェッショナルなWebサイトを構築できます。

STUDIO

STUDIOは、日本発のデザイン重視のローコード開発プラットフォームで、ビジュアルエディターを使用して、直感的にWebサイトやアプリを作成できる点が特徴です。CMS機能も備えており、デザインとコンテンツ管理の両方を手軽に行えるため、クリエイティブなプロジェクトに最適です。

Webflow vs Bubble

Webflow と Bubble はどちらも、デザインの自由度という点ではトップクラスです。 ほとんどの場合、Webflow の方が適しています。ただし、Bubble の方が基盤となるコードをより細かく制御できるため、複雑なアプリケーションを構築する場合はBubbleの方が適しています。Bubble で構築された非常に複雑な Web サイトには、Shopify、Notion、Kickstarter などがあります。

ローコードプラットフォームを組み合わせた開発

ローコードとローコード、もしくはノーコードを組み合わせた開発は、異なるツールやサービスを統合し、開発プロセスをさらにスムーズにすることが可能です。

ローコードアプリケーションプラットフォームであるCMSと組み合わせ可能なローコードアプリケーションを紹介します。

Airtable

WebflowやBubbleと連携し、Airtableをデータのバックエンドとして使用します。例えば、Airtableに保存された顧客データや商品情報を、Webflowでデザインされたフロントエンドで表示し、Bubbleを使ってデータの操作を行うことができます。

Xano

Xanoは、バックエンド開発を簡素化するためのローコードプラットフォームで、APIベースのバックエンドを迅速に構築できます。データベース管理、認証、ビジネスロジックなどをサポートし、スケーラブルなバックエンドを構築可能です。Xanoを使用して、アプリケーションのビジネスロジックやデータ操作を処理し、WebflowやBubbleで構築したフロントエンドと連携させます。

Shopify

Shopifyは、eコマースに特化したプラットフォームで、Webflowで作成したカスタムデザインをShopifyの強力なeコマース機能と統合することで、魅力的なオンラインストアを構築できます。WebflowのデザインとShopifyの販売機能を組み合わせることで、柔軟なオンラインショップを実現できます。

Auth0

Auth0は、ユーザー認証と管理に特化したプラットフォームで、Webflowで構築したWebサイトに統合することで、ユーザー認証を追加できます。例えば、メンバーシップサイトを構築し、ユーザーがログインしてアクセスできる専用コンテンツを提供することが可能です。

ノーコード、ローコードは簡単?

ノーコード、ローコードと聞くと誰でもできるのではないか。簡単なのではないかといった期待感が大きくなります。しかし、全体的な企画、コンテンツの作成、情報整理、プロジェクト管理は従来からプロジェクトの軸になるもので、その作業はノーコードでもローコードでも発生します。

また、ローコードやノーコードになれば費用が下がりそうな印象がありました。しかし、今やほとんどの業務で生成AIを使うことも多くなり、エンジニアがコーディングして構築してもそこまで時間が掛からなくなっています。

ノーコード、ローコードが安い、早い、便利という部分で秀でているかと言われたら、案件次第です。ただ、ノーコード、ローコードが適切なプロジェクトも必ずあります。要件次第ではとても良い選択肢になるのではないでしょうか。

タスクフロー(task flows)とユーザーフロー(user flows)どっちを使う?

ユーザー フローとタスク フローは、よく混同されるワードです。ユーザーの動きに注目している点ではどちらも同じでありながら、目的と用途は異なります。

しかし、ユーザー フローとタスク フローは、視覚的にも近いことから、より混同されてしまいます。さらに、人によってユーザー フローとタスク フローの定義は異なっていて、さらにオリジナルにカスタマイズして融合して使うケースもあるのではないでしょうか。

そういったことから、ユーザー フローとタスク フローの違いは分かりにくく、混同してしまいがちです。 ユーザー フローとは何か、タスクフローは何か、簡単に説明します。

開発における「フローの視覚化」の必要性

デジタル製品、アプリケーション、Web サイトなどでユーザーとのやり取りがある場合、ユーザーが「目標」を達成するための「フロー」の設計に労力が費やされます。

例えば、ホテル予約はとてもシンプルなフローになります。Webまたはアプリにアクセスし、希望の日付を入力し、閲覧して比較し、部屋を予約します。しかし、予約以外にもユーザーはできることがあります。ログイン、サインアップ、過去の予約履歴の閲覧、ユーザー設定など。 すべての機能には、通常はプロダクト マネージャーや UX/UI デザイナーが関与しています。PMやデザイナーは多くの場合、UX デザインの一般的な手法である「ユーザーの目標」「タスク フロー」が使用されます。

一方で、SaaS 企業などが開発するようなプラットフォームでは、主に製品分析、ユーザー フィードバックのために、「ユーザーフロー」が使用されます。

タスクフロー(task flows)とは何ですか?

タスク フローは、タスクを達成するためにユーザーが実行するアクションを表します。タスク フローは通常、分岐することはなく、直線的でシンプルになるように設計されています。 例えば、「航空券を予約する」や「ショッピング カートに商品を追加する」など、ユーザーが目標を達成するために実行する直線的なステップで示します。

タスクフローは、ユーザーの目標を定義することからスタート

ユーザーが目標を達成するには、フローに沿っていくつかのアクションを実行する必要があります。タスク フローは、プロセス内のどの時点からでも開始できますが、必ずしも最初から開始する必要はありません。達成すべき明確な目標がある限り、それはより長いプロセスの一部である可能性があります。

タスクフロー

例えば、ECサイトでは、ユーザーはサイトにアクセスしてTシャツを探し、サイズ、色、数量、アドオンを選択してカートに追加します。その後、チェックアウトして支払います。タスクフローは、定義された「ユーザーの目標」を含め、直線的な順序で相互に実行します。分岐はしません。

タスクフローが有効なシチュエーション

  • 機能全体の概要を把握する: ユーザーが機能を利用する全体像を大枠で理解したい場合に有効です。
  • 主要なタスクの流れを整理する: 具体的な機能開発に進む前に、主要なタスクの流れを整理したい場合に有効です。
  • ユーザーテストのシナリオを作成する: ユーザーテストのシナリオを作成する際に、タスクフローを参考にすると、漏れなく網羅的なテストを実施することができます。

タスク フローは、ユーザーがすべて同じように行動することを前提としています。これらは重大な欠点ですが、タスク フローは、より複雑なユーザー フローを設計するために活用できます。

タスクフローの次のステップはユーザー フロー

ワイヤーフレームとユーザー フローを作成するため、タスク フローは前段階とも言うことができるでしょう。

次のステップとして、タスクフローを活かして、どのようなユーザー フローもしくはワイヤーフローもしくはフローチャートにするかは、フェーズや規模、求められる期待値によっても異なってくるでしょう。

ユーザーフローとは何ですか?

ユーザーフローは、ユーザーが最初から最後まで選択できるすべてのオプションをマップします。ユーザー フローは、ユーザーが行うことができるさまざまな選択を反映して、直線または分岐することができます。

ユーザー フローは、ユーザーがエントリ ポイントから最終的なインタラクションに至るまでに実行する一連のステップを示します。すべてのステップは、円、四角形、またはひし形で表され、ユーザーが実行する必要があるアクションの異なるタイプを示します。

ユーザー フローステップ

タスクフローがあれば、それをユーザー フローに変換して、ユーザーがwebやアプリ内をどのように移動するかを示すことができます。ニュースレターの購読や購入など、単純なタスクを表すこともできます。

ユーザー フロー

タスクフローが有効なシチュエーション

  • ユーザーの行動パターンを理解しやすくなる: ユーザーがどのように製品やサービスを利用するかを視覚的に表現することで、ユーザーの行動パターンを理解しやすくなります。
  • ユーザーエクスペリエンスの改善に役立つ: ユーザーフローを分析することで、ユーザーが迷ったり、ストレスを感じたりするポイントを特定し、ユーザーエクスペリエンスを改善することができます。
  • コミュニケーションを円滑にする: ユーザーフローを共有することで、デザイナー、開発者、マーケターなど、プロジェクトに関わる関係者間のコミュニケーションを円滑にすることができます。

ユーザーフローは、ワイヤーフレーム、プロトタイプなどの視覚的表現が含まれる場合があります。ワイヤーフレームとフローチャートの要素を組み合わせたものです。画面間の関係と画面間のデータ フローを示します。ワイヤーフローは、数ページでコンテンツやレイアウトが変更される複雑なインタラクションを説明するのに役立ちます。

タスクフローとユーザーフローを組み合わせて活用する方法

FLOURISHでは、タスクフローとユーザーフローの長所だけを取って、フローチャートを作ることもあります。

左側にユーザーのアクション、右側にユーザーのアクションによるアクティビティを記載したユーザーフローチャートです。

タスクフローとユーザーフローを組み合わせ

開発のしやすさ、フェーズや規模、クライアントや関係者の期待値、案件の期待値、期待値から弾き出される予算や金額によって、適切なフローチャートを選択することが大切です。

インタラクティブ動画の特性と活用

動画マーケティングの新たな手法としてインタラクティブ動画が注目されている。これまでの“ただ見るだけ“の動画とは異なり、視聴者が動画上でアクションが取れるのが特長である。

TVCMに始まり、YouTube、TikTokなど、映像で何かを訴求するということは、これまでも行われてきたが、改めて、昨今の動画マーケティングの需要の変化とインタラクティブ動画の活用について紹介する。

動画マーケティングの需要の変化

2019年から2021年までの過去2年間は、新型コロナ感染症の影響でマーケティング手法にも変化が見られた。特に、物理的な移動が必須だったオフラインでのイベントが、どこでも手軽に参加できるウェビナーへ切り替わっていったことは、大きな変化と言える。インプレス総合研究所『動画配信ビジネス調査報告書2020』(※1)によるとスマートフォン利用者を対象に、新型コロナウイルス感染症拡大のため外出自粛により在宅時間が増えたことで、どのような活動が増加したかを聞いたところ、「無料の動画を見る」が27.5%でトップであった。

インプレス総合研究所『動画配信ビジネス調査報告書2020』

視聴者が求めている動画コンテンツという観点では、娯楽、趣味に関するコンテンツだけに留まらず、商品やサービス、好意にしているブランドのコンテンツなど様々ニーズがあると言える。(HubSpot、2018年)。

一方、ビジネスの観点では、マーケティング専門家の86%がビデオを強力なマーケティングツールだと認識し、78%がビデオが売り上げの増加に直接役立ったと言っていることからも、動画コンテンツはビジネスの成長に貢献する可能性が高いと言えるだろう。また、ビデオによって、自社Webサイトのトラフィックが増加したという事実を鑑みても、ビデオコンテンツが、視聴者(ファン)とビジネスを結びつける架け橋となっているということもできる。(Wyzowl、2021年)。

このことからもオンラインでの動画コンテンツの活用は、マーケティングの重要なfunctionと言えるだろう。また、デジタル化する世界では、動画は視覚に訴えるストーリーテリング(ビジネスによってその人をどう変えるか、社会をどう変えるかを鮮明にイメージさせること)の標準的な手法になりつつある。動画はブランドのファンとコミュニケーションするための効果的なメディアであることを考えると、当然のことだろう。

動画コンテンツの効果と期待、活用エリア

マーケターが感じる効果(Wyzowl,2020年 ※2)

  • マーケターの83%は、マーケティングキャンペーンで動画を使用することで、リードを生み出すことができたと回答した。
  • 80%は動画が売上に役立ったと述べ、95%のマーケターはユーザーが動画によって自社の製品やサービスをよりよく理解できると回答した。

消費者の期待(Wyzowl,2020年 ※2)

  • 製品やサービスについてどのように知りたいかを尋ねられたとき、73%が短いビデオを見たいと回答した。
  • 96%の人が、製品やサービスについて詳しく知るために解説動画を見たことがあり、78%の人が、ビデオを見てソフトウェアやアプリを購入、またはダウンロードすることを決めると回答した。

ビデオホスティングプラットフォームWistiaの2022年のStateof Videoレポートによると、55%のブランドが動画制作の予算を5%以上増やすことを計画しており、まったく新しいタイプのビデオを制作することを考えていることが分かる。また、制作予定の動画の種類は、ブランドメッセージ、製品紹介ビデオ、製品デモ、およびケーススタディなど様々な業務領域において動画の制作が予定されている。

動画マーケティングに求められるクオリティ

多くの企業で、高価で高品質の動画キャンペーンが必要であると信じられているが、利用期間や用途によって、どの程度の費用が妥当なのか、費用対効果の側面から検討すべきだろう。動画に関しては、時間をかければ細部までこだわるので、クオリティを高めることができるが、コストとのバランスを忘れてはいけない。 “低価格でクオリティの高い動画“といった二律背反を求めることは難しい。一方で、重要なポイントの認識にズレがあることは、お互いに不幸な話である。コスト、クオリティー、スピードをコントロールしながらアジャイルで回すことがマーケターに今後求められることだろう。

動画マーケティングのポイント

  • 最初の10秒間でユーザーを惹きつける
  • ブランド認知の動画は、15〜60秒に保つ
  • 新しいリードの生成や製品とサービスの購入を目的としたプロモーションビデオの長さは30秒から5分。
  • プロモーションビデオには製品の購入方法、製品情報と製品ページのオンライン共有方法、およびダウンロード可能な製品情報の提供方法を強調する必要がある
  • キャンペーンのパフォーマンスを正確に測定するためのさまざまな測定を実装する必要がある(インプレッション、ビュー、頻度、リーチ、ユニークリーチなどの標準的な測定)
  • マーケターは、ビデオキャンペーンの実際のパフォーマンスを特定するために、分析をもう少し深く掘り下げる必要がある
  • コンバージョン後にサンキューとアップセルの動画を送信することを忘れてはならない
  • コストとクオリティのバランス、重要なポイントの認識

インタラクティブ動画の制作工程

新しい動画コンテンツの種類として、インタラクティブ動画が昨今注目されている。インタラクティブ動画を制作する場合は、あらかじめユーザーのアクションを優先して構成を組む必要がある。 インタラクティブ アクションの実装は、動画制作の作業が終わってからではあるが、アクションを想定し構成された動画か、そうでないかによって、実装の難易度が変わってくる。

アクションを実装した後に、サイトに埋め込んだり、広告出稿やメールマーケティングで活用したりするフェーズに移る。チャネルや利用方法も複数考えられるようになった現在、生産プロセスを合理化する必要がある。KPIの指標に関しても、連続されたマーケティング活動の中での測り方を検討すべきだろう。

制作工程

  1. 構成を考える
  2. ナレーションやテロップを考える
  3. 撮影する
  4. 素材を作成する
  5. 編集する(併行してBGMやSEを選ぶ)
  6. 確認する
  7. 修正する
  8. インタラクティブを実装する
  9. 確認する
  10. 修正する
  11. 複数のチャネルでのマーケティング活動での利用

一般的な動画コンテンツよりも一手間は加わるが、企画段階でコンセプトを固め、使い方までを想定しておくことで、全体の工数を最適化することができる。インタラクティブ動画はユーザーのアクションに合わせて分岐を作っていくので、思いつきでできるようなものではないが、今まですでにコンテンツを多く持っている企業は取り組みやすい可能性もあるだろう。

インタラクティブ動画の特性と活用

HihahoやWIREWAXなどさまざまなインタラクティブなツールがでてきている。ソーシャルシェアができるかなどツールによってもメリットは分かれる。日本でもインタラクティブなツールが登場していて、ソーシャルシェアが優れている、値段が安価であるなどベンダーによって大きく違う。海外で成功事例となっているインタラクティブ動画のメリットを挙げるとすると、企画時点での目的が明確になっていることである。

IKEA Bedroom Habits

目的

  • 視聴者とコンテンツの間で費やされるより長い品質
  • アクション主導のデザイン
  • 最適化されたエンドユーザーエクスペリエンス
  • 視聴者が何度も戻ってくるほど楽しいコンテンツ

Nike on Hypebae

目的

  • 主要なオーディエンスに関連性の高いエクスペリエンスを提供する
  • ビデオ映像のゲーミフィケーション
  • シームレスに購入

インタラクティブ動画の目的は、多くのマーケターが追いかけている従来のKPIではなく、ユーザー目線での目的となっている。数字的なKPIに関しては、インタラクティブ動画の特性を生かすと良いと考える。動画上でのアクションをカウントすることができるので、どのアクションが利用されたか、アクション後の遷移はスムーズだったかなど、様々なマーケティング手法をトライし、アジャイルに試行錯誤するのがよいと考える。

“ユーザー目線の目的“は、日本のインタラクティブ動画では、なかなか達成されていないことがある。視覚と音で表現する動画を活用しているのに、説明が長かったり、長いテキストを読ませる箇所があったりと、動画の良さを活かせていないことが多く見受けられる。 テキストはあくまで字幕のようなフォロー程度に考えるとよいでしょう。視覚と音で表現する動画では、文字を盛り込みたい気持ちをグッと抑えて、コンセプトに従って無駄を削ぎ落とす作業が大事である。


※1インプレス総合研究所『動画配信ビジネス調査報告書2020』

※2 Video Marketing Statistics 2022

スプレッドシート・Excel依存がビジネスを台無しにする?

以前、スタートアップのマーケティングを担当する際に、業務フローにスプレッドシートを使おうとしませんでした。それは感覚的な部分はありますが、将来的に管理が面倒になることは選択肢にありませんでした。もし、スプレッドシートを業務フローに組み込んでしまうと、CRMやMAを使っている意味も薄くなってしまいます。

もちろん、スプレッドシートが適した使い方は存在することはあります。軽量のデータ分析、共有、プレゼンテーションのために使うにはとても便利です。

しかし、スプレッドシートありきでワークフローを確立していくことは、将来的にビジネスを停滞させる原因になるのではないだろうか考えています。

今回は、業務フローにスプレッドシートを組み込む隠れた非効率性を考えてみたいです。

スプレッドシートを過剰に使用すると、将来的にビジネスを停滞させる原因

スプレッドシートは、データセットの増大、コラボレーションの増加、ビジネスクリティカルなワークフローの増加に伴い、その有用性は低下します。

スプレッドシートを過剰に使用すると、実際にビジネスを台無しにする可能性があります。 どのようなリスクがあるのかを確認していきましょう。

リスク1:手動プロセスが増える

スプレッドを業務フローに組み込むと手動プロセスが増えます。転記も増える可能性があり、スプレッドシート地獄になるケースも。

日常的なスプレッドシートなどの手動プロセスが、コストのかかるエラーを誘発、断片化されたデータを創出、あらゆる部門の生産性低下の原因となっています。

ビジネス全体のプロセスを自動化することで、時間とリソースが節約され、より適切な意思決定のための全体的なビューが提供されます。

リスク2:スケールできない

スケールはありません。入力検証、ユーザー アクセス制御、その他のカスタムについて考え始めると、行き詰まってしまいます。

例えば、企業間での情報の受け渡しは、個人情報が含まれる場合は厳重にされるべきですが、その条件をクリアするにはなかなか難しい仕様ではあります。

リスク3:コラボレーションを妨げる

スプレッドシートでは、複数の関係者が更新や変更を行い、さらに運用のロジックを理解する必要がある場合は、業務を難しくし、ストレスをかけるものになります。

運用フローに慣れている数人を除いては、高い運営コストになってしまうかもしれません。コラボレーションが妨げられ、属人化が結果として進んでしまう可能性もあるでしょう。

リスク4:コンプライアンスのリスクがある

ユーザー アクセス制御はなかなか煩雑な仕組みです。やろうとしたらやれなくもないですが、本当に時間もかかりますし、共有したい外部ユーザーの手間を相当かけてしまう結果にもなります。

そのため、ユーザー アクセス制御が難しい場合は、共有にはリスクが伴い、データの扱いが雑になるとも言えます。

従業員データやその他の機密情報を扱う際のエラー、手作業、潜在的なコンプライアンス問題についての懸念があります。

リスク5:大規模なデータセットはパフォーマンスが悪い

スプレッドシートを使用してデータセットを分析することはおそらく現実的ではありません。大量のデータ、複雑な計算は更新が遅く、フリーズすることがよくあります。

DXや効率化の再構築をご検討の方へ

スプレッドシートは多用途ですが、企業がしっかりとしたプラットフォームを必要とする場合には、より優れたデータ管理、視覚化、コラボレーション、統合のオプションを選択できるようになります。

FLOURISHでは、業務の効率化はもちろんですが、人の働きやすさや精神的な快適さも考慮して、DXの支援をしたいと考えています。ぜひ、DXを検討の方はお気軽にご連絡いただきますと幸いです。

Google Apps Script(GAS)の利活用〜ワークフローの効率化と自動化〜

今回は、定型的な業務やある程度な頻度で起きるイレギュラー対応で使えそうなシチュエーションを想定して、プロトタイプとして作成しました。

2つの事例で行われる自動化や効率化は、Google Apps Script のApps Scriptで構築しています。

事例1.新しいデータがスプレッドシートに追加されたときに、自分または他の人に電子メールを送信する

多くはないけれどもある程度の頻度で起きるイレギュラー対応。

「大袈裟にDXプロジェクトとして動くわけでもない、、、。でも、時間がかかるし、自動化できると便利」という業務は意外と多いのではないでしょうか。

今回のシナリオは、スプレッドシートに情報を追加するだけで、自動でメールが送信できるます。

もちろん使ったのは、タイトルからも分かるように「Google Apps Script」です。スプレッドシートの情報を読み取り、条件に基づいてメールを送れるように設定しました。

今回の具体的なシチュエーション

  • 期間限定の動画公開をしていて、まだ見ていないユーザーがいます。「見ていないユーザー」かつ「今までメールを送ってないユーザー」という条件に絞ってメールを送るというシチュエーションにしました。

Apps Scriptの実行をクリックして都度実行することも、トリガーを用いて送信時間の設定をすることも、トリガーを用いて何時間おきにscriptを実行するかを設定することもできます。

さらに即時に送信するようにApps Scriptを記述することもできます。

今回のユースケースでは、動画の視聴を告知するメール配信を例にしましたが、ちょこちょこ発生するイレギュラーな問い合わせに使うことで効率化を図ることもできるでしょう。

また、webアプリケーションの機能の一つとして組み込むことも可能です。申込フォームをつけたWebアプリケーションの入力をスプレッドシートに記入され、送信されるような実装にこの機能を使うことができます。

事例2.カスタム機能をスプレットシートのメニューに追加し、書き込みをする

3人で分担して作業することをイメージしました。誰かマネージメントする人がいるとします。

管理用のスプレッドシートで担当者を割り振りします。さらに情報を更新する際に誤った上書きや作業のバッティングが怖いので、担当者ごとの作業用スプレッドシートを作ることにします。

これはよくあるシチュエーションだと思いますが、作業の振り分け、進捗の取りまとめと煩雑になり、転記作業などの定型業務が増えてしまうこともあります。

転記(例)

このような状況を効率化するためにGoogle Apps Scriptを使ったプロトタイプを作成しました。複数のスプレッドシートのとりまとめが繰り返されるような場合はとても便利な方法になります。

今回のシナリオは、管理者用スプレッドシートに2つカスタムメニューを設置し、メニューをクリックするだけで担当者用スプレッドシートにタスクが更新されます。もう一つのカスタムメニューをクリックすると、担当者用スプレッドシートを管理者用スプレッドシートにマージします。

Google Apps Scriptを活用することで、スプレッドシートにカスタムメニューを追加することができ、カスタムメニューのメニューをクリックするだけで、複数のスプレッドシートへ書き込みができる事例を紹介しました。

今回の想定したユースケースでは、業務のアサイン、進捗の取りまとめがボタン一つで可能になるので、便利になりました。Google Apps Scriptは転記などが発生するようなワークフローでは活用できるでしょう。

FLOURISHでは、お客様のビジネスが将来を見据えた方法で成長できるようGoogle Apps Script 開発を支援します。

Google Apps Scriptを使って自動化や開発ができるの?

Google Workspace と Microsoft Office 365 は、中小企業と大企業の両方にとって市場で入手可能な 2 つの最高の生産性ソリューションです。どちらを選択するかは、ニーズによって異なりますが、Google Workspace のシームレスなコラボレーション機能は大きな魅力です。

Googleを利用しているユーザーは、「Apps Script」と呼ばれるスクリプトを使用すると、Google スプレッドシートやGoogle Docsなど各Appにアドオンを追加したり、ビジネスや組織に固有のプロセスを自動化したり、ビジネスに必要なWebアプリケーションを開発したりできます。

今回は、Google Apps Scriptを使った自動化や開発に関して紹介します。

Google Apps Scriptで何ができるの?

Google Apps Script は、Google スプレッドシート、Google ドキュメント、Google フォームなどのさまざまな Google Workspace アプリケーションを拡張および自動化できる強力なツールです。

あまり知られていませんが、非常に便利な機能の 1 つは、Google サービスや外部 API と対話できる Web アプリケーションを作成する機能です。データ量が少ない場合、Google Apps スクリプトはアプリケーションを作成するのに非常に適しています。

Apps Script は、多くの可能性を備えた多用途ツールです。Apps Script でできることには次のようなものがあります。

  • カスタム メニュー、ダイアログ、サイドバーを Google ドキュメント、フォーム、スプレッドシートに追加し、Google スプレッドシートのカスタム関数を作成する
  • AdSense、アナリティクス、カレンダー、ドライブ、Gmail、マップなどの他の Google サービスと対話する
  • Google Chat を使ったワークフローを統合する
  • Web アプリを開発する

Google Apps Scriptの料金と制限

Gmail の無料版を使用している場合、または有料版を使用している場合、Google Apps Scriptは無料です。

会社がGoogle Workspace を使用している場合も、Google Apps Scriptも無料です。

Google Apps スクリプトの使用に追加料金はかかりませんし、ホスティングなどについて心配する必要はありません。

注意すべき点は一つ

すべてのユーザーが使用できるプロセッサには制限があるため、Google Apps Scriptにそれほど多くの時間をかけることはできません。

関数を実行し、特定のタスクを実行する時間に制限があります。

例えば、完了までに 5 分かかる場合、そのタスクを 2 時間実行し続けることはできません。

なぜなら、5 分かかる場合、あなたが無料ユーザーだとすると、無料ユーザーは 90 分しか利用できないからです。

例えば、完了までに 5 分かかるタスクを1日に18 回を実行することはできます。18 回実行すると 90 分になり、1 日の割り当てが終了します。

有料の Google Workspace を利用している場合は 6 時間です。

機能一般ユーザー向け(gmail.com など)および G Suite 無料版Google Workspace アカウント
トリガーの合計実行時間90 分 / 日6 時間 / 日
トリガー1 ユーザー / スクリプトあたり 20 件1 ユーザー / スクリプトあたり 20 件

複雑なソリューションやオーダーメイドのソリューションが必要な場合は、より自由度の高い従来の開発プラットフォームを使用した方が、プロジェクトに適しています。

日常業務の効率化や、Webアプリの開発などでは十分なことが多いのではないでしょうか。

FLOURISHでは、お客様のビジネスが将来を見据えた方法で成長できるようGoogle Apps Script 開発を支援します。

Pythonの仮想環境を構築するための適切な選択。venv? Anaconda?

Pythonは、データ サイエンス、機械学習、Web 開発などで使用されている多用途な言語です。Pythonと依存関係の管理に不可欠な仮想環境は、重要な役割を果たします。適切に管理されていない Python 環境では、依存関係の競合が発生し、アプリケーションの構築が妨げられる可能性があります。 今回は、Pythonの仮想環境を構築する方法とPythonの多用途性ついて紹介します。

仮想環境とは?

プロジェクトごとに異なるPythonバージョンやライブラリを使用するために、Python開発環境を分離する方法です。

仮想環境が必要な理由

仮想環境を作らずに直接にライブラリーやパッケージをインスールして使っても、単純な Python スクリプト プロジェクトではうまく機能します。 しかし、Python ライブラリ、API、SDK(Software Development Kit)の構築などの複雑な開発プロジェクトでは、複数のファイル、複数のパッケージの依存関係を扱うことになります。

例えば、プロジェクト A では Python 3.7 と TensorFlow 1.14 を使用し、プロジェクト B では Python 3.9 と PyTorch 1.8 を使用したい場合、仮想環境を使用することで、プロジェクトごとに異なる環境を構築できます。

互換性のないバージョンが存在すると、依存関係の競合が発生し、エラーが発生する可能性があります。そういったことを回避するために、Python プロジェクトを開発する際、プロジェクトごとに異なる Python バージョンやライブラリを使用したいと考えます。

プロジェクト用に Python 開発環境を分離し、Python のパッケージと依存関係を管理するには、仮想環境が不可欠なのです。

仮想環境とは

仮想環境では、Python プロジェクトを分離することで、依存関係、バージョン、権限の競合を防ぎます。

仮想環境の必要性まとめ

  • 依存関係の競合を回避し、エラーを防ぐ
  • プロジェクトごとに必要なライブラリを管理
  • Python環境をバージョンごとに整理

仮想環境を構築する方法、2 つの人気のあるツールvenv と Anacondaを比較

Python には、仮想環境を作成および使用するための複数の方法が用意されています。 仮想環境を作成するための 2 つの一般的なツールは、venvとAnaconda。まずは人気のある2つのツールを比較します。

venv

venv は Python 3.3 以降に標準搭載されている仮想環境ツールです。軽量で、使い方が簡単です。(※Python 2系には使えません)

以下のようなコマンドを叩くと仮想環境が作れます。Pythonもインストールされます。

python3 -m venv myenv

次に環境をアクティブ化するには、以下のようにします。

source myenv/bin/activate もしくは . myenv/bin/activate

無効化するには、deactivate と入力するだけです。

Conda

Conda は Python だけでなく、Ruby、Scala、R、C/C++ などの言語をサポートする 仮想環境を管理するツールです。Miniconda や Anaconda で使用したデータサイエンスに使いやすいです。 Conda はデータサイエンティストに好まれており、Anaconda と Miniconda の両方にプリインストールされています。

Anaconda を使用して仮想環境

AnacondaはPythonの仮想環境を構築するためのツールです。PythonやFlaskなどのパッケージをまとめて管理することができます。(Pythonインタプリタ、NumPy、SciPy、Matplotlib などのデータ サイエンスで活用するライブラリ、Jupyter Notebook などがセットアップされています。) GUIによる操作であるAnaconda Navigatorで操作もできることから初心者にも使いやすい仕様です。

Anaconda を使用して仮想環境を作成するには以下の流れです。

Anaconda をWebサイトからインストールする

以下のようなコマンドを叩くと仮想環境が作れます。

conda create --name myenv

Condaはユーザーのホームディレクトリに .conda/envs という名前のフォルダを作成し、その中に仮想環境を作成します。

環境をアクティブ化するには、次を使用します。

conda activate myenv

無効にするには、 conda deactivateを使用します。

データサイエンスをするのなら、データサイエンス関連の主要パッケージがひとまとめになったパッケージである Anaconda を使うのが便利です。

Anacondaのデメリットとしては、インストールファイルが大きい:ことです。約500MBとファイルが大きく、動作が重いことがデメリットとして挙げられます。

HomebrewとAnacondaが干渉するみたいなので注意しましょう。また、Anaconda は最初から Mac に入っている python と競合するので pyenv と virtualenvを使ってインストールしてもいいかもしれません。

minicondaを使用して仮想環境

minicondaをWebサイトからインストールする

以下のようなコマンドを叩くと仮想環境が作れます。

conda create --name env_name python=3.x

conda activate env_name

Minicondaはインストールフォルダ内に envs という名前のフォルダを作成し、その中に仮想環境を作成します。

Homebrewで管理したい場合は、minicondaをインストールすることをおすすめします。Minicondaは軽量で、デフォルトで多くのパッケージをインストールしません。

venv と Anaconda: どちらを選択するべきですか?

最も人気のありそうなvenvとconda(Anaconda)のどちらを利用するか迷った際に考えるべきポイントは下記になるかと思います。

  • 最小限の環境を構築する場合は、venvです。
  • データ サイエンスのプロジェクトで、さまざまな事前インストール済みパッケージが必要な場合は、Anaconda が適しています。
  • Python を初めて使用し、GUI を好む場合は、Anaconda の Navigator が役立ちます。

Pythonの環境構築の仮想環境によく使われる3つの方法

Virtualenv

Virtualenv も人気があり、初心者に優しい Python 仮想環境です。

venv と virtualenv は機能的には似ていますが、venv は Python 3 の組み込みモジュールであるのに対し、virtualenv は外部ライブラリです。virtualenvの一部機能がvenvとして切り出されて組み込みモジュールとなりました。 軽量です。

virtualenvはPython 2系とPython 3系の両方をサポートしています。Python 3.3以降では、venvが推奨されますが、Python 2を使用する場合は、virtualenvを使用することが必要となります。

pip install virtualenv

python<version> -m venv <virtual-environment-name>

シンプルで使いやすい仮想環境を求める場合はvenv、高度な機能が必要な場合はvirtualenvを選択するのがおすすめです。

Pyenv/ pyenv-virtualenv

pyenv は、マシン上の複数の Python バージョンを管理できるツールです。 pyenvは、macOS に複数の Python バージョンをインストールして管理しますが、Homebrew でインストールすることが勧められています。

まずはHomebrew から pyenv をインストールします。

1. ターミナルで以下のコマンドを実行

brew install pyenv

2. ~/.zshrc ファイルを開く

vim ~/.zshrc

3. ファイル末尾に以下の行を追加

export PYENV_ROOT="$HOME/.pyenv"

export PATH="$PYENV_ROOT/bin:$PATH"

eval "$(pyenv init -)"

4. ファイルを保存して閉じる

:wq

5. ターミナルを再起動

source ~/.zshrc

必要なパッケージとPython3.11のインストール。

brew install xz

pyenv install 3.11

pyenv global 3.11.8
  • globalはシステム全体で使うバージョンを変えたいときに使用。
  • localはプロジェクトごとで違うバージョンを使いたいときに使用。

pyenv versionsコマンドで、バージョンが切り替わっているか確認しましょう。

Windows を使用している場合はpyenv-winを使用することができます。

pyenv-virtualenv プラグインを使用すると、pyenv で簡単に仮想環境を作成できます。pyenv-virtualenv は、pyenv のプラグインであり、仮想環境 を簡単に作成、管理、切り替えるための機能を追加します。より上級者向けになります。

人気のあるPythonの仮想環境の構築方法の動画

venv、virtualenv、miniconda、Anaconda、pyenvのそれぞれ仮想環境の構築を動画にしました。

そのほかのPythonの仮想環境

Poetry

Poetryは比較的新しいツールであり、pythonのパッケージ管理ツールです。 Poetryはプロジェクトごとに仮想環境を自動生成し、プロジェクトに必要なライブラリのみをインストールします。 プロジェクトに必要なライブラリのバージョンを固定し、環境間で依存関係の差分が発生しないようにします。

Virtualenvwrapper

virtualenvwrapper は、仮想環境を管理するための追加機能を提供する virtualenv の拡張機能です。

Pipenv

仮想環境とパッケージ管理を組み合わせたツールです。プロジェクトごとに新しい仮想環境を作成し、必要なパッケージを Pipfile から自動的にインストールします。プロジェクトの依存関係を管理するプロセスを簡素化するように設計されており、virtualenv よりもシンプルなインターフェイスを提供します。

Pyvenv

Python 3.6 以降のバージョンで非推奨になったツールで、venv に似ています。venv モジュールに置き換えられたため、使用することはお勧めできません。

用途で考える仮想環境

最適なpythonの仮想環境の構築方法の選択は何でしょうか。用途から考えると下記になります。

  • データ分析: Anaconda または conda
  • アプリ開発: venv、conda、pyenv、virtualenv

データ分析: Anaconda は、データ分析に必要なライブラリがプリインストールされているため、インストールの手間が省けます。conda を使用すれば、Anaconda だけでなく、他の Python バージョンやライブラリもインストールできます。

アプリ開発: アプリ開発では、プロジェクトごとに必要なライブラリが異なるため、venv、conda、pyenv、virtualenv のいずれでもニーズに合わせて選択できます。

データ分析では、Anaconda または conda を使用するのがおすすめです。アプリ開発では、venv、conda、pyenv、virtualenv のいずれでもニーズに合わせて選択できます。

レベル別と用途別にまとめてみた表は下記になります。