SQL足以解決你的問題,別動不動就是機器學習
作者 | Celestine Omin
編輯 | 無明
不久前,我發了一個推文,說我們需要使用傳統和已有的工具來解決日常業務問題,而不是去攀附那些性感時髦卻又複雜的技術。
人們對這個推文反應十分強烈,最終成了 Hackernews 的頭條。這個推文引發了一些有趣的對話。有的人贊同我的觀點,有些人則完全反對,還罵我是蠢貨。好吧,互聯網本來就是個「狂野的西部」。
我寫這篇文章並不是想要說服你什麼,而是打算對之前推文的內容做進一步說明。
隨著歲月的流逝,一些有趣的技術和概念如雨後春筍般冒出來——機器學習、區塊鏈、人工智慧、虛擬現實、增強現實等等,而有些現有的技術則開始退居二線。經常聽到有人基於區塊鏈技術開發出優秀的產品來。
我見過基於區塊鏈技術的電子商務服務、社交網路和版權,而這類應用程序還在不斷增加中。據說現階段你要快速及早地融到資金,必須與「區塊鏈」扯上關係,即使從宏觀上看它與區塊鏈可能並沒有任何關聯。
在區塊鏈之前是機器學習和人工智慧(ML/AI),幾乎所有帶有「加入候補名單」欄位的登陸頁都會出現 ML/AI。如果你的頁面上沒有提到 AI,好像天會塌下來一樣。但說真的,你們真的有 AI 業務嗎?老實說,這個還真不一定。我今天仍然很看好的一種技術是 SQL(結構化查詢語言),這項已有 40 多年歷史的技術在今天仍然與 1974 年首次出現時一樣重要。儘管多年來經歷了一些改進,但它仍然像以往一樣強大。
我的整個職業生涯都用在了技術上,我大部分時間在從事與電子商務有關的工作,親眼目睹了這項技術如何幫助我們發展業務。我們使用這項技術來提升我們的優勢,用它從我們收集的數據中找出一些有趣的信息。這些數據包含了與消費者行為以及他們的購物模式和習慣有關的信息。我們甚至可以用它預測我們應該持有或不應該持有什麼樣的庫存單位(stock shopping unit,SKU),或者提升客戶滿意度,並讓更多人成為回頭客。接下來,讓我來告訴你我們是如何做到的,或許你也可以。
在與創始人交談時,他們總會告訴我,他們希望使用 AI/ML 留住客戶和提升終身價值(Lifetime Value,LTV)。事實是,他們可能根本不需要使用機器學習或任何那些花哨的技術,正確使用 SQL 才是他們真正需要的。在以前,我使用 SQL 從我們生成的數據中提取有價值的信息和見解。有一次,我們需要知道本周的客戶是誰,因為我們想要認識他們,並獎勵他們。公司的這種舉動通常會讓顧客感到非常高興,他們因此有可能成為公司忠實的粉絲。然後我們就會看到顧客在社交媒體上歡呼他們收到我們的獎勵。
事實證明,這比把錢花在廣告上更有效。不過不要誤會我的意思,傳統的廣告仍然有它的作用,但沒有什麼比值得信賴的朋友的口口相傳更為有效的了。最令人感到驚訝的是,獲取這些信息一點也不困難。除了使用老舊的 SQL 之外,不需要任何其他花哨的技術。為了獲得本周的客戶,我們寫了一個 SQL 語句來查詢訂單表,在獲得這些信息後,我們通過電子郵件向客戶發送一封感謝信,並附上一張優惠券。你猜怎麼了?其中 99%的人成了回頭客。我們從不需要機器學習,我們只用了一個簡單的 SQL 查詢就獲得了這些信息。
有一次,我們需要與那些暫時沒有購物的顧客重新建立聯繫。我寫了一個 SQL 查詢,收集了最後一次購物日期為 3 個月前的客戶。這個問題也很簡單。我寫了一個 SQL 查詢訂單表,把最後一次購物日期是 3 個月前的訂單撈出來。在得到這些信息後,我們會發送一封內容為「我們想你了,快回來吧,這裡附上某某購物券」的電子郵件。客戶的回復率始終大於 50%。同樣的,社交媒體上緊接著就會出現顧客的歡呼。在我看來,這兩種策略仍然比在谷歌和 Facebook 廣告更有效。
我們將同樣的想法應用在推送郵件上。我的意思是,既然可以進行個性化推薦,為什麼要向所有人發送同樣的郵件呢?那麼該如何進行個性化推薦?我通過 SQL 檢查購物籃中的物品,並將它們逐個提取出來。然後我們基於這些物品建立創建推送郵件,並加入相關的內容。例如,假設一個人買了一雙鞋、一副太陽鏡和一本書,那麼在他們的推送郵件中,我們將展示鞋子、太陽鏡和書籍。這比發送隨機內容更有意義。我的意思是,為什麼要給一個剛買了一雙運動鞋的男人發一封內容為抽乳器的郵件?它可能毫無意義。大多數營銷電子郵件的打開率為 7-10%。但是,在我們做得好的時候,這個數字可以接近 25%到 30%。
這個數字是行業標準的三倍。我們在這些電子郵件中使用了他們的名字作為親切的稱呼,而不只是「親愛的顧客」,這樣充滿了人情味,表示我們對顧客的關心。所有這些都是通過老舊的 SQL 而不是花哨的機器學習來實現的。
對於因某種原因無法完成訂單的客戶,我們也沒有漏掉他們。只要他們在購物車中添加了商品,就表明他們有購買意向。為了讓他們能夠結賬,我寫了一個 SQL 腳本,並設置了一個 CRON 作業,向在 48 小時之前往購物車添加過商品的顧客發送郵件。你猜怎麼了?這樣做很有效。因為我們可以跟蹤這些電子郵件,讓顧客回來繼續完成訂單。而這個 SQL 查詢也非常簡單,它選擇了更新時間大於或等於 48 小時的非空購物車。我們將 CRON 設置為每天凌晨 2 點運行,這個時候活動和流量較少。然後,客戶在醒來時收到電子郵件,提醒他們購物車裡還有東西沒結賬。這裡沒什麼神奇的東西,只用了 SQL、Bash 和 CRON。
由於貨到付款(Payment On Delivery,POD)算是一件大事情,SQL 再次派上了用場。我們將連續三次取消訂單的客戶置為高警戒狀態,下次他們再下訂單時,我們會打電話給他們,確認他們確實是需要訂單。這樣,我們節省了時間,避免了不必要的壓力。總而言之,對於這些客戶,我們將對其禁用 POD,要求他們只能用銀行卡或電子錢包支付。在電子商務中,物流成本是很高的,所以要把精力集中在信譽良好的用戶身上。我們不需要機器學習或其他一些花哨的人工智慧技術來解決這個問題,我們需要的是編寫良好的 SQL。
對於在 SLA 時間窗口內未能發貨的訂單,我們也使用 SQL 查詢來管理客戶期望。我們選擇處於未交付狀態的訂單,比如訂單日期>=7 天,因為這是標準的交付周期。然後我們設置 CRON 作業,向客戶發送電子郵件和簡訊。雖然顧客沒有立即跳起來為我們鼓掌,但至少,我們向他們保證,我們關心著他們,並正在努力解決問題。沒有什麼比訂單延遲更煩人的了。
這個特殊的解決方案也對我們的 NPS 產生了巨大的影響。我們依舊使用老舊的 SQL 和 Bash 解決了我們的難題。
Sift Science 在預防欺詐方面做得非常出色,但其實 SQL 也可以派上用場。如果一個人試圖同時用 3 張不同的卡結賬,並且這些卡都是空頭,那麼就會發生一些有趣的事情。我們首先要暫時阻止他們的賬戶,這樣可以為真正的卡片所有者節省很多麻煩。我們不需要保存卡片的詳細信息,只需保存特定訂單號的結賬操作,這樣就可以了。這些都不需要使用機器學習,只要編寫良好的 SQL 就夠了。
我可能是在說 ML/AI 的壞話。這些技術有它們的用武之地,亞馬遜已經證明了這些技術的有效性。但是,如果你正在運營一個擁有 1,000 到 10,000 個客戶的小型在線商店,那麼完全可以只用 SQL。此外,ML/AI 人才並不好找。
※一篇文章即可了解「你的公司到底需不需要微服務」
※為什麼前端開發這麼不穩定?
TAG:InfoQ |