日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java编一个漏斗_java – 漏斗分析计算,你如何计算漏斗?

發(fā)布時(shí)間:2024/3/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java编一个漏斗_java – 漏斗分析计算,你如何计算漏斗? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先,使用標(biāo)準(zhǔn)SQL,給出您的假設(shè):

有一個(gè)簡單布局的表EVENTS:

EVENTS

-----------------------------

SESION_ID , EVENT_NAME , TMST

要在某個(gè)時(shí)間獲得執(zhí)行步驟#1的會話:

-- QUERY 1

SELECT SESSION_ID,MIN(TMST) FROM EVENTS WHERE EVENT_NAME='event1' GROUP BY SESSION_ID;

在這里,我假設(shè)event1可以在每個(gè)會話中發(fā)生一次以上.結(jié)果是一個(gè)在某個(gè)時(shí)間演示了event1的唯一會話列表.

為了獲得step2和step3,我可以這樣做:

-- QUERY 2

SELECT SESSION_ID,MIN(TMST) FROM EVENTS WHERE EVENT_NAME='event2' GROUP BY SESSION_ID;

-- QUERY 3

SELECT SESSION_ID,MIN(TMST) FROM EVENTS WHERE EVENT_NAME='event3' GROUP BY SESSION_ID;

現(xiàn)在,您要按順序選擇執(zhí)行step1,step2和step3的會話.

更準(zhǔn)確地說,您需要計(jì)算執(zhí)行步驟1的會話,然后計(jì)算執(zhí)行步驟2的會話,然后計(jì)算執(zhí)行步驟3的會話.

基本上我們只需要將上面的3個(gè)查詢與左連接組合在一起,列出進(jìn)入漏斗的會話以及它們執(zhí)行的步驟:

-- FUNNEL FOR S1/S2/S3

SELECT

SESSION_ID,

Q1.TMST IS NOT NULL AS PERFORMED_STEP1,

Q2.TMST IS NOT NULL AS PERFORMED_STEP2,

Q3.TMST IS NOT NULL AS PERFORMED_STEP3

FROM

-- QUERY 1

(SELECT SESSION_ID,MIN(TMST) FROM EVENTS WHERE EVENT_NAME='event1' GROUP BY SESSION_ID) AS Q1,

LEFT JOIN

-- QUERY 2

(SELECT SESSION_ID,MIN(TMST) FROM EVENTS WHERE EVENT_NAME='event2' GROUP BY SESSION_ID) AS Q2,

LEFT JOIN

-- QUERY 3

(SELECT SESSION_ID,MIN(TMST) FROM EVENTS WHERE EVENT_NAME='event2' GROUP BY SESSION_ID) AS Q3

-- Q2 & Q3

ON Q2.SESSION_ID=Q3.SESSION_ID AND Q2.TMST

-- Q1 & Q2

ON Q1.SESSION_ID=Q2.SESSION_ID AND Q1.TMST

結(jié)果是在步驟1進(jìn)入漏斗的唯一會話列表,并且可能繼續(xù)到step2和step3 ……例如:

SESSION_ID_1,TRUE,TRUE,TRUE

SESSION_ID_2,TRUE,TRUE,FALSE

SESSION_ID_3,TRUE,FALSE,FALSE

...

現(xiàn)在我們只需要計(jì)算一些統(tǒng)計(jì)數(shù)據(jù),例如:

SELECT

STEP1_COUNT,

STEP1_COUNT-STEP2_COUNT AS EXIT_AFTER_STEP1,

STEP2_COUNT*100.0/STEP1_COUNT AS PERCENTAGE_TO_STEP2,

STEP2_COUNT-STEP3_COUNT AS EXIT_AFTER_STEP2,

STEP3_COUNT*100.0/STEP2_COUNT AS PERCENTAGE_TO_STEP3,

STEP3_COUNT*100.0/STEP1_COUNT AS COMPLETION_RATE

FROM

(-- QUERY TO COUNT session at each step

SELECT

SUM(CASE WHEN PERFORMED_STEP1 THEN 1 ELSE 0 END) AS STEP1_COUNT,

SUM(CASE WHEN PERFORMED_STEP2 THEN 1 ELSE 0 END) AS STEP2_COUNT,

SUM(CASE WHEN PERFORMED_STEP3 THEN 1 ELSE 0 END) AS STEP3_COUNT

FROM

[... insert the funnel query here ...]

) AS COMPUTE_STEPS

Etvoilà!

現(xiàn)在進(jìn)行討論.

第一點(diǎn),考慮到你采用“集合”(或功能)思維方式而不是“程序化”方法,結(jié)果非常簡單.不要將數(shù)據(jù)庫可視化為具有列和行的固定表的集合……這是它的實(shí)現(xiàn)方式,但它不是您與它交互的方式.這是所有套裝,您可以按照您需要的方式安排套裝!

第二點(diǎn),如果您使用MPP數(shù)據(jù)庫,查詢將自動優(yōu)化為并行運(yùn)行.您甚至不需要以不同方式編寫查詢,使用map-reduce或其他…我在我的測試數(shù)據(jù)集上運(yùn)行了相同的查詢,其中包含超過1億個(gè)事件,并在幾秒鐘內(nèi)獲得結(jié)果.

最后但并非最不重要的是,查詢打開了無限可能.只需按引用,關(guān)鍵字,登錄頁面,用戶信息和分析的結(jié)果進(jìn)行分組,例如提供最佳轉(zhuǎn)換率!

總結(jié)

以上是生活随笔為你收集整理的java编一个漏斗_java – 漏斗分析计算,你如何计算漏斗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。