Skip to content

Commit 9d34061

Browse files
committed
trying to have experiment not affect each other
1 parent 0f088d7 commit 9d34061

File tree

2 files changed

+119
-61
lines changed

2 files changed

+119
-61
lines changed

Diff for: experimentation-automation/experimentGeneratorGeneral.tsx

+118-59
Original file line numberDiff line numberDiff line change
@@ -50,63 +50,118 @@ export default function ExperimentGenerator({
5050
updateAudienceContext();
5151
};
5252

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

106-
return () => {
107-
setExperimentTypeObj({ experimentType: "", numOfRuns: 0 });
108-
};
109-
}, [expGenerator]);
161+
// return () => {
162+
// setExperimentTypeObj({ experimentType: "", numOfRuns: 0 });
163+
// };
164+
// }, [expGenerator]);
110165

111166
return (
112167
<>
@@ -120,7 +175,7 @@ export default function ExperimentGenerator({
120175
<p className="font-bold font-sohnelight text-lg">{title}</p>
121176
</DialogTrigger>
122177
<DialogContent>
123-
{expGenerator && experimentTypeObj.experimentType !== "" ? (
178+
{experimentTypeObj.experimentType !== "" ? (
124179
<div className="flex justify-center items-center h-52">
125180
<div className=" font-bold font-sohne justify-center items-center text-xl text-center">
126181
Generating Data {capitalizeFirstLetter(experimentTypeObj.experimentType)}{" "}
@@ -139,9 +194,12 @@ export default function ExperimentGenerator({
139194
<div className="flex gap-x-4">
140195
<button
141196
onClick={async () => {
142-
setExperimentTypeObj({ experimentType: "bayesian", numOfRuns: 500 });
143197

144-
setExpGenerator(true);
198+
const bayesianExperimentTypeObj = { experimentType: "bayesian", numOfRuns: 500 };
199+
setExperimentTypeObj(bayesianExperimentTypeObj);
200+
generatorFunction(experimentationKey,bayesianExperimentTypeObj );
201+
202+
145203
}}
146204
className={`mt-2 ${"bg-gradient-airways"} p-2 rounded-sm hover:brightness-125 text-white`}
147205
>
@@ -150,9 +208,10 @@ export default function ExperimentGenerator({
150208

151209
<button
152210
onClick={async () => {
211+
const frequentistExperimentTypeObj = { experimentType: "frequentist", numOfRuns: 10000 };
153212
setExperimentTypeObj({ experimentType: "frequentist", numOfRuns: 10000 });
213+
generatorFunction(experimentationKey,frequentistExperimentTypeObj );
154214

155-
setExpGenerator(true);
156215
}}
157216
className={`mt-2 ${"bg-gradient-experimentation"} p-2 rounded-sm hover:brightness-125 text-white`}
158217
>

Diff for: experimentation-automation/funnelExperimentGeneratorFunctions.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,11 @@ export const generateStoreHeaderFunnelExperimentResults = async ({
9595
}): Promise<void> => {
9696
setProgress(0);
9797
let totalPrice = 0;
98-
9998
const experimentType: string = experimentTypeObj.experimentType;
10099

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

0 commit comments

Comments
 (0)