大家好,
最近,我愛上了各種數據分析。
當我在尋找副業時,我探索了不同的選擇,並偶然發現了數位產品的世界。 Gumroad、Ko-fi 等平台主導了這個市場。
但我一開始就遇到了障礙:有數百種產品。
那麼,我該賣哪一個呢?
研究了各種文章和平台後,我意識到沒有足夠的可靠數據來做出明智的決定。
這促使我開始追蹤最大的數位產品市場之一的趨勢:Gumroad。
我從一個簡單的 JavaScript 腳本開始,該腳本對公開可用的 Gumroad API 執行基本的 API 請求。您可以在瀏覽器的「網頁」標籤中輕鬆查看這些請求:
https://gumroad.com/products/search?&tags[]=vrchat&from=10
這是一個好的開始。我決定追蹤 10 個最受歡迎的標籤並每天獲取數據。
我使用的技術堆疊:
效果很好。我連續幾天收集數據,發現它足夠有趣,可以進一步擴展。我也在 X 上得到了社區的支持,所以我決定採取下一步。
我意識到僅僅了解最受歡迎的標籤是不夠的——真正的潛力在於識別正在增長的標籤。
在下一個迭代中,我從最受歡迎的利基市場收集了子標籤,並以這種方式收集了 5,000 多個標籤。
這每天會產生超過 20,000 行數據,所以我需要一個儲存解決方案。
由於仍然可以在 MongoDB Atlas 上託管免費集群,並且 MongoDB 與 JavaScript 配合得很好,所以我選擇它作為我的儲存選項。現在,數據已存儲,我可以運行各種分析。
另一個挑戰是收集資料所需的時間。
最初花了五個小時。就在那時我了解了代理。設定多個代理伺服器並行處理資料後,收集時間從 5 小時縮短到僅 30 分鐘。
我手動運行所有腳本,所以我決定自動化該過程。
我將原始碼託管在 Hetzner 上的遠端伺服器上,並透過 crontab 設定 cron 作業。
0 18 * * * /usr/bin/node index.js collect-data 0 21 * * * /usr/bin/node index.js collect-totals
第一個作業收集數據,第二個作業將其聚合以形成摘要。它會刪除重複項並計算與前一天相比的增長。
const [mode = 'collect-data'] = process.argv.slice(2); if (mode === 'collect-data') { return collectData(); } if (mode === 'collect-totals') { return collectTotals(); }
我決定為這個專案建立一個簡單的 UI 並公開分享。這就是gumroadtrends.com 的推出方式。
我用過:
使用者介面如下圖所示:
僅靠 7 天的數據很難了解趨勢,因此我計劃繼續收集自動駕駛儀的數據,並在幾週後重新審視它以獲得更深入的見解。
我很高興分享我用來建造此產品的任何內容。這是我對我所在的#buildinpublic 社區的一點小貢獻。
祝您的專案順利!
如果您對主題感興趣,請隨時與我們聯繫。在 X 上追蹤我
以上是這就是我建立數位產品分析工具的方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!