最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

如何簡單、高效的進行留存和漏斗分析

2022-05-26 17:22 作者:Databend  | 我要投稿

Databend 是一個使用 Rust 研發(fā)、開源的、完全面向云架構(gòu)的新式數(shù)倉,致力于提供極速的彈性擴展能力,打造按需、按量的 Data Cloud 產(chǎn)品體驗。
開源地址:https://github.com/datafuselabs/databend

前言

隨著移動互聯(lián)網(wǎng)的發(fā)展,我們時刻都在生產(chǎn)著數(shù)據(jù)。

如果你做了一款 APP,3 月份新增用戶 1000 人,你是不是想了解在未來的某些時間段內(nèi),這部分用戶里有多少人持續(xù)使用了你的 APP?

如果你在經(jīng)營一個電商,你可能更加關(guān)注用戶在,,流程里每個環(huán)節(jié)的轉(zhuǎn)化率,了解用戶行為軌跡變化,以精準優(yōu)化產(chǎn)品設(shè)計。比如,如果 Andorid 用戶在??到?這個環(huán)節(jié)轉(zhuǎn)化率明顯低于其他客戶端,說明 Andorid 客戶端在??這個環(huán)節(jié)上存在一些問題。

這就是我們經(jīng)常說的用戶留存和漏斗轉(zhuǎn)化率分析。

大部分數(shù)倉要滿足這兩個需求,基本都要寫一堆 SQL 來進行復(fù)雜表達,且性能低下,因為這兩個分析會重度依賴 GROUP BY,百萬級數(shù)據(jù)可能就會在分鐘級。

本篇就來聊聊 Databend 如何做到簡潔、高效的滿足這兩個需求,使用一個簡單的 SQL, 在千萬級的數(shù)據(jù)集上也可以輕松搞定。

留存分析

數(shù)據(jù)表

CREATE TABLE events(`user_id` INT, `visit_date` DATE);

  • ?- 用戶 ID

  • ?- 用戶訪問日期

構(gòu)造數(shù)據(jù)集

構(gòu)造用戶訪問記錄。

# user_id 從 0 到 10000000 在 2022-05-15 訪問數(shù)據(jù)
INSERT INTO events SELECT number AS user_id, '2022-05-15' FROM numbers(10000000);

# user_id 從 0 到 5000000 在 2022-05-16 訪問數(shù)據(jù)
INSERT INTO events SELECT number AS user_id, '2022-05-16' FROM numbers(5000000);

# user_id 從 0 到 100000 在 2022-05-17 訪問數(shù)據(jù)
INSERT INTO events SELECT number As user_id, '2022-05-17' FROM numbers(100000);

留存分析

SELECT
? ?sum(r[0]) AS r1,
? ?sum(r[1]) AS r2,
? ?sum(r[2]) AS r3
FROM
(
? ?SELECT
? ? ? ?user_id,
? ? ? ?retention(login_date = '2022-05-15', login_date = '2022-05-16', login_date = '2022-05-17') AS r
? ?FROM events
? ?GROUP BY user_id
);


這里使用?Databend retention?函數(shù)輕松搞定:

+----------+---------+--------+
| r1 ? ? ? | r2 ? ? ?| r3 ? ? |
+----------+---------+--------+
| 10000000 | 5000000 | 100000 |
+----------+---------+--------+

  • ?有??人訪問

  • ?有??個用戶持續(xù)訪問,用戶留存率??=?

  • ?有個用戶持續(xù)訪問,用戶留存率??=?

漏斗分析

數(shù)據(jù)表

CREATE TABLE events(user_id BIGINT, event_name VARCHAR, event_timestamp TIMESTAMP);

  • ?- 用戶 ID

  • ?- 事件類型:,??,?,

  • ?- 事件時間(Databend TIMESTAMP?類型精度是小數(shù)點后 6 位, 微秒(microsecond))

構(gòu)造數(shù)據(jù)集

# 用戶 100123 事件
INSERT INTO events VALUES(100123, '登錄', '2022-05-14 10:01:00');
INSERT INTO events VALUES(100123, '訪問', '2022-05-14 10:02:00');
INSERT INTO events VALUES(100123, '下單', '2022-05-14 10:04:00');
INSERT INTO events VALUES(100123, '付款', '2022-05-14 10:10:00');

# 用戶 100125 事件
INSERT INTO events VALUES(100125, '登錄', '2022-05-15 11:00:00');
INSERT INTO events VALUES(100125, '訪問', '2022-05-15 11:01:00');
INSERT INTO events VALUES(100125, '下單', '2022-05-15 11:02:00');

# 用戶 100126 事件
INSERT INTO events VALUES(100126, '登錄', '2022-05-15 12:00:00');
INSERT INTO events VALUES(100126, '訪問', '2022-05-15 12:01:00');

# 用戶 100127 事件
INSERT INTO events VALUES(100127, '登錄', '2022-05-15 11:30:00');
INSERT INTO events VALUES(100127, '訪問', '2022-05-15 11:31:00');

漏斗分析

SELECT
? ?level,
? ?count() AS count
FROM
(
? ?SELECT
? ? ? ?user_id,
? ? ? ?window_funnel(3600000000)(event_timestamp, event_name = '登錄', event_name = '訪問', event_name = '下單', event_name = '付款') AS level
? ?FROM events
? ?GROUP BY user_id
)
GROUP BY level ORDER BY level ASC;



+-------+-------+
| level | count |
+-------+-------+
| ? ? 2 | ? ? 2 |
| ? ? 3 | ? ? 1 |
| ? ? 4 | ? ? 1 |
+-------+-------+

這里使用?Databend window_funnel?函數(shù)對用戶在 1 小時窗口內(nèi),進行事件鏈下鉆分析。

一小時內(nèi):有多少用戶登錄(level-1) –> 有多少用戶訪問(level-2) –> 有多少用戶下單(level-3) –> 有多少用戶付款(level-4)

從結(jié)果來看:

  • ?這條事件鏈上總共有 2 個用戶,?和?

  • ?這條事件鏈上有 1 位用戶,

  • ?這條事件鏈上總共有 1 位用戶,

這樣我們就可以輕松計算出每個階段的轉(zhuǎn)化率。

性能

從上面示例可以看出,留存和漏斗分析都重度依賴?,如果??較多,對??計算速度有比較高的要求,Databend 在?上做了大量的優(yōu)化,目前性能已經(jīng)非常強悍,具體機制可以參考這篇文章?Databend 的 Group By 聚合查詢?yōu)槭裁磁艿倪@么快?

總結(jié)

Databend 留存(RETENTION)函數(shù)和漏斗分析(WINDOW_FUNNEL)函數(shù)去年已經(jīng)實現(xiàn),把復(fù)雜的邏輯進行封裝,讓用戶使用起來更加方便。

Databend 作為一個新一代云數(shù)倉,在設(shè)計上做了一個很大的轉(zhuǎn)變:數(shù)據(jù)不再是重心,用戶的體驗才是。

對于一個數(shù)倉產(chǎn)品,相信大部分用戶都希望:

  • 不再為存儲空間發(fā)愁

  • 不再為計算資源發(fā)愁

  • 開箱即用,真正的按需、按量付費

隨著云基礎(chǔ)設(shè)施的發(fā)展,我們在 Databend Platform 里讓這一切都變成了可能。

基于開源?Databend?內(nèi)核、AWS EC2 計算資源、S3 的對象存儲,加上自研的 Serverless Infrastructure,Databend 團隊即將推出他們的第一個企業(yè)級產(chǎn)品:Databend Platform。

來,讓我們一起看看在 Databend Platform 里如何做漏斗分析:

  1. 選擇 Worksheet

  2. 選擇休眠的 Warehouse

  3. 執(zhí)行漏斗分析 SQL,自動喚醒 Warehouse

  4. Warehouse 自動休眠

  5. 就是這么簡單


關(guān)于 Databend

Databend 是一款開源、彈性、低成本,基于對象存儲也可以做實時分析的新式數(shù)倉。期待您的關(guān)注,一起探索云原生數(shù)倉解決方案,打造新一代開源 Data Cloud。

  • Databend 文檔:https://databend.rs/

  • Twitter:https://Twitter.com/Datafuse_Labs

  • Slack:https://datafusecloud.slack.com/

  • Wechat:Databend

  • GitHub :https://github.com/datafuselabs/databend

文章首發(fā)于公眾號:Databend


如何簡單、高效的進行留存和漏斗分析的評論 (共 條)

分享到微博請遵守國家法律
荔浦县| 黑龙江省| 遵义市| 渝中区| 芒康县| 闽清县| 玉环县| 绥化市| 东阳市| 滦平县| 临江市| 汝州市| 墨江| 中牟县| 加查县| 民乐县| 汉川市| 栖霞市| 珠海市| 甘南县| 张家港市| 乐陵市| 宝应县| 广昌县| 库尔勒市| 滨海县| 永靖县| 抚顺县| 常山县| 东安县| 凌云县| 阿巴嘎旗| 曲靖市| 泰兴市| 竹溪县| 昌图县| 通江县| 达孜县| 米易县| 平阴县| 永顺县|