# Funnel Analysis Model API
Call method See Call method description in Open API doc.
You can read the funnel analysis in the user manual to understand the usage scenario.
# Funnel Analysis Query
Interface URL
/open/funnel-analyze?token=xxx
Request method
POST
Content-Type
application/json
Request Query Parameter
Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | token |
# Request Body Parameter
{
"eventView":{
"endTime":"2021-10-31 23:59:59",
"filts":[
{
"columnDesc":"city",
"columnName":"city",
"comparator":"equal",
"filterType":"SIMPLE",
"ftv":[
"Shanghai",
"Beijing",
"Guangzhou",
"Shenzhen"],
"specifiedClusterDate":"2022-01-24",
"tableType":"user",
"timeUnit":""
}],
"groupBy":[
{
"columnDesc":"city",
"columnName":"city",
"propertyRange":"",
"specifiedClusterDate":"2022-01-24",
"tableType":"user"
}],
"recentDay":"",
"relation":"and",
"startTime":"2021-10-01 00:00:00",
"taIdMeasureVo":{
"columnDesc":"only user ID",
"columnName":"#user_id",
"tableType":"event"
},
"windows_gap":1,
"windows_gap_tu":"hour"
},
"events":[
{
"eventName":"register",
"eventNameDisplay":"",
"filts":[
{
"columnDesc":"app version",
"columnName":"app_version",
"comparator":"equal",
"filterType":"SIMPLE",
"ftv":[
"V1.0"],
"specifiedClusterDate":"2022-01-26",
"tableType":"event",
"timeUnit":""
}],
"relation":"and"
},
{
"eventName":"login",
"eventNameDisplay":"",
"filts":[
],
"relation":"and"
},
{
"eventName":"activity_attend",
"eventNameDisplay":"",
"filts":[
],
"relation":"and"
},
{
"eventName":"logout",
"eventNameDisplay":"",
"filts":[
],
"relation":"and"
}
],
"projectId":377,
"limit": 2,
"timeoutSeconds": 10,
"useCache": true
}
# Request Parameter Description
Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
eventView | - | Object | Yes | Grouping properties |
∟ endTime | 2021-10-31 23:59:59 | String | No | End time (format: yyyy-MM-dd HH: mm: ss), valid when the relative time is empty |
∟ filts | - | List | No | Global filter |
∟ columnDesc | City | String | No | Field display name |
∟ columnName | city | String | Yes | Field name |
∟ comparator | equal | String | Yes | Reference: Filtered expression for model query API |
∟ filterType | SIMPLE | String | No | Filter mode, SIMPLE: simple, COMPOUND: composite |
∟ ftv | ["Shanghai"] | List | No | Property comparison value |
∟ specifiedClusterDate | 2022-01-24 | String | No | Cluster specified date |
∟ tableType | user | String | Yes | Table type, event: transaction table, user: user table |
∟ timeUnit | String | No | Property comparison units, valid for relativeEvent * only: day, hour, minute | |
∟ groupBy | - | List | No | Group attributes, can have zero or more |
∟ columnDesc | City | String | No | Field display name |
∟ columnName | city | String | Yes | Field name |
∟ propertyRange | String | No | Custom attribute interval | |
∟ specifiedClusterDate | 2022-01-24 | String | No | Cluster specified date |
∟ tableType | user | String | Yes | Table type, event: transaction table, user: user table |
∟ recentDay | String | No | Relative time (this item cannot be empty at the same time as the start time and the end time) | |
∟ relation | and | String | No | Logical relationship, and: logical and, or: logical or |
∟ startTime | 2021-10-01 00:00:00 | String | No | Start time (format: yyyy-MM-dd HH: mm: ss), valid when the relative time is empty |
∟ taIdMeasureVo | - | Object | No | Analyze subject configuration |
∟ columnDesc | User unique ID | String | No | Field display name |
∟ columnName | #user_id | String | Yes | Field name |
∟ tableType | event | String | Yes | Table type, event: transaction table, user: user table |
∟ windows_gap | 1 | Long | No | Window duration |
∟ windows_gap_tu | hour | String | No | Window duration units, Second: seconds Minutes: minutes Hour: hour Day: day Week: week Month: month |
events | - | List | Yes | List of event indicators |
∟ eventName | register | String | Yes | Event type, in particular, you can use anyEvent to represent any event |
∟ eventNameDisplay | String | No | Event display name | |
∟ filts | - | List | No | List of conditions |
∟ columnDesc | App version | String | No | Field display name |
∟ columnName | app_version | String | Yes | Field name |
∟ comparator | equal | String | Yes | Reference: Filtered expression for model query API |
∟ filterType | SIMPLE | String | No | Filter mode, SIMPLE: simple, COMPOUND: composite |
∟ ftv | ["V1.0"] | List | No | Property comparison value |
∟ specifiedClusterDate | 2022-01-26 | String | No | Cluster specified date |
∟ tableType | event | String | Yes | Table type, event: transaction table, user: user table |
∟ timeUnit | String | No | Filter time unit | |
∟ relation | and | String | No | Logical relationship, and: logical and, or: logical or |
projectId | 377 | Integer | Yes | Project ID |
limit | 2 | Integer | No | Maximum number of groups per analysis object, optional parameters, default is 1000, maximum is 10000 |
timeoutSeconds | 10 | Integer | No | Request timed out parameter, timeout cancels query task |
useCache | true | Boolean | No | Use cache, optional parameter, default is true |
# Successful Response Example
{
"data": {
"result_generate_time": "2022-01-26 19:23:51",
"total": 5,
"x": [
"2021-10-01",
"2021-10-02",
"2021-10-03",
"2021-10-04",
"2021-10-05",
"2021-10-06",
"2021-10-07",
"2021-10-08",
"2021-10-09",
"2021-10-10",
"2021-10-11",
"2021-10-12",
"2021-10-13",
"2021-10-14",
"2021-10-15",
"2021-10-16",
"2021-10-17",
"2021-10-18",
"2021-10-19",
"2021-10-20",
"2021-10-21",
"2021-10-22",
"2021-10-23",
"2021-10-24",
"2021-10-25",
"2021-10-26",
"2021-10-27",
"2021-10-28",
"2021-10-29",
"2021-10-30",
"2021-10-31"
],
"y": [
{
"total": {
"col1": [
5666,
197,
197,
197
],
"col2": [
[
208,
10,
10,
10
],
[
205,
4,
4,
4
],
[
189,
5,
5,
5
],
[
229,
10,
10,
10
],
[
217,
6,
6,
6
],
[
257,
10,
10,
10
],
[
233,
6,
6,
6
],
[
207,
7,
7,
7
],
[
204,
7,
7,
7
],
[
248,
14,
14,
14
],
[
217,
4,
4,
4
],
[
207,
9,
9,
9
],
[
219,
8,
8,
8
],
[
220,
4,
4,
4
],
[
193,
10,
10,
10
],
[
218,
9,
9,
9
],
[
232,
7,
7,
7
],
[
222,
10,
10,
10
],
[
220,
8,
8,
8
],
[
203,
6,
6,
6
],
[
217,
8,
8,
8
],
[
239,
3,
3,
3
],
[
214,
5,
5,
5
],
[
197,
11,
11,
11
],
[
199,
8,
8,
8
],
[
135,
7,
7,
7
],
[
73,
1,
1,
1
],
[
33,
0,
0,
0
],
[
11,
0,
0,
0
],
[
0,
0,
0,
0
],
[
0,
0,
0,
0
]
]
}
},
{
"Beijing": {
"col1": [
2028,
70,
70,
70
],
"col2": [
[
79,
1,
1,
1
],
[
71,
2,
2,
2
],
[
65,
0,
0,
0
],
[
74,
3,
3,
3
],
[
72,
2,
2,
2
],
[
89,
3,
3,
3
],
[
88,
2,
2,
2
],
[
75,
3,
3,
3
],
[
66,
4,
4,
4
],
[
95,
1,
1,
1
],
[
60,
1,
1,
1
],
[
68,
5,
5,
5
],
[
80,
5,
5,
5
],
[
68,
2,
2,
2
],
[
67,
6,
6,
6
],
[
84,
4,
4,
4
],
[
84,
1,
1,
1
],
[
87,
1,
1,
1
],
[
79,
6,
6,
6
],
[
76,
1,
1,
1
],
[
81,
3,
3,
3
],
[
85,
1,
1,
1
],
[
89,
2,
2,
2
],
[
75,
3,
3,
3
],
[
74,
5,
5,
5
],
[
49,
2,
2,
2
],
[
26,
1,
1,
1
],
[
16,
0,
0,
0
],
[
6,
0,
0,
0
],
[
0,
0,
0,
0
],
[
0,
0,
0,
0
]
]
}
}
],
"z": [
"register",
"login",
"activity_attend",
"logout"
]
},
"return_code": 0,
"return_message": "success"
}
# Response Parameter Description
Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | 0 | Integer | Return code |
return_message | success | String | Return information |
data | - | Object | Return result |
∟ result_generate_time | 2022-01-01 00:00:00 | String | Calculation result generation time |
∟ total | 5 | Integer | Total |
∟ x | ["2021-10-01"] | List | Time list |
∟ y | - | List | Data List |
∟ z | ["register"] | List | List of event names |
Error Response Example
{
"return_code": -1008,
"return_message": "The parameter (token) is empty"
}
Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | -1008 | Integer | Return code |
return_message | The parameter (token) is empty | String | Return information |
# Funnel Analysis User List
Interface URL
/open/funnel-user-list?token=xxx
Request method
POST
Content-Type
application/json
Request Query parameter
Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | token |
projectId | 0 | Integer | Yes | Project ID |
# Request Body Parameter
{
"projectId": 0,
"eventView": {
"startTime": "2019-11-23 00:00:00",
"endTime": "2019-11-26 00:00:00",
"recentDay": "1-4",
"relation": "and",
"timeParticleSize": "day",
"filts": [
{
"columnName": "user_level",
"comparator": "equal",
"ftv": [
"5"
],
"tableType": "user"
}
],
"groupBy": [
{
"columnName": "#province",
"tableType": "event"
}
]
},
"events": [
{
"eventName": "obtain_item",
"relation": "and",
"filts": [
{
"columnName": "#province",
"comparator": "equal",
"ftv": [
"Jiangsu",
"Shanghai"
],
"tableType": "event"
}
]
}
],
"sliceFunnelStep": 1,
"sliceGroupVal": "['Shanghai']",
"timeoutSeconds": 10
}
# Request Parameter Description
Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
projectId | 0 | String | Yes | Parameter description |
eventView | - | Object | Yes | Group property table |
∟ startTime | 2019-11-24 00:00:00 | String | No | Start time (format: yyyy-MM-dd HH: mm: ss), valid when the relative time is empty |
∟ endTime | 2019-11-26 00:00:00 | String | No | End time (format: yyyy-MM-dd HH: mm: ss), valid when the relative time is empty |
∟ recentDay | 1-3 | String | No | Relative time (this item cannot be empty at the same time as the start time and the end time) |
∟ relation | and | String | No | Logical relationship, and: logical and, or: logical or |
∟ timeParticleSize | day | String | Yes | Unit of time for analysis Press 1 minute Minute 5: Press 5 minutes (v3.5 starts to support) Minute 10: Press 10 minutes (v3.5 start support) By the hour By day Week: by week Month: by month Total: total |
∟ filts | - | List | No | Filter List |
∟ columnName | user_level | String | Yes | Field name |
∟ comparator | equal | String | Yes | Reference: Filtered expression for model query API |
∟ ftv | ["5"] | List | No | Property comparison value |
∟ tableType | user | String | Yes | Table type, event: transaction table, user: user table |
∟ groupBy | - | List | No | Group attributes, can have zero or more |
∟ columnName | #province | String | Yes | Field name |
∟ tableType | event | String | Yes | Table type, event: transaction table, user: user table |
events | List | Yes | List of event indicators | |
∟ eventName | obtain_item | String | Yes | Event type, in particular, you can use anyEvent to represent any event |
∟ relation | and | String | No | Logical relationship, and: logical and, or: logical or |
∟ filts | - | List | No | Filter List |
∟ columnName | #province | String | Yes | Field name |
∟ comparator | equal | String | Yes | Reference: Filtered expression for model query API |
∟ ftv | ["Jiangsu Province"] | List | No | Property comparison value |
∟ tableType | event | String | Yes | Table type, event: transaction table, user: user table |
sliceFunnelStep | 1 | Integer | Yes | Funnel step, starting from 1 |
sliceGroupVal | "['Shanghai']" | String | No | Where grouping |
timeoutSeconds | 10 | Integer | No | Request timed out parameter, timeout cancels query task |
# Successful Response Example
{
"data": {
"datalist": [
{
"#account_id": "u78082246",
"#distinct_id": "u145009846",
"user_level": 5,
"register_time": "2019-11-26 09:59:34",
"diamond_num": 1006,
"latest_login_time": "2019-11-26 11:14:12",
"channel": "Xiaomi App store",
"#user_id": 33463846
},
{
"#account_id": "k77655236",
"#distinct_id": "k144216836",
"user_level": 5,
"register_time": "2019-11-24 08:53:09",
"diamond_num": 1012,
"latest_login_time": "2019-11-24 10:02:38",
"channel": "Wangdoujia",
"#user_id": 33280836
},
{
"#account_id": "a77648226",
"#distinct_id": "a144203826",
"user_level": 5,
"register_time": "2019-11-24 08:21:19",
"diamond_num": 1006,
"latest_login_time": "2019-11-24 09:32:31",
"channel": "Application treasure",
"#user_id": 33277826
}
],
"columMeta": {
"#account_id": "account ID",
"#distinct_id": "visitor ID",
"user_level": "user level",
"register_time": "register time",
"diamond_num": "diamond number",
"first_recharge_time": "first recharge time",
"latest_login_time": "lastest login time",
"channel": "channel"
}
},
"return_code": 0,
"return_message": "success"
}
# Response Parameter Description
Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | 0 | Integer | Return code |
return_message | success | String | Return information |
data | - | Object | Return result |
∟ datalist | - | List | User Information |
∟ columMeta | - | Map | Field meaning mapping |
Error Response Example
{
"return_code": -1008,
"return_message": "The parameter (token) is empty"
}
Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | -1008 | Integer | Return code |
return_message | The parameter (token) is empty | String | Return information |