首页 >web前端 >js教程 >这就是我构建数字产品分析工具的方式

这就是我构建数字产品分析工具的方式

Barbara Streisand
Barbara Streisand原创
2024-10-24 02:05:02593浏览

大家好,

最近,我爱上了各种数据分析。

当我在寻找副业时,我探索了不同的选择,并偶然发现了数字产品的世界。 Gumroad、Ko-fi 等平台主导了这个市场。

但我一开始就遇到了障碍:有数百种产品。

那么,我应该卖哪一个呢?

研究了各种文章和平台后,我意识到没有足够的可靠数据来做出明智的决定。

这促使我开始跟踪最大的数字产品市场之一的趋势:Gumroad。

v0.1

我从一个简单的 JavaScript 脚本开始,该脚本对公开可用的 Gumroad API 执行基本的 API 请求。您可以在浏览器的“网络”选项卡中轻松查看这些请求:
https://gumroad.com/products/search?&tags[]=vrchat&from=10

这是一个好的开始。我决定跟踪 10 个最受欢迎的标签并每天获取数据。

我使用的技术堆栈:

  1. Node.js
  2. axios axios-重试 axios-rate-limit
  3. FS 写入文件系统
  4. 加速编码的人工智能工具

效果很好。我连续几天收集数据,发现它足够有趣,可以进一步扩展。我也在 X 上得到了社区的支持,所以我决定采取下一步。

v0.2

我意识到仅仅了解最受欢迎的标签是不够的——真正的潜力在于识别正在增长的标签。

在下一次迭代中,我从最受欢迎的利基市场收集了子标签,并以这种方式收集了 5,000 多个标签。

这每天会产生超过 20,000 行数据,所以我需要一个存储解决方案。

由于仍然可以在 MongoDB Atlas 上托管免费集群,并且 MongoDB 与 JavaScript 配合得很好,所以我选择它作为我的存储选项。现在,数据已存储,我可以运行各种分析。

另一个挑战是收集数据所需的时间。
最初花了五个小时。就在那时我了解了代理。设置多个代理服务器并行处理数据后,收集时间从 5 小时缩短到仅 30 分钟。

v0.2.1

我手动运行所有脚本,所以我决定自动化该过程。

我将源代码托管在 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();
}

v0.3

我决定为这个项目创建一个简单的 UI 并公开分享。这就是gumroadtrends.com 的推出方式。

我用过:

  • UI 的 VueJS
  • CSS 框架的引导
  • 用于可视化数据的Chart.js
  • 用于使用情况分析的 GA4
  • 我还使用 Hetzner 和 PM2 进行托管,因为我已经有一个服务器来托管我的所有产品。

用户界面如下所示:
This is how I built an analytic tool for Digital Products

v0.4

仅靠 7 天的数据很难了解趋势,因此我计划继续收集自动驾驶仪的数据,并在几周后重新审视它以获得更深入的见解。

最后的话

我很高兴分享我用来构建此产品的任何内容。这是我对我所在的#buildinpublic 社区的一点小贡献。

祝您的项目顺利!

如果您对此主题感兴趣,请随时与我们联系。在 X 上关注我

以上是这就是我构建数字产品分析工具的方式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn