Skip to content

Commit 251081a

Browse files
committed
change pricing for winning variation
1 parent 84a32c1 commit 251081a

File tree

3 files changed

+123
-124
lines changed

3 files changed

+123
-124
lines changed

Diff for: experimentation-automation/experimentGeneratorGeneral.tsx

+114-114
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import {
2222
} from "@/experimentation-automation/experimentationConstants";
2323
import { useLDClientError } from "launchdarkly-react-client-sdk";
2424
import { capitalizeFirstLetter } from "@/utils/utils";
25+
import { set } from "lodash";
2526

2627
export default function ExperimentGenerator({
2728
title,
@@ -50,118 +51,117 @@ export default function ExperimentGenerator({
5051
updateAudienceContext();
5152
};
5253

53-
const generatorFunction = (experimentationKey:string,experimentTypeObj:any)=>{
54+
// const generatorFunction = (experimentationKey:string,experimentTypeObj:any)=>{
55+
// console.log(experimentationKey)
56+
// switch (experimentationKey) {
57+
// case MARKETPLACE_SUGGESTED_ITEMS_EXPERIMENTATION_KEY:
58+
// generateSuggestedItemsFeatureExperimentResults({
59+
// client: client,
60+
// updateContext: updateContext,
61+
// setProgress: setProgress,
62+
// setExpGenerator: setExpGenerator,
63+
// experimentTypeObj: experimentTypeObj,
64+
// });
65+
// break;
66+
// case AIRWAYS_CHATBOT_AI_EXPERIMENTATION_KEY:
67+
// generateAIChatBotFeatureExperimentResults({
68+
// client: client,
69+
// updateContext: updateContext,
70+
// setProgress: setProgress,
71+
// setExpGenerator: setExpGenerator,
72+
// experimentTypeObj: experimentTypeObj,
73+
// });
74+
// break;
75+
// case MARKETPLACE_NEW_SEARCH_ENGINE_EXPERIMENTATION_KEY:
76+
// generateNewSearchEngineFeatureExperimentResults({
77+
// client: client,
78+
// updateContext: updateContext,
79+
// setProgress: setProgress,
80+
// setExpGenerator: setExpGenerator,
81+
// experimentTypeObj: experimentTypeObj,
82+
// });
83+
// break;
84+
// case MARKETPLACE_STORE_HEADER_EXPERIMENTATION_KEY:
85+
// generateStoreHeaderFunnelExperimentResults({
86+
// client: client,
87+
// updateContext: updateContext,
88+
// setProgress: setProgress,
89+
// setExpGenerator: setExpGenerator,
90+
// experimentTypeObj: experimentTypeObj,
91+
// });
92+
// break;
93+
// case MARKETPLACE_SHORTEN_COLLECTIONS_PAGE_EXPERIMENTATION_KEY:
94+
// generateShortenCollectionsPageFunnelExperimentResults({
95+
// client: client,
96+
// updateContext: updateContext,
97+
// setProgress: setProgress,
98+
// setExpGenerator: setExpGenerator,
99+
// experimentTypeObj: experimentTypeObj,
100+
// });
101+
// break;
102+
// default:
103+
// alert("No function exist for feature experimentation");
104+
// }
105+
// //setExperimentTypeObj({ experimentType: "", numOfRuns: 0 });
106+
// }
54107

55-
console.log(experimentationKey)
56-
switch (experimentationKey) {
57-
case MARKETPLACE_SUGGESTED_ITEMS_EXPERIMENTATION_KEY:
58-
generateSuggestedItemsFeatureExperimentResults({
59-
client: client,
60-
updateContext: updateContext,
61-
setProgress: setProgress,
62-
setExpGenerator: setExpGenerator,
63-
experimentTypeObj: experimentTypeObj,
64-
});
65-
break;
66-
case AIRWAYS_CHATBOT_AI_EXPERIMENTATION_KEY:
67-
generateAIChatBotFeatureExperimentResults({
68-
client: client,
69-
updateContext: updateContext,
70-
setProgress: setProgress,
71-
setExpGenerator: setExpGenerator,
72-
experimentTypeObj: experimentTypeObj,
73-
});
74-
break;
75-
case MARKETPLACE_NEW_SEARCH_ENGINE_EXPERIMENTATION_KEY:
76-
generateNewSearchEngineFeatureExperimentResults({
77-
client: client,
78-
updateContext: updateContext,
79-
setProgress: setProgress,
80-
setExpGenerator: setExpGenerator,
81-
experimentTypeObj: experimentTypeObj,
82-
});
83-
break;
84-
case MARKETPLACE_STORE_HEADER_EXPERIMENTATION_KEY:
85-
generateStoreHeaderFunnelExperimentResults({
86-
client: client,
87-
updateContext: updateContext,
88-
setProgress: setProgress,
89-
setExpGenerator: setExpGenerator,
90-
experimentTypeObj: experimentTypeObj,
91-
});
92-
break;
93-
case MARKETPLACE_SHORTEN_COLLECTIONS_PAGE_EXPERIMENTATION_KEY:
94-
generateShortenCollectionsPageFunnelExperimentResults({
95-
client: client,
96-
updateContext: updateContext,
97-
setProgress: setProgress,
98-
setExpGenerator: setExpGenerator,
99-
experimentTypeObj: experimentTypeObj,
100-
});
101-
break;
102-
default:
103-
alert("No function exist for feature experimentation");
108+
useEffect(() => {
109+
if (expGenerator) {
110+
switch (experimentationKey) {
111+
case MARKETPLACE_SUGGESTED_ITEMS_EXPERIMENTATION_KEY:
112+
generateSuggestedItemsFeatureExperimentResults({
113+
client: client,
114+
updateContext: updateContext,
115+
setProgress: setProgress,
116+
setExpGenerator: setExpGenerator,
117+
experimentTypeObj: experimentTypeObj,
118+
});
119+
break;
120+
case AIRWAYS_CHATBOT_AI_EXPERIMENTATION_KEY:
121+
generateAIChatBotFeatureExperimentResults({
122+
client: client,
123+
updateContext: updateContext,
124+
setProgress: setProgress,
125+
setExpGenerator: setExpGenerator,
126+
experimentTypeObj: experimentTypeObj,
127+
});
128+
break;
129+
case MARKETPLACE_NEW_SEARCH_ENGINE_EXPERIMENTATION_KEY:
130+
generateNewSearchEngineFeatureExperimentResults({
131+
client: client,
132+
updateContext: updateContext,
133+
setProgress: setProgress,
134+
setExpGenerator: setExpGenerator,
135+
experimentTypeObj: experimentTypeObj,
136+
});
137+
break;
138+
case MARKETPLACE_STORE_HEADER_EXPERIMENTATION_KEY:
139+
generateStoreHeaderFunnelExperimentResults({
140+
client: client,
141+
updateContext: updateContext,
142+
setProgress: setProgress,
143+
setExpGenerator: setExpGenerator,
144+
experimentTypeObj: experimentTypeObj,
145+
});
146+
break;
147+
case MARKETPLACE_SHORTEN_COLLECTIONS_PAGE_EXPERIMENTATION_KEY:
148+
generateShortenCollectionsPageFunnelExperimentResults({
149+
client: client,
150+
updateContext: updateContext,
151+
setProgress: setProgress,
152+
setExpGenerator: setExpGenerator,
153+
experimentTypeObj: experimentTypeObj,
154+
});
155+
break;
156+
default:
157+
alert("No function exist for feature experimentation");
158+
}
104159
}
105-
//setExperimentTypeObj({ experimentType: "", numOfRuns: 0 });
106-
}
107160

108-
// useEffect(() => {
109-
// if (expGenerator) {
110-
// switch (experimentationKey) {
111-
// case MARKETPLACE_SUGGESTED_ITEMS_EXPERIMENTATION_KEY:
112-
// generateSuggestedItemsFeatureExperimentResults({
113-
// client: client,
114-
// updateContext: updateContext,
115-
// setProgress: setProgress,
116-
// setExpGenerator: setExpGenerator,
117-
// experimentTypeObj: experimentTypeObj,
118-
// });
119-
// break;
120-
// case AIRWAYS_CHATBOT_AI_EXPERIMENTATION_KEY:
121-
// generateAIChatBotFeatureExperimentResults({
122-
// client: client,
123-
// updateContext: updateContext,
124-
// setProgress: setProgress,
125-
// setExpGenerator: setExpGenerator,
126-
// experimentTypeObj: experimentTypeObj,
127-
// });
128-
// break;
129-
// case MARKETPLACE_NEW_SEARCH_ENGINE_EXPERIMENTATION_KEY:
130-
// generateNewSearchEngineFeatureExperimentResults({
131-
// client: client,
132-
// updateContext: updateContext,
133-
// setProgress: setProgress,
134-
// setExpGenerator: setExpGenerator,
135-
// experimentTypeObj: experimentTypeObj,
136-
// });
137-
// break;
138-
// case MARKETPLACE_STORE_HEADER_EXPERIMENTATION_KEY:
139-
// generateStoreHeaderFunnelExperimentResults({
140-
// client: client,
141-
// updateContext: updateContext,
142-
// setProgress: setProgress,
143-
// setExpGenerator: setExpGenerator,
144-
// experimentTypeObj: experimentTypeObj,
145-
// });
146-
// break;
147-
// case MARKETPLACE_SHORTEN_COLLECTIONS_PAGE_EXPERIMENTATION_KEY:
148-
// generateShortenCollectionsPageFunnelExperimentResults({
149-
// client: client,
150-
// updateContext: updateContext,
151-
// setProgress: setProgress,
152-
// setExpGenerator: setExpGenerator,
153-
// experimentTypeObj: experimentTypeObj,
154-
// });
155-
// break;
156-
// default:
157-
// alert("No function exist for feature experimentation");
158-
// }
159-
// }
160-
161-
// return () => {
162-
// setExperimentTypeObj({ experimentType: "", numOfRuns: 0 });
163-
// };
164-
// }, [expGenerator]);
161+
return () => {
162+
setExperimentTypeObj({ experimentType: "", numOfRuns: 0 });
163+
};
164+
}, [expGenerator]);
165165

166166
return (
167167
<>
@@ -197,8 +197,8 @@ export default function ExperimentGenerator({
197197

198198
const bayesianExperimentTypeObj = { experimentType: "bayesian", numOfRuns: 500 };
199199
setExperimentTypeObj(bayesianExperimentTypeObj);
200-
generatorFunction(experimentationKey,bayesianExperimentTypeObj );
201-
200+
//generatorFunction(experimentationKey,bayesianExperimentTypeObj );
201+
setExpGenerator(true);
202202

203203
}}
204204
className={`mt-2 ${"bg-gradient-airways"} p-2 rounded-sm hover:brightness-125 text-white`}
@@ -209,9 +209,9 @@ export default function ExperimentGenerator({
209209
<button
210210
onClick={async () => {
211211
const frequentistExperimentTypeObj = { experimentType: "frequentist", numOfRuns: 10000 };
212-
setExperimentTypeObj({ experimentType: "frequentist", numOfRuns: 10000 });
213-
generatorFunction(experimentationKey,frequentistExperimentTypeObj );
214-
212+
setExperimentTypeObj(frequentistExperimentTypeObj);
213+
//generatorFunction(experimentationKey,frequentistExperimentTypeObj );
214+
setExpGenerator(true);
215215
}}
216216
className={`mt-2 ${"bg-gradient-experimentation"} p-2 rounded-sm hover:brightness-125 text-white`}
217217
>

Diff for: experimentation-automation/featureExperimentGeneratorFunctions.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ export const generateSuggestedItemsFeatureExperimentResults = async ({
107107

108108
for (let i = 0; i < experimentTypeObj.numOfRuns; i++) {
109109
const cartSuggestedItems: boolean = client?.variation("cartSuggestedItems", false);
110-
if (cartSuggestedItems) {
110+
if (cartSuggestedItems) { //winner
111111
totalPrice = Math.floor(Math.random() * (500 - 300 + 1)) + 300;
112112
let probablity = Math.random() * 100;
113113
if (
@@ -164,16 +164,16 @@ export const generateNewSearchEngineFeatureExperimentResults = async ({
164164
"old-search-engine"
165165
);
166166
if (newSearchEngineFeatureFlag?.includes("new-search-engine")) {
167-
totalPrice = Math.floor(Math.random() * (500 - 300 + 1)) + 300;
167+
totalPrice = Math.floor(Math.random() * (300 - 200 + 1)) + 200;
168168
let probablity = Math.random() * 100;
169169
if (probablity < probablityExperimentTypeSearchEngine[experimentType as keyof typeof probablityExperimentTypeSearchEngine][
170170
"trueProbablity"
171171
]) {
172172
client?.track("search-engine-add-to-cart", client.getContext());
173173
}
174174
client?.track("in-cart-total-price", client.getContext(), totalPrice);
175-
} else {
176-
totalPrice = Math.floor(Math.random() * (300 - 200 + 1)) + 200;
175+
} else { //winner is old search engine
176+
totalPrice = Math.floor(Math.random() * (500 - 300 + 1)) + 300;
177177
let probablity = Math.random() * 100;
178178
if (probablity < probablityExperimentTypeSearchEngine[experimentType as keyof typeof probablityExperimentTypeSearchEngine][
179179
"falseProbablity"

Diff for: experimentation-automation/funnelExperimentGeneratorFunctions.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ const probablityExperimentTypeShortenCollection = {
6767
},
6868
["frequentist"]: {
6969
["old-long-collections-page"]: {
70-
7170
metric1: 47,
7271
metric2: 37,
7372
metric3: 27,
@@ -100,14 +99,14 @@ export const generateStoreHeaderFunnelExperimentResults = async ({
10099

101100
for (let i = 0; i < experimentTypeObj.numOfRuns; i++) {
102101
const flagVariation: string = client?.variation("storeAttentionCallout", "New Items");
102+
if (flagVariation === "New Items") {
103+
totalPrice = Math.floor(Math.random() * (300 - 200 + 1)) + 200;
104+
}
103105

104-
if (flagVariation === "Final Hours!") {
106+
if (flagVariation === "Sale") { //winner
105107
totalPrice = Math.floor(Math.random() * (500 - 300 + 1)) + 300;
106108
}
107-
if (flagVariation === "Sale") {
108-
totalPrice = Math.floor(Math.random() * (300 - 200 + 1)) + 200;
109-
}
110-
if (flagVariation === "New Items") {
109+
if (flagVariation === "Final Hours!") {
111110
totalPrice = Math.floor(Math.random() * (200 - 100 + 1)) + 100;
112111
}
113112

0 commit comments

Comments
 (0)