diff --git a/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx b/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx
index 5a793b211..9bc303876 100644
--- a/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx
+++ b/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx
@@ -62,7 +62,7 @@ function FunnelBar(props: Props) {
{/* @ts-ignore */}
- {filter.sessionsCount} Sessions
+ {filter.count} Sessions
({filter.completedPercentage}%) Completed
diff --git a/frontend/app/mstore/types/funnel.ts b/frontend/app/mstore/types/funnel.ts
index 3cf4f675b..198c0c166 100644
--- a/frontend/app/mstore/types/funnel.ts
+++ b/frontend/app/mstore/types/funnel.ts
@@ -20,20 +20,20 @@ export default class Funnel {
this.raw = json
}
this.totalDropDueToIssues = json.totalDropDueToIssues;
-
+
if (json.stages.length >= 1) {
const firstStage = json.stages[0]
- this.stages = json.stages ? json.stages.map((stage: any, index: number) => new FunnelStage().fromJSON(stage, firstStage.sessionsCount, index > 0 ? json.stages[index - 1].sessionsCount : stage.sessionsCount)) : []
+ this.stages = json.stages ? json.stages.map((stage: any, index: number) => new FunnelStage().fromJSON(stage, firstStage.count, index > 0 ? json.stages[index - 1].count : stage.count)) : []
const filteredStages = this.stages.filter((stage: any) => stage.isActive)
const lastStage = filteredStages[filteredStages.length - 1]
-
- this.lostConversions = firstStage.sessionsCount - lastStage.sessionsCount
- this.lostConversionsPercentage = Math.round(this.lostConversions / firstStage.sessionsCount * 100) || 0
-
- this.totalConversions = lastStage.sessionsCount
- this.totalConversionsPercentage = Math.round(this.totalConversions / firstStage.sessionsCount * 100) || 0
-
- this.conversionImpact = this.lostConversions ? Math.round((this.lostConversions / firstStage.sessionsCount) * 100) : 0;
+
+ this.lostConversions = (firstStage.count - lastStage.count) || 0
+ this.lostConversionsPercentage = Math.round(this.lostConversions / firstStage.count * 100) || 0
+
+ this.totalConversions = lastStage.count || 0
+ this.totalConversionsPercentage = Math.round(this.totalConversions / firstStage.count * 100) || 0
+
+ this.conversionImpact = this.lostConversions ? Math.round((this.lostConversions / firstStage.count) * 100) : 0;
this.affectedUsers = firstStage.usersCount ? firstStage.usersCount - lastStage.usersCount : 0;
}
diff --git a/frontend/app/mstore/types/funnelStage.ts b/frontend/app/mstore/types/funnelStage.ts
index 7d79bb402..9b158363d 100644
--- a/frontend/app/mstore/types/funnelStage.ts
+++ b/frontend/app/mstore/types/funnelStage.ts
@@ -5,7 +5,7 @@ export default class FunnelStage {
dropDueToIssuesPercentage: number = 0;
dropPct: number = 0;
operator: string = "";
- sessionsCount: number = 0;
+ count: number = 0;
usersCount: number = 0;
type: string = '';
value: string[] = [];
@@ -28,15 +28,15 @@ export default class FunnelStage {
this.dropDueToIssues = json.dropDueToIssues || 0;
this.dropPct = json.dropPct;
this.operator = json.operator;
- this.sessionsCount = json.sessionsCount || 0;
+ this.count = json.count || 0;
this.usersCount = json.usersCount;
this.value = json.value;
this.type = json.type;
this.label = filterLabelMap[json.type] || json.type;
- this.completedPercentage = total ? Math.round((this.sessionsCount / previousSessionCount) * 100) : 0;
- this.completedPercentageTotal = total ? Math.round((this.sessionsCount / total) * 100) : 0;
+ this.completedPercentage = total ? Math.round((this.count / previousSessionCount) * 100) : 0;
+ this.completedPercentageTotal = total ? Math.round((this.count / total) * 100) : 0;
this.dropDueToIssuesPercentage = total ? Math.round((this.dropDueToIssues / total) * 100) : 0;
- this.droppedCount = previousSessionCount - this.sessionsCount;
+ this.droppedCount = previousSessionCount - this.count;
this.droppedPercentage = this.droppedCount ? Math.round((this.droppedCount / previousSessionCount) * 100) : 0;
return this;
}
@@ -44,4 +44,4 @@ export default class FunnelStage {
updateKey(key: any, value: any) {
this[key] = value
}
-}
\ No newline at end of file
+}
diff --git a/frontend/app/types/funnel.js b/frontend/app/types/funnel.js
index 24d4e02a8..0ab03d127 100644
--- a/frontend/app/types/funnel.js
+++ b/frontend/app/types/funnel.js
@@ -48,7 +48,7 @@ export default Record({
return true;
},
toData() {
- const js = this.toJS();
+ const js = this.toJS();
return js;
}
},
@@ -58,18 +58,18 @@ export default Record({
stage.label = `Step ${index + 1}`;
return stage;
});
-
+
let firstStage = _stages.length > 0 ? _stages[0] : {};
let lastStage = _stages ? _stages[_stages.length - 1] : {};
-
+
if (activeStages && activeStages.length === 2) {
firstStage = _stages[activeStages[0]];
lastStage = _stages[activeStages[1]];
}
-
+
const affectedUsers = firstStage.usersCount ? firstStage.usersCount - lastStage.usersCount : 0;
const lostConversions = rest.totalDropDueToIssues;
- const conversionImpact = lostConversions ? Math.round((lostConversions / firstStage.sessionsCount) * 100) : 0;
+ const conversionImpact = lostConversions ? Math.round((lostConversions / firstStage.count) * 100) : 0;
return {
...rest,
@@ -87,7 +87,7 @@ export default Record({
firstStage: firstStage && firstStage.label || '',
lastStage: lastStage && lastStage.label || '',
filter: Filter(filter),
- sessionsCount: lastStage && lastStage.sessionsCount,
+ sessionsCount: lastStage && lastStage.count,
stepsCount: stages ? stages.length : 0,
conversions: 100 - conversionImpact
}