数字营销新闻资讯

Google & Facebook 大咖实战经验分享,带你玩转外贸营销

使用Python中的Google趋势建立SEO季节性预测

这是使用Python和一些非常基本的Excel函数来建立SEO交通目标的方法。
路线图的季节已经来临,如果您是像我这样的内部搜索引擎优化,那意味着是时候确定您的SEO渠道20财年目标了。为了设定切合实际的目标,我们首先需要了解今年我们可以合理地从SEO吸引多少流量。为了弄清楚这一点,我们必须首先回答几个问题:
我们目前从SEO开出多少流量?如果仅考虑季节性因素,那么今年我们将吸引多少流量?我们对路线图上的项目有何影响?本文将帮助回答其中一些问题,并将其结合在一起,以使用Python和一些非常基本的Excel函数设置您的SEO交通目标。

我们目前从SEO开出多少流量?
从您的分析平台(Google Analytics(分析)或Adobe Analytics)导出过去一年的每月流量。随意使用您认为最佳的指标。这可以是用户,访问,会话,入口,唯一身份访问者或您使用的其他指标。我建议使用最能表明搜索行为的指标。我个人认为,度量标准是来自SEO的条目访问/进入,因为用户可以通过搜索多次输入,而我们希望捕获每个条目。随意使用任何度量标准是您的真实来源。

如果没有任何变化,我们将带来多少流量?
这个问题通常最难回答。过去,我看到有些人使用往年的流量模式来预测季节性,但是如果您处在任何增长轨迹上(希望如此),这将对您不起作用。我建议使用其他解决方案:使用Google趋势数据构建的季节性指数。

Google趋势包含有关搜索需求的大量信息。Google Search Console提供了大量有关搜索的信息,这些信息可以增加网站的访问量。将两者连接起来,看看魔术发生了。

第1步:导出Google Search Console数据
导航到Search Console中的“搜索效果”标签。更改日期范围以包括上一整年。例如:2019年1月1日至2019年12月31日。接下来,按点击对查询进行排序,使效果最佳的关键字位于顶部。最后,将前1000个查询导出到.csv文件。注意:如果您想更全面地了解,可以使用Google Data Studio或Search Console API导出网站的所有查询。

第2步:收集Google趋势数据
季节性指数是一种预测工具,用于确定特定产品的需求,或者在这种情况下,可以确定特定年份在特定市场中的搜索字词。Google趋势是一个功能强大的工具,可以利用Google搜索收集的数据来量化特定搜索词随时间的兴趣。我们将使用过去5年的Google趋势兴趣数据来预测未来一年(一周)内的未来兴趣。由于我们希望该指标能够表明网站流量的季节性变化,因此我们将其作为在步骤1中从Search Console导出的网站中效果最好的关键字的基础。使用Python中的PyTrends进行索引,以消除尽可能多的手动工作。PyTrends是Google趋势的伪API(Google不支持),允许我们以自动化方式提取大量关键字的数据。我已经设置了一个可用于本示例的Google Colab笔记本。首先,我们将安装所需的模块以运行我们的代码。接下来,将模块导入到我们的Colab笔记本中。我们将需要两个函数来创建季节性指数。第一个是getTrends,它将一个关键字和一个字典对象作为参数。此函数将调用Google Trends API,并使用日期作为键将数据追加到存储在字典对象中的列表中。第二个函数average,将用于计算字典中每个日期的平均利息。接下来,我们将从Search Console导入关键字数据集。这在Google Colab中可能会非常令人困惑,因此我尝试使其尽可能简单。按着这些次序:

将您的CSV文件上传到Google云端硬盘
右键单击文件,单击“获取共享链接”并复制链接。
将代码中的链接替换为文件的链接。
运行代码。首次运行时,系统会要求您导航到授权页面并使用Google帐户登录,以授权访问Google云端硬盘。然后,它将为您提供授权码。复制代码并将其粘贴到运行代码后出现的框中,然后按Enter。
然后,我们将您的CSV文件转换为Pandas DataFrame。

一旦我们引进了我们的关键字数据,我们将查询列转换为称为列表对象的关键字。我们将创建一个名为data的空字典对象。我们将在这里存储Google趋势数据。最后,我们将遍历关键字列表以获取每个关键字的Google趋势数据,并将其存储在数据字典中。

快速说明:由于PyTrends不是官方或Google支持的API,因此在此步骤中您可能会遇到麻烦。我发现最好将关键字列表限制为前250个查询。您可以采取的其他一些步骤(在本文中我将不做介绍)是使用代理或在循环中添加一些随机延迟以减少被Google阻止的可能性。收集完所有Google趋势数据后,我们将计算一段时间内的平均兴趣。此时,使用时间序列绘制结果可能会有所帮助。我们将使用matplotlib进行此操作。使用此步骤来验证数据是否符合您的期望。由于在此示例中,我们使用NFL团队作为关键字,因此您会注意到兴趣在NFL季节达到顶峰,而在淡季则下降。这就是我们期望发生的事情。现在,创建季节性指数的最后一步是按月对数据进行分组并将其转换为索引。这可以通过计算全年的平均利息并将每个月的利息除以平均利息来完成。在熊猫中,可以通过计算兴趣均值,然后用均值除以序列中的每个项目来完成。

步骤3:将所有内容放到Google表格中
现在我们有了季节性指数,是时候使用它了。这可以在Python中完成,但是由于我们希望能够更改投影模型的某些输入,因此我认为使用Google表格或Excel最简单。我已经创建了这个Google表格作为示例。我们将首先使用季节性指数创建一个电子表格,然后计算每个月的变化百分比。我们使用以下函数计算月度百分比变化:为了计算一月份的百分比,您需要修改此功能。使用以下公式计算变化百分比。我们还将为“增长百分比”创建一列。这就是我们将用来建模今年计划完成的项目所推动的增长的模型。现在将值设置为0,我们稍后再讲。在新标签中,我们将在两个列中按月添加过去一年的访问量:季节性预测和增长预测。我们还将继续在“月份”列中包括今年。

使用季节性预测流量
现在,我们将使用季节性指数来根据12月的流量来预测每月流量。此计算使用我们工作表中“季节性”选项卡中的增长率百分比,如下所示:然后,我们可以将该函数向下拖动,以使其填充一年中的其余月份。如果以今年的总和,我们将得出2020年的预计年流量。

使用增长和季节性预测流量
接下来,我们将添加我们希望今年完成的项目的预期增长。重复上述步骤,然后从“季节性”选项卡中添加“增长百分比”列。假设我们在三月份有一个项目,我们预计它将导致流量增加10%。我们导航到“季节性”选项卡,并将三月份的“增长百分比”列中的值从0更改为0.1。现在,这将更新“流量”标签中的“增长预测”,以反映3月份增长10%。将“季节性”列中“三月”的值与“增长”列中的值进行比较。另外,请注意,三月之后的每个月的值也已增加。这就是该模型的价值。现在我们可以在时间序列图上绘制这种差异。考虑到该项目的影响,我们还可以计算2020年的预计总流量,并将其与基于季节性的预计流量进行比较。这使您在三月份完成此项目的总价值。

根据此模型和交通数据,三月份完成此项目将使该站点的访问量增加33,714。然后可以进一步量化。假设我们的SEO流量转化率约为2%。这意味着这项更改将在今年带来674次转换。我们还假设我们的AOV(平均订单价值)为80美元。这意味着这一变化可能会推动今年的收入增加53,920美元。该工具为进行这些类型的计算奠定了基础。数学绝对完美吗?这不是一个长期的尝试,但是它至少为您提供了一些优先事项,并可以帮助您讲述SEO路线图上的项目为何如此重要的故事。如果流量预测不够,还可以选择谷歌代理商开户,用谷歌竞价广告进行补充。