SEO和數字營銷的數據科學:初學者的建議指南

已發表: 2021-12-07

由於我們的大部分工作都圍繞數據展開,並且隨著數據科學領域變得越來越大,初學者也越來越容易獲得,我想分享一些關於如何進入該領域以增強您的 SEO 和營銷的想法技能一般。

什麼是數據科學?

用於概述該領域的一個非常著名的圖表是 Drew Conway 的維恩圖,將數據科學顯示為統計、黑客(一般高級編程技能,不一定穿透網絡並造成傷害)和實質性的交集專業知識或“領域知識”:


資料來源:oreilly.com

當我開始學習時,我很快意識到這正是我們已經在做的事情。 唯一的區別是我是用更基本的手動工具來做的。
如果您查看圖表,您會很容易地看到您可能已經這樣做了。 您使用計算機(黑客技能),分析數據(統計數據),使用您在 SEO(或您關注的任何專業)方面的實質性專業知識來解決實際問題。
您當前的“編程語言”可能是電子表格(Excel、Google 表格等),並且您很可能使用 Powerpoint 或類似的東西來交流想法。 讓我們稍微擴展一下這些元素。

  • 領域知識:讓我們從您的主要優勢開始,因為您已經了解您的專業領域。 請記住,這是成為數據科學家的重要組成部分,您可以在這裡建立和保護您的知識。 幾個月前,我正在和我的一個朋友討論分析爬網數據集。 他是一名物理學家,從事量子計算機方面的博士後研究。 他的數學和統計知識和技能遠超我,他真的比我更懂得如何分析數據。 一個問題。 他不知道什麼是“404”(或者我們為什麼要關心“301”)。 因此,憑藉他所有的數學知識,他無法理解爬網數據集中的“狀態”列。 自然地,他不知道如何處理這些數據,與誰交談,以及根據這些狀態代碼構建什麼策略(或者是否到別處尋找)。 你和我都知道如何處理它們,或者至少我們知道如果我們想深入挖掘,還能去哪裡尋找。
  • 數學和統計:如果您使用 Excel 來獲取數據樣本的平均值,那麼您就是在使用統計。 平均值是描述數據樣本某個方面的統計量。 更高級的統計數據將有助於理解您的數據。 這也很重要,我不是這方面的專家。 您熟悉的統計分佈越多,您對如何分析數據的想法就越多。 您了解的基本主題越多,您就越能更好地制定假設,並對數據集做出準確的陳述。
  • 編程技巧:我將在下面更詳細地討論這一點,但主要是在這裡你可以靈活地告訴計算機完全按照你的意願去做,而不是被困在易於使用但略有限制的地方工具。 這是您獲取、重塑和清理數據的主要方式,無論您想要哪種方式,都為您與數據進行開放式和靈活的“對話”鋪平了道路。

現在讓我們來看看我們通常在數據科學中做什麼。

數據科學週期

一個典型的數據科學項目甚至任務,通常看起來像這樣:


資料來源:r4ds.had.co.nz

我還強烈推薦閱讀 Hadley Wickham 和 Garrett Grolemund 的這本書,它是對數據科學的一個很好的介紹。 它是用 R 編程語言的示例編寫的,但是如果您只了解 Python,則可以很容易地理解這些概念和代碼。

正如您在圖中看到的,我們首先需要以某種方式導入我們的數據,對其進行整理,然後開始處理轉換、可視化和建模的內部循環。 之後,我們與其他人交流結果。
這些步驟可以從非常簡單到非常複雜。 例如,“導入”步驟可能就像讀取 CSV 文件一樣簡單,並且在某些情況下可能包含一個非常複雜的網絡抓取項目來獲取數據。 該過程的一些要素本身就是成熟的專業。

我們可以輕鬆地將其映射到我們知道的一些熟悉的過程。 例如,您可以通過下載其 robots.txt 和 XML 站點地圖來獲取有關網站的一些元數據。 然後,您可能會爬網並可能還會獲取一些有關 SERP 位置的數據,或鏈接數據。 現在您有一些數據集,您可能想要合併一些表,估算一些額外的數據並開始探索/理解。 可視化數據可以揭示隱藏的模式,或者幫助您了解正在發生的事情,或者可能會引發更多問題。 您可能還想使用一些基本統計數據或機器學習模型對數據進行建模,並希望獲得一些見解。 當然,您需要將發現和問題傳達給項目中的其他利益相關者。
一旦您對每個流程可用的各種工具足夠熟悉,您就可以開始構建您自己的特定於某個網站的自定義管道,因為每個業務都是獨一無二的,並且有一組特殊的要求。 最終,您將開始尋找模式,而不必為類似的項目/網站重做整個工作。

在此過程中,每個元素都有許多可用的工具和庫,您選擇哪種工具(並投入時間學習)可能會讓人不知所措。 讓我們看一下我認為在選擇我使用的工具時有用的一種可能方法。

工具的選擇和權衡(吃披薩的 3 種方式)

您應該在日常處理數據的工作中使用 excel,還是值得學習 Python 的痛苦?
您是使用 Power BI 之類的東西進行可視化更好,還是應該投資學習圖形語法,並學習如何使用實現它的庫?
您會通過使用 R 或 Python 構建自己的交互式儀表板來產生更好的工作,還是應該只使用 Google Data Studio?

讓我們首先探討在不同抽象級別選擇各種工具所涉及的權衡。 這是我關於使用 Plotly 和 Dash 構建交互式儀表板和數據應用程序的書中的摘錄,我發現這種方法很有用:

考慮吃披薩的三種不同方法:

  • 訂購方法:您致電餐廳並訂購比薩餅。 半小時後到你家門口,你開始吃。
  • 超市方法:你去超市,買麵團、奶酪、蔬菜和所有其他配料。 然後你自己做披薩。
  • 農場方法:你在後院種西紅柿。 你養牛,擠奶,然後把牛奶變成奶酪,等等。

隨著我們進入更高級別的界面,朝著排序方法,所需的知識量大大減少。 別人負責,質量由信譽和競爭的市場力量來檢驗。

我們為此付出的代價是減少了自由和選擇。 每家餐廳都有一組可供選擇的選項,您必須從這些選項中進行選擇。

再往下走,所需的知識量就會增加,我們必須處理更多的複雜性,我們對結果承擔更多的責任,並且需要更多的時間。 我們在這裡獲得的是更多的自由和權力,可以按照我們想要的方式定制我們的結果。 成本也是一個主要好處,但僅限於足夠大的規模。 如果您今天只想吃披薩,那麼訂購它可能更便宜。 但是,如果您計劃每天都有一個,那麼如果您自己做,您可以期待節省大量成本。

這些是您在選擇使用和學習哪些工具時必須做出的選擇。 使用像 R 或 Python 這樣的編程語言需要更多的工作,並且比 Excel 更困難,這樣做的好處是讓你更有效率和更強大。

選擇對於每個工具或過程也很重要。 例如,您可能使用高級且易於使用的爬蟲來收集有關網站的數據,但您可能更喜歡使用編程語言來可視化數據,並提供所有可用選項。 為正確的流程選擇正確的工具取決於您的需求,上述權衡可能有助於做出選擇。 這也有望幫助解決您是否(或多少)想要學習 Python 或 R 的問題。

讓我們把這個問題更進一步,看看為什麼學習 Python 進行 SEO 可能不是正確的關鍵字。

為什麼“python for seo”具有誤導性

您想成為一名出色的博主還是想學習 WordPress?
你想成為一名平面設計師還是你的目標是學習 Photoshop?
您是否有興趣通過將您的數據技能提升到一個新的水平來提升您的 SEO 職業,或者您想學習 Python?

在麻省理工學院計算機科學課程第一講的前五分鐘,Harold Abelson 教授在課程開始時告訴學生為什麼“計算機科學”對於他們將要學習的學科來說是一個如此糟糕的名字。 我覺得看講座的前五分鐘很有趣:

當某個領域剛剛起步,而您還不是很了解它時,很容易將您所做工作的本質與您使用的工具相混淆。 ——哈羅德·阿貝爾森

我們正在努力改善我們的在線形象和結果,我們所做的很多工作都是基於對數據的理解、可視化、操作和處理,無論使用何種工具,這都是我們的重點。 數據科學是具有執行此操作的智能框架以及許多工具來實現我們想做的事情的領域。 Python 可能是您選擇的編程語言(工具),學好它絕對很重要。 在我們的案例中,關注“你正在做的事情的本質”、處理和分析數據也同樣重要,如果不是更重要的話。
主要關注點應該是上面討論的過程(導入、整理、可視化等),而不是選擇的編程語言。 或者更好的是,如何使用該編程語言來完成您的任務,而不是簡單地學習一門編程語言。

如果我還是要學習 Python,誰會關心所有這些理論區別?

讓我們看看如果您專注於學習該工具而不是您所做工作的本質,可能會發生什麼。 在這裡,我們比較搜索“學習 wordpress”(工具)與“學習博客”(我們想做的事情):

該圖顯示了在頂部教授關鍵字的書籍或課程下的可能主題。 中間的交叉區域顯示了兩種類型的課程/書籍中可能出現的主題。

如果您專注於該工具,那麼您無疑最終將不得不學習您並不真正需要的東西,尤其是作為初學者。 這些主題可能會讓您感到困惑和沮喪,尤其是在您沒有技術或編程背景的情況下。

您還將學習對成為一名優秀博主有用的東西(交叉區域中的主題)。 這些主題非常容易教授(如何創建博客文章),但不會告訴您為什麼應該寫博客、何時以及關於什麼。 這不是一本以工具為中心的書的錯誤,因為在學習工具時,學習如何創建博客文章並繼續前進就足夠了。
作為博客作者,您可能對博客的內容和原因更感興趣,而以工具為中心的書籍不會涵蓋這些內容。
顯然,諸如 SEO、尋找你的利基等戰略性和重要的事情不會被涵蓋,所以你會錯過非常重要的事情。

您可能不會在編程書籍中了解哪些數據科學主題?

正如我們所見,拿起 Python 或編程書籍可能意味著您想成為一名軟件工程師。 這些主題自然會針對這一目標。 如果您尋找一本數據科學書籍,您將獲得更適合分析數據的主題和工具。

我們可以以第一張圖(顯示數據科學的循環)為指導,主動搜索這些主題:“用python導入數據”、“用r整理數據”、“用python可視化數據”等。 讓我們更深入地了解這些主題並進一步探索它們:

進口

我們自然需要先獲取一些數據。 這可以是:

  • 我們計算機上的文件:最簡單的情況,您只需使用您選擇的編程語言打開文件。 重要的是要注意有許多不同的文件格式,並且您在打開/讀取文件時有許多選項。 例如,pandas 庫(Python 中必不可少的數據操作工具)中的 read_csv 函數在打開文件時有 50 個選項可供選擇。 它包含文件路徑、要選擇的列、要打開的行數、解釋日期時間對象、如何處理缺失值等等。 熟悉這些選項以及打開不同文件格式時的各種注意事項非常重要。 此外,pandas 有 19 個不同的函數,以 read_ 開頭,用於各種文件和數據格式。
  • 從在線工具導出:您可能對此很熟悉,在這裡您可以自定義數據,然後將其導出,之後您將在計算機上將其作為文件打開。
  • 獲取特定數據的 API 調用:這是較低級別的,更接近於上面提到的農場方法。 在這種情況下,您發送具有特定要求的請求並取回您想要的數據。 這裡的好處是您可以準確地自定義您想要獲得的內容,並以在線界面中可能不可用的方式對其進行格式化。 例如,在 Google Analytics(分析)中,您可以向正在分析的表格添加二級維度,但不能添加第三個維度。 您還受到可以導出的行數的限制。 API 為您提供了更大的靈活性,您還可以將某些調用自動化,使其定期發生,作為更大的數據收集/分析管道的一部分。
  • 爬取和抓取數據:您可能擁有自己喜歡的爬蟲,並且可能熟悉該過程。 這已經是一個靈活的過程,允許我們從頁面中提取自定義元素、僅抓取某些頁面等等。
  • 涉及自動化、自定義提取以及可能用於特殊用途的機器學習的方法組合。

一旦我們有了一些數據,我們就想進入下一個層次。

整齊的

“整潔”的數據集是以某種方式組織的數據集。 它也被稱為“長格式”數據。 如果您有興趣,R for Data Science 一書的第 12 章會更詳細地討論 tidy data 概念。
查看下面的三個表格並嘗試找出任何差異:


tidyr 包中的示例表。

您會發現這三個表包含完全相同的信息,但以不同的方式組織和呈現。 我們可以將病例和人口放在兩個單獨的列中(表 1),或者有一列告訴我們觀察結果是什麼(病例或人口),還有一個“計數”列來計算這些病例(表 2)。 在表 3 中,它們以比率顯示。

在處理數據時,您會發現不同的來源以不同的方式組織數據,並且您經常需要更改某些格式以便更好、更輕鬆地進行分析。 熟悉這些清理操作至關重要,R 中的 tidyr 包包含用於此目的的特殊工具。 如果你更喜歡 Python,你也可以使用 pandas,你可以查看一下 melt 和 pivot 函數。
一旦我們的數據採用某種格式,我們可能想要進一步操作它。

轉換

構建的另一個關鍵技能是能夠對正在使用的數據進行任何更改。 理想的情況是達到可以與數據進行對話的階段,並且能夠以任何您想提出非常具體的問題的方式進行切片和切塊,並希望獲得有趣的見解。 以下是一些您可能非常需要的最重要的轉換任務以及您可能感興趣的一些示例任務:

在獲取、整理並以所需格式放置我們的數據之後,最好將其可視化。

可視化

數據可視化是一個龐大的主題,其中一些子主題有整本書。 它是可以為我們的數據提供大量洞察力的東西之一,尤其是它使用直觀的視覺元素來傳達信息。 例如,條形圖中條形的相對高度會立即向我們顯示它們的相對數量。 顏色的強度、相對位置和許多其他視覺屬性很容易被讀者識別和理解。
一張好的圖表勝過一千個(關鍵)字!

由於數據可視化有許多主題需要討論,我將簡單分享一些可能有趣的示例。 如果您想要完整的詳細信息,其中幾個是此貧困數據儀表板的構建塊。

有時您可能只需要一個簡單的條形圖來比較值,其中條形可以垂直或水平顯示:

您可能有興趣探索某些國家,並通過查看它們在某些指標上的進展情況進行更深入的挖掘。 在這種情況下,您可能希望在同一個圖中顯示多個條形圖:

也可以通過在每個 X 軸位置放置多個條來比較多個觀察值的多個值,以下是執行此操作的主要方法:

顏色和色標的選擇:數據可視化的重要組成部分,如果操作正確,可以非常有效和直觀地傳達信息。

分類色標:用於表示分類數據。 顧名思義,這是顯示某個觀察屬於哪個類別的數據類型。 在這種情況下,我們希望顏色盡可能不同,以顯示類別中的明顯差異(特別是對於彼此相鄰顯示的視覺元素)。
以下示例使用分類色標來顯示每個國家/地區實施的政府系統。 將國家的顏色與顯示使用哪種政府系統的圖例聯繫起來非常容易。 這也稱為等值線圖:


資料來源:維基百科

有時我們想要可視化的數據是針對相同的度量標準的,並且每個國家(或任何其他類型的觀察)都落在最小值和最大值之間的連續統一體中的某個點上。 換句話說,我們想要可視化該指標的程度。
在這些情況下,我們需要找到一個連續(或連續)的色標。 在下面的示例中可以立即清楚地看到哪些國家更藍(因此獲得更多流量),我們可以直觀地了解國家之間的細微差別。

您的數據可能是連續的(如上面的交通地圖),但有關數字的重要一點可能是它們與某個點的偏離程度。 在這種情況下,發散色標很有用。

下圖顯示了淨人口增長率。 在這種情況下,首先要知道某個國家的增長率是正數還是負數是很有趣的。 或者,我們想知道每個國家離零有多遠(以及多遠)。 看一眼地圖,我們立即可以看到哪些國家的人口正在增長,哪些正在減少。 圖例還向我們展示了最大陽性率為 3.5%,最大陰性率為 -0.5%。 這也為我們提供了值範圍(正數和負數)的指示。


資料來源:Dashboardom.com

不幸的是,為這個尺度選擇的顏色並不理想,因為色盲的人可能無法正確區分紅色和綠色。 在選擇我們的色標時,這是一個非常重要的考慮因素。

散點圖是使用最廣泛、用途廣泛的繪圖類型之一。 點(或任何其他標記)的位置傳達了我們試圖傳達的數量。 除了位置之外,我們還可以使用顏色、大小和形狀等其他幾個視覺屬性來傳達更多信息。 下面的例子顯示了生活在 1.9 美元/天的人口百分比,我們可以清楚地看到點的水平距離。
我們還可以使用顏色為圖表添加新維度。 這對應於可視化來自同一數據集的第三列,在這種情況下顯示人口數據。
我們現在可以看到,就人口(美國)而言,最極端的情況是貧困水平指標非常低。 這增加了我們圖表的豐富性。 我們還可以使用大小和形狀來可視化我們數據集中的更多列。 不過,我們需要在豐富性和可讀性之間取得良好的平衡。

我們可能有興趣檢查人口和貧困水平之間是否存在關係,因此我們可以以稍微不同的方式可視化相同的數據集,看看是否存在這種關係:

我們在人口中有一個異常值,大約為 1.35B,這意味著我們在圖表中有很多空白,這也意味著許多值被壓縮在一個非常小的區域中。 我們也有許多重疊的點,這使得很難發現任何差異或趨勢。
下圖包含相同的信息,但使用兩種技術進行了不同的可視化:

  1. 對數刻度:我們通常會看到加法刻度的數據。 換句話說,軸(X 或 Y)上的每個點都表示添加了一定數量的可視化數據。 我們也可以有乘法尺度,在這種情況下,對於 X 軸上的每個新點,我們乘以(在本例中乘以 10)。 這允許點分散,我們需要考慮倍數而不是加法,就像我們在上一張圖表中所做的那樣。
  2. 使用不同的標記(更大的空圓圈) :為我們的標記選擇不同的形狀解決了“過度繪圖”的問題,即我們可能在同一位置有多個點相互重疊,這使得甚至很難看到我們有多少分。

我們現在可以看到,在 1000 萬大關附近有一個國家集群,以及其他較小的集群。

正如我所提到的,還有更多類型的字符和可視化選項,以及有關該主題的整本書。 我希望這能給你一些有趣的想法來進行實驗。

抓取數據³

通過與其他數據集的無縫連接來擴展您的分析。 根據來自您的 CRM、監控解決方案或任何其他來源的反向鏈接、SEO 流量、排名和自定義數據集的數據分析您的 SEO 策略。
學到更多

模型

我們需要簡化我們的數據,找到模式,做出預測,或者只是更好地理解它。 這是另一個大主題,範圍可以從簡單地獲取一些匯總統計數據(平均值、中位數、標準差等),到可視化我們的數據建模,使用總結或發現趨勢的模型,再到使用更複雜的技術來獲得我們數據的數學公式。 我們還可以使用機器學習來幫助我們在數據中發現更多見解。
同樣,這不是對該主題的完整討論,但我想分享幾個示例,您可能會使用一些機器學習技術來幫助您。

在爬網數據集中,我試圖了解更多關於 404 頁面的信息,以及是否能發現一些關於它們的信息。 我的第一次嘗試是檢查頁面大小與其狀態碼之間是否存在相關性,並且存在——幾乎完美的相關性!
幾分鐘後,我感覺自己像個天才,很快就回到了地球。
404 頁面都處於非常緊湊的頁面大小範圍內,幾乎所有具有一定千字節數的頁面都有 404 狀態代碼。 然後我意識到,根據定義,404 頁面上除了“404 錯誤頁面”之外沒有任何內容! 這就是為什麼他們有相同的大小。

然後我決定檢查內容是否可以告訴我有關狀態代碼的信息,因此我將 URL 拆分為它們的元素,並使用 sklearn 運行決策樹分類器。 這基本上是一種產生決策樹的技術,遵循它的規則可以引導我們學習如何找到我們的目標,在這種情況下是 404 頁。
在下面的決策樹中,每個框中的第一行顯示要遵循或檢查的規則,“samples”行是在此框中找到的觀察數,“class”行告訴我們當前觀察的類別,在這種情況下,它的狀態碼是 200 還是 404。
更多細節我就不說了,而且我知道如果你不熟悉決策樹可能不太清楚,如果你有興趣可以探索原始爬取數據集和分析代碼。
基本上,決策樹發現的是如何使用 URL 的目錄結構找到幾乎所有的 404 頁面。 如您所見,我們找到了 3,617 個 URL,僅通過檢查 URL 的第二個目錄是否為“/dev/”(頂部第二行中的第一個淺藍色框)。 所以現在我們知道如何定位我們的 404,而且似乎它們幾乎都在站點的“/dev/”部分。 這絕對是一個巨大的節省時間。 想像一下,手動遍歷所有可能的 URL 結構和組合以找到此規則。
我們仍然沒有完整的圖片以及為什麼會發生這種情況,這可以進一步研究,但至少我們現在很容易找到這些 URL。

您可能有興趣使用的另一種技術是 KMeans 聚類,它將數據點分組到不同的組/集群中。 這是一種“無監督學習”技術,算法幫助我們發現我們不知道存在的模式。

想像一下,你有一堆數字,比如說國家的人口,你想把它們分成兩組,大的和小的。 你會怎麼做? 你會在哪裡畫線?
這與獲得前十個國家或前 X% 的國家不同。 這將非常容易,我們可以按人口對國家進行排序,並根據需要獲得前 X 個國家。
我們想要將它們相對於該數據集分為“大”和“小”,並假設我們對國家人口一無所知。
這可以進一步擴展到嘗試將國家分為三類:小型、中型和大型。 如果我們想要五個、六個或更多組,手動完成這將變得更加困難。
請注意,我們不知道每個組中最終有多少國家,因為我們不要求排名前 X 的國家。 分成兩個集群,我們可以看到我們在這個大集團中只有兩個國家:中國和印度。 這很直觀,因為這兩個國家的平均人口與所有其他國家都相距甚遠。 這組國家有自己的平均值,並且其國家之間的距離比另一組國家更接近:

國家按人口分為兩組

就人口而言,第三大國家(美國約 3.3 億)與所有其他國家(包括擁有 100 萬人口的國家)歸為一類。 那是因為 330M 比 13 億更接近 1M。 如果我們要求三個集群,我們會得到不同的畫面:

國家按人口分為三組

如果我們要求四個集群,這就是國家的集群方式:

國家按人口分為四組

資料來源:pivotdata.org(“集群國家”選項卡)

在這種情況下,這是僅使用一個維度(人口)進行聚類,您還可以添加更多維度,並查看國家的最終結果。
還有許多其他技術和工具,這些只是一些希望有趣和實用的示例。

現在我們準備好與我們的聽眾交流我們的發現。

交流

在我們在前面的步驟中完成所有工作之後,我們最終需要將我們的發現傳達給其他項目利益相關者。
數據科學中最重要的工具之一是交互式筆記本。 Jupyter notebook 是使用最廣泛的,幾乎支持所有編程語言,您可能更喜歡使用 RStudio 的特殊 notebook 格式,它的工作方式相同。
主要思想是將數據、代碼、敘述和可視化放在一個地方,以便其他人可以審核它們。 重要的是要展示你是如何得出這些結論和建議的,以提高透明度和可重複性。 其他人應該能夠運行相同的代碼並獲得相同的結果。
另一個重要原因是其他人(包括“未來的你”)能夠進一步分析,並在你所做的初始工作的基礎上進行改進,並以新的方式擴展它。
當然,這假設觀眾對代碼感到滿意,並且他們甚至關心它!
您還可以選擇將您的筆記本導出為 HTML(和其他幾種格式),不包括代碼,這樣您最終會得到一個用戶友好的報告,同時保留完整的代碼以重現相同的分析和結果。

通信的一個重要元素是數據可視化,上面也簡要介紹了這一點。
更好的是交互式數據可視化,在這種情況下,您允許您的受眾選擇值,並查看圖表和指標的各種組合以進一步探索數據。
以下是我創建的一些儀表板和數據應用程序(其中一些可能需要幾秒鐘才能加載),以便讓您了解可以做什麼。
最終,您還可以為您的項目創建自定義應用程序,以滿足特殊需求和要求,這是另一組您可能感興趣的 SEO 和營銷應用程序。

我們完成了數據科學週期中的主要步驟,現在讓我們探索“學習 python”的另一個好處。

Python 是為了自動化和生產力:真實但不完整

在我看來,人們認為學習 Python 主要是為了獲得生產力和/或自動化任務。
這是絕對正確的,我認為我們甚至不需要討論能夠在我們手動完成的一小部分時間內完成某件事的價值。
爭論的另一個缺失部分是數據分析。 良好的數據分析為我們提供了洞察力,理想情況下,我們能夠根據我們的專業知識和我們擁有的數據提供可操作的洞察力來指導我們的決策過程。

我們所做的大部分工作是嘗試了解正在發生的事情,分析競爭,找出最有價值的內容在哪裡,決定做什麼,等等。 我們是顧問、顧問和決策者。 能夠從我們的數據中獲得一些見解顯然是一個很大的好處,這裡提到的領域和技能可以幫助我們實現這一目標。

如果您了解到您的標題標籤的平均長度為 60 個字符,這很好嗎?
如果您深入挖掘並發現您的標題中有一半遠低於 60,而另一半有更多字符(平均為 60),該怎麼辦? In order to get practical and provide good recommendations, you need a higher-resolution view of your title tags' lengths, probably a histogram that shows the frequency of your title tag lengths at each interval so you can have a separate strategy for length. A simple table would also do, for example:

Splitting title lengths by intervals of twenty was an arbitrary decision, and you can split them the way you want. Looking at the table above, and seeing that we have three times more than the average titles in the interval (0, 20), we might want to split it further to better understand what is going on.
Having a better view than the default single-statistic summaries that we get from standard tools, allows us to employ different strategies for different lengths. For example, we can remove the brand name from the titles that are longer than a certain number of characters, and keep it in other titles.
This was an example of very simple insights, which are possible due to the flexibility we get by using a programming language, and a set of data science tools. This also allows us to iterate and modify our approach, until we find a satisfactory point that can take our analysis to the next steps.

Visualization, machine learning, modeling and general data manipulation skills allow us to get better insights on our data, even though those analyses are typically done only once. Still, if you use code to get those insights, you can always take some parts and apply to other projects, or again to the same project. In this case, the insights we got, helped us in our automation, even more. The insights would tell us what needs to be automated and what doesn't.

你應該學習Python嗎?

Is a useless question, and the more useful one is, “How much Python (or R) should you learn?”

My view of how we use computers has evolved in the last few years.
I used to think that there were two main ways of using computers, either you are a regular user, using “point-and-click” applications to do certain tasks, or you are a developer who creates those applications that the rest of us use.

I then realized that it is more like a continuum between very high level use (pizza ordering approach), and the lower levels of the farm approach. I also realized that there is a happy sweet spot in between, where you learn enough programming to get productive and boost your data analysis skills, without having to become a software developer or engineer.

What are the main differences between being a programmer (a software user), and a software developer (or engineer)?

What are the differences between making a great coffee at home, versus establishing and running a cafe?
If making good coffee is one skill, then running a cafe requires ten other skills, most of which have nothing to do with making coffee.
You have to choose a good location (real estate), hire people (management and HR), manage cash flow and finances (accounting and finance), do marketing, legal, manage delivery, adhere to cleanliness and health standards, and so on. You can be a great coffee maker without knowing anything about those fields, but if you want to take it to the next level, you will have to manage all those additional tasks unrelated to making coffee.
The same applies to being a good programmer or data analyst versus being a software developer/engineer. There are so many other things that you have to know and worry about that you don't need as a regular programmer doing stuff for yourself and co-workers and clients. Once you have enough knowledge and skills in programming and data science, you will be in a good position to choose and decide whether you want to continue as an analyst, focusing on data science, or if you want to end up creating software that other people would use.

How do I get into Data Science?

To learn anything I think you have to do two things in parallel:

  1. Learn the fundamentals and the theory properly: Taking courses and reading books, and getting into the fundamentals can push you forward, as you will be gaining in weeks, knowledge that took decades to establish. It would also immediately give you ideas on things you thought were impossible, or had no idea existed.
  2. Get as much real world exposure and experience as possible: Experience is always important, and my suggestion is to try as soon as you can to read_csv with Python or R, to actually do so with your GA, GSC, or crawl dataset. See what else you can do (visualize, manipulate, model, etc.). See if you get errors, try to analyze the data only using your programming language.

What does frustration look like, and by when will I get productive?

It's difficult to say, and it depends on your skill, background, the hours you put in, but visualizing it like this might help you on those frustrating unproductive days:

My suggestion is to take a non-trivial task, for example running an SEO audit for a site, only using Python. Your first session will mostly be frustrating, and most of the time will be spent checking documentation, and the definition of basic terms.
In parallel, you are still going through your course, and learning new stuff.
The value of that frustrating session is that it informs and motivates your theoretical learning. You will have questions in mind, and when you learn new things, you will immediately have a place to implement them.
Your next analysis session will probably be a little more productive, but still not productive enough to do at work. You go again to your learning and theory.
Do this enough times, and your time will become mostly productive, eventually you will be doing real work during working hours. The ideal scenario is where you are productive enough to do work, but every time use some time to research better techniques, which improves your work as well. By then you will start to get paid for learning, and your clients will be happily sponsoring you!

建議的後續步驟

For the learning path a Data Science course would be great, especially if you get feedback on your work, and you can follow the topics in the order recommended.

If you go with Python I suggest the following libraries:

  • pandas: The workhorse of all your tasks in preparing, cleaning, reshaping data whichever way you want. Fluency in pandas allows you to have full control over your data, which will help you immensely in visualization, general analysis, and machine learning
  • Plotly and Dash: This is my favorite data visualization library, although there are many others. What I mostly like about it, is that it produces interactive and responsive HTML charts by default. It is very detailed and thorough in its options, yet simple to use. Plotly also includes Plotly Express, which is a high-level plotting tool, which is more intuitive to use, and takes a data-oriented approach (as opposed to a chart-oriented approach). Plotly also created Dash, which is the tool for creating interactive dashboards, but also serves as a full front-end web development framework. Other important data visualization libraries are matplotlib, altair, and bokeh, and for interactive data apps, there is panel and streamlit. Another important feature is that Plotly and Dash are available in all languages used in Data Science. You might use other libraries, and this is just my personal preference. Speaking of personal preferences:
  • advertools: This is a library that I created to provide various online marketing tools, most importantly, an SEO crawler, log file parser and compressor, multi robots.txt parser, recursive sitemap parser, SEM keyword and text ad generator for large scale campaigns, weighted frequency word counter, Google SERP downloader, YouTube data API, and a few other tools. It is still evolving, and you are more than welcome to contribute any suggestions, bugs, or issues you might have with it.

These should be enough for beginners, and when you are familiar with them, you can do your own research for more specialized libraries, machine learning and deep learning tools, or libraries that are specialized in performance, or a special niche use-case.