diff --git a/python/src/robyn/tutorials/tutorial6_allocator_new.ipynb b/python/src/robyn/tutorials/tutorial6_allocator_new.ipynb index 0398ee6a4..579d5a44e 100644 --- a/python/src/robyn/tutorials/tutorial6_allocator_new.ipynb +++ b/python/src/robyn/tutorials/tutorial6_allocator_new.ipynb @@ -18,9 +18,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-11-19 16:21:43,616 - robyn - INFO - Logging is set up to console only.\n", + "/Users/yijuilee/robynpy_release_reviews/robynvenv/lib/python3.9/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], "source": [ "## Step 1: Setup and Import\n", "import sys\n", @@ -44,9 +54,439 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Adjusted window_start to the closest date in the data: 2016-01-04 00:00:00\n", + "Adjusted window_end to the closest date in the data: 2018-12-31 00:00:00\n", + "Debug: R output data keys: ['trial1', 'trial2', 'trial3', 'trial4', 'trial5']\n", + "Data for trial1: Keys = ['resultCollect', 'hyperBoundNG', 'hyperBoundFixed']\n", + "Debug: resultCollect keys for trial1: ['resultHypParam', 'xDecompAgg', 'liftCalibration', 'decompSpendDist', 'iter', 'elapsed.min']\n", + "Debug: Sample resultHypParam for trial1: [{'facebook_S_alphas': 1.98202923325, 'facebook_S_gammas': 0.58424338159, 'facebook_S_thetas': 0.09072730547999999, 'newsletter_alphas': 1.7514167265, 'newsletter_gammas': 0.6585122811199999, 'newsletter_thetas': 0.22826231587, 'ooh_S_alphas': 1.9350874957500002, 'ooh_S_gammas': 0.80499137605, 'ooh_S_thetas': 0.26847073588000003, 'print_S_alphas': 1.3471347205000002, 'print_S_gammas': 0.6602001640299999, 'print_S_thetas': 0.34398200833000003, 'search_S_alphas': 1.835435262, 'search_S_gammas': 0.6915214566899999, 'search_S_thetas': 0.11253588111, 'tv_S_alphas': 1.71477961025, 'tv_S_gammas': 0.6107644945299999, 'tv_S_thetas': 0.6227415716, 'train_size': 0.61856108114, 'rsq_train': 0.10198158252076239, 'rsq_val': 0.021397876288926865, 'rsq_test': 0.059633134934436116, 'nrmse_train': 0.20768886613981408, 'nrmse_val': 0.2510638317415451, 'nrmse_test': 0.2739366341935689, 'nrmse': 0.2510638317415451, 'decomp.rssd': 0.7387345487830449, 'mape': 254.997794684418, 'lambda': 18093948.648772765, 'lambda_hp': 0.27625089, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.2593371868133545, 'ElapsedAccum': 0.2593371868133545, 'solID': '1_1_1', 'trial': 1, 'iterNG': 1, 'iterPar': 1}, {'facebook_S_alphas': 2.13765259325, 'facebook_S_gammas': 0.42364386608, 'facebook_S_thetas': 0.12368481942, 'newsletter_alphas': 1.721916049, 'newsletter_gammas': 0.66121546692, 'newsletter_thetas': 0.2789959496800001, 'ooh_S_alphas': 1.90420954525, 'ooh_S_gammas': 0.59705913727, 'ooh_S_thetas': 0.24133469173000002, 'print_S_alphas': 1.4684801765, 'print_S_gammas': 0.50496358274, 'print_S_thetas': 0.27695903143, 'search_S_alphas': 0.94155382925, 'search_S_gammas': 0.6002982903899999, 'search_S_thetas': 0.11599871313, 'tv_S_alphas': 1.2398895095, 'tv_S_gammas': 0.78885642701, 'tv_S_thetas': 0.5454301258500001, 'train_size': 0.6855719732900001, 'rsq_train': 0.02993615553141049, 'rsq_val': -0.9174868091240937, 'rsq_test': -0.32234322252740855, 'nrmse_train': 0.22104133020564956, 'nrmse_val': 0.37549407063522106, 'nrmse_test': 0.29324823877409334, 'nrmse': 0.37549407063522106, 'decomp.rssd': 0.7378530292794754, 'mape': 140.9801912405795, 'lambda': 32809098.543785743, 'lambda_hp': 0.500997019, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.2680649757385254, 'ElapsedAccum': 0.2765321731567383, 'solID': '1_1_2', 'trial': 1, 'iterNG': 1, 'iterPar': 2}, {'facebook_S_alphas': 2.6102667695, 'facebook_S_gammas': 0.7965459132199999, 'facebook_S_thetas': 0.18093507563999997, 'newsletter_alphas': 1.474268538, 'newsletter_gammas': 0.7942075329799999, 'newsletter_thetas': 0.21827078182000004, 'ooh_S_alphas': 1.7420353035, 'ooh_S_gammas': 0.57903756594, 'ooh_S_thetas': 0.21340826473000002, 'print_S_alphas': 2.664442167, 'print_S_gammas': 0.64652444988, 'print_S_thetas': 0.18970933642, 'search_S_alphas': 1.9373516685, 'search_S_gammas': 0.77617718407, 'search_S_thetas': 0.11917073759999999, 'tv_S_alphas': 1.6431689645, 'tv_S_gammas': 0.59425968817, 'tv_S_thetas': 0.52882370115, 'train_size': 0.73910106455, 'rsq_train': 0.31656676763193803, 'rsq_val': -0.9698909963340274, 'rsq_test': -0.27616084783434935, 'nrmse_train': 0.1799766193574899, 'nrmse_val': 0.37924153313856945, 'nrmse_test': 0.2724556485517393, 'nrmse': 0.37924153313856945, 'decomp.rssd': 0.7091714836890803, 'mape': 441.6234303067108, 'lambda': 7564606.713491391, 'lambda_hp': 0.1154350738, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.2782931327819824, 'ElapsedAccum': 0.29243922233581543, 'solID': '1_1_3', 'trial': 1, 'iterNG': 1, 'iterPar': 3}]\n", + "Data for trial2: Keys = ['resultCollect', 'hyperBoundNG', 'hyperBoundFixed']\n", + "Debug: resultCollect keys for trial2: ['resultHypParam', 'xDecompAgg', 'liftCalibration', 'decompSpendDist', 'iter', 'elapsed.min']\n", + "Debug: Sample resultHypParam for trial2: [{'facebook_S_alphas': 1.969735397, 'facebook_S_gammas': 0.59446844875, 'facebook_S_thetas': 0.18789261527999998, 'newsletter_alphas': 2.1721561695, 'newsletter_gammas': 0.67584332464, 'newsletter_thetas': 0.24473105950000001, 'ooh_S_alphas': 1.2867634145000002, 'ooh_S_gammas': 0.5521556121, 'ooh_S_thetas': 0.22863972598, 'print_S_alphas': 1.782033138, 'print_S_gammas': 0.52620962644, 'print_S_thetas': 0.24378683362000003, 'search_S_alphas': 1.23620915375, 'search_S_gammas': 0.56970318445, 'search_S_thetas': 0.10240128567, 'tv_S_alphas': 1.8809674787500001, 'tv_S_gammas': 0.7531530478299999, 'tv_S_thetas': 0.623142322, 'train_size': 0.65475120224, 'rsq_train': 0.024302994116170318, 'rsq_val': -0.09245816170619392, 'rsq_test': -0.24605222123558712, 'nrmse_train': 0.2259095913561518, 'nrmse_val': 0.24424773438941985, 'nrmse_test': 0.27845013960552334, 'nrmse': 0.24424773438941985, 'decomp.rssd': 0.6993171497949834, 'mape': 171.89298729761305, 'lambda': 30978136.698652796, 'lambda_hp': 0.4730325341, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.13280296325683594, 'ElapsedAccum': 0.12935090065002441, 'solID': '2_1_1', 'trial': 2, 'iterNG': 1, 'iterPar': 1}, {'facebook_S_alphas': 1.702468019, 'facebook_S_gammas': 0.71312272582, 'facebook_S_thetas': 0.14280236001, 'newsletter_alphas': 1.7522845299999998, 'newsletter_gammas': 0.51880532499, 'newsletter_thetas': 0.2214666667, 'ooh_S_alphas': 2.26819374975, 'ooh_S_gammas': 0.8391278064199998, 'ooh_S_thetas': 0.32686431721000003, 'print_S_alphas': 1.30028957725, 'print_S_gammas': 0.6388199777199999, 'print_S_thetas': 0.29632390756000004, 'search_S_alphas': 1.6434603882499998, 'search_S_gammas': 0.9094389734999999, 'search_S_thetas': 0.0984476907, 'tv_S_alphas': 2.006100935, 'tv_S_gammas': 0.75686602171, 'tv_S_thetas': 0.57648914425, 'train_size': 0.62935527005, 'rsq_train': -0.04378064883950139, 'rsq_val': -0.05558987973430374, 'rsq_test': -0.23270301971892593, 'nrmse_train': 0.2301604628006639, 'nrmse_val': 0.2530979753458722, 'nrmse_test': 0.29808966210537496, 'nrmse': 0.2530979753458722, 'decomp.rssd': 0.7572010247765469, 'mape': 93.89661228146262, 'lambda': 56774810.7514837, 'lambda_hp': 0.8670280201, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.12904906272888184, 'ElapsedAccum': 0.12904906272888184, 'solID': '2_1_2', 'trial': 2, 'iterNG': 1, 'iterPar': 2}, {'facebook_S_alphas': 1.2922413815, 'facebook_S_gammas': 0.7757542953099998, 'facebook_S_thetas': 0.11299837095, 'newsletter_alphas': 2.15104584075, 'newsletter_gammas': 0.56320636643, 'newsletter_thetas': 0.27514373194, 'ooh_S_alphas': 1.5046718505, 'ooh_S_gammas': 0.5766918968799999, 'ooh_S_thetas': 0.30264047659000004, 'print_S_alphas': 1.5679596055, 'print_S_gammas': 0.53931032895, 'print_S_thetas': 0.23552232877000004, 'search_S_alphas': 2.00468257975, 'search_S_gammas': 0.45084813078999997, 'search_S_thetas': 0.2148983196, 'tv_S_alphas': 2.05144804425, 'tv_S_gammas': 0.59157419592, 'tv_S_thetas': 0.4226344842, 'train_size': 0.6596490610100001, 'rsq_train': 0.060024387750873154, 'rsq_val': -0.048633151070699876, 'rsq_test': -0.1088574882188933, 'nrmse_train': 0.22173562626335916, 'nrmse_val': 0.24136771901422358, 'nrmse_test': 0.2731320919403799, 'nrmse': 0.24136771901422358, 'decomp.rssd': 0.7076307062459338, 'mape': 214.433744390862, 'lambda': 23839881.759493034, 'lambda_hp': 0.3640091686, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.140625, 'ElapsedAccum': 0.14563608169555664, 'solID': '2_1_3', 'trial': 2, 'iterNG': 1, 'iterPar': 3}]\n", + "Data for trial3: Keys = ['resultCollect', 'hyperBoundNG', 'hyperBoundFixed']\n", + "Debug: resultCollect keys for trial3: ['resultHypParam', 'xDecompAgg', 'liftCalibration', 'decompSpendDist', 'iter', 'elapsed.min']\n", + "Debug: Sample resultHypParam for trial3: [{'facebook_S_alphas': 1.42595433325, 'facebook_S_gammas': 0.54711552922, 'facebook_S_thetas': 0.23680174443000002, 'newsletter_alphas': 2.216682005, 'newsletter_gammas': 0.7205208677599999, 'newsletter_thetas': 0.26717646838000003, 'ooh_S_alphas': 1.6636607005000001, 'ooh_S_gammas': 0.53588271952, 'ooh_S_thetas': 0.27071919739000005, 'print_S_alphas': 2.30530213725, 'print_S_gammas': 0.6174420833500001, 'print_S_thetas': 0.26496289399000006, 'search_S_alphas': 1.96944292575, 'search_S_gammas': 0.59408981994, 'search_S_thetas': 0.15272317284, 'tv_S_alphas': 1.7901428719999999, 'tv_S_gammas': 0.9183620226, 'tv_S_thetas': 0.50626572325, 'train_size': 0.58145508944, 'rsq_train': 0.023923635325727055, 'rsq_val': -0.2399172252612778, 'rsq_test': -0.05071428291616753, 'nrmse_train': 0.20569253802629722, 'nrmse_val': 0.27218697231706224, 'nrmse_test': 0.2942357088004349, 'nrmse': 0.27218697231706224, 'decomp.rssd': 0.7563839026409845, 'mape': 210.32728431787862, 'lambda': 24310568.77535071, 'lambda_hp': 0.371198024, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.12682199478149414, 'ElapsedAccum': 0.12682199478149414, 'solID': '3_1_1', 'trial': 3, 'iterNG': 1, 'iterPar': 1}, {'facebook_S_alphas': 1.3075274490000002, 'facebook_S_gammas': 0.6402610259299999, 'facebook_S_thetas': 0.2439596538, 'newsletter_alphas': 1.471971828, 'newsletter_gammas': 0.8257656256999999, 'newsletter_thetas': 0.24212541844000002, 'ooh_S_alphas': 1.0903579425, 'ooh_S_gammas': 0.6754055558400001, 'ooh_S_thetas': 0.25090802866000006, 'print_S_alphas': 1.43480565025, 'print_S_gammas': 0.7020355254299999, 'print_S_thetas': 0.24521025133000005, 'search_S_alphas': 1.69858265675, 'search_S_gammas': 0.6948231485799999, 'search_S_thetas': 0.20786405802, 'tv_S_alphas': 1.48100197175, 'tv_S_gammas': 0.44088126821999996, 'tv_S_thetas': 0.5262901438, 'train_size': 0.7098288620600001, 'rsq_train': 0.0795989849046066, 'rsq_val': -1.5161696340570976, 'rsq_test': -0.5909404221047043, 'nrmse_train': 0.21187377398626933, 'nrmse_val': 0.40271172156020785, 'nrmse_test': 0.3249044539207952, 'nrmse': 0.40271172156020785, 'decomp.rssd': 0.6766359929661641, 'mape': 173.07890951938504, 'lambda': 24231660.08153215, 'lambda_hp': 0.3699928427, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.14476704597473145, 'ElapsedAccum': 0.14648199081420898, 'solID': '3_1_2', 'trial': 3, 'iterNG': 1, 'iterPar': 2}, {'facebook_S_alphas': 1.756767235, 'facebook_S_gammas': 0.59753939124, 'facebook_S_thetas': 0.15369155495999998, 'newsletter_alphas': 1.23646308025, 'newsletter_gammas': 0.70691062748, 'newsletter_thetas': 0.28453436908000007, 'ooh_S_alphas': 1.4457699982499999, 'ooh_S_gammas': 0.7054253063, 'ooh_S_thetas': 0.13853127817000002, 'print_S_alphas': 1.8034346095, 'print_S_gammas': 0.6899424333699999, 'print_S_thetas': 0.31738278880000004, 'search_S_alphas': 2.5318968905, 'search_S_gammas': 0.5224881243899999, 'search_S_thetas': 0.19581422679, 'tv_S_alphas': 1.94253597875, 'tv_S_gammas': 0.6726680209, 'tv_S_thetas': 0.44611176575, 'train_size': 0.6404231275100001, 'rsq_train': 0.01870147801584776, 'rsq_val': -0.012680861946891664, 'rsq_test': -0.11977914143186252, 'nrmse_train': 0.22609611642230085, 'nrmse_val': 0.23983945979698748, 'nrmse_test': 0.28428963235128096, 'nrmse': 0.23983945979698748, 'decomp.rssd': 0.7408670872653482, 'mape': 157.20237743921717, 'lambda': 31574517.451936875, 'lambda_hp': 0.482141124, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.12677311897277832, 'ElapsedAccum': 0.13491487503051758, 'solID': '3_1_3', 'trial': 3, 'iterNG': 1, 'iterPar': 3}]\n", + "Data for trial4: Keys = ['resultCollect', 'hyperBoundNG', 'hyperBoundFixed']\n", + "Debug: resultCollect keys for trial4: ['resultHypParam', 'xDecompAgg', 'liftCalibration', 'decompSpendDist', 'iter', 'elapsed.min']\n", + "Debug: Sample resultHypParam for trial4: [{'facebook_S_alphas': 1.6118753905, 'facebook_S_gammas': 0.50800158043, 'facebook_S_thetas': 0.11787046047, 'newsletter_alphas': 1.381342343, 'newsletter_gammas': 0.79482167917, 'newsletter_thetas': 0.19775722267, 'ooh_S_alphas': 1.7918598289999998, 'ooh_S_gammas': 0.9151348019599999, 'ooh_S_thetas': 0.23040222484, 'print_S_alphas': 1.14588507625, 'print_S_gammas': 0.67244394159, 'print_S_thetas': 0.23068109935000003, 'search_S_alphas': 1.70808803575, 'search_S_gammas': 0.46906481984, 'search_S_thetas': 0.12060311127000001, 'tv_S_alphas': 1.22837570225, 'tv_S_gammas': 0.8723216478, 'tv_S_thetas': 0.47053636015, 'train_size': 0.6384498992600001, 'rsq_train': -0.019338747649304322, 'rsq_val': -0.04629512088687737, 'rsq_test': -0.1925406686726654, 'nrmse_train': 0.2304367794163423, 'nrmse_val': 0.2437875013004738, 'nrmse_test': 0.29338062834638623, 'nrmse': 0.2437875013004738, 'decomp.rssd': 0.7340190449594256, 'mape': 122.33967161472044, 'lambda': 44686726.41552176, 'lambda_hp': 0.682405357, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.1561429500579834, 'ElapsedAccum': 0.1526339054107666, 'solID': '4_1_1', 'trial': 4, 'iterNG': 1, 'iterPar': 1}, {'facebook_S_alphas': 2.2093689375, 'facebook_S_gammas': 0.321307827506, 'facebook_S_thetas': 0.04802738997, 'newsletter_alphas': 1.85043199725, 'newsletter_gammas': 0.83445144494, 'newsletter_thetas': 0.25074094345000003, 'ooh_S_alphas': 1.875987409, 'ooh_S_gammas': 0.76876440779, 'ooh_S_thetas': 0.26696893312000003, 'print_S_alphas': 1.15778682875, 'print_S_gammas': 0.54956308531, 'print_S_thetas': 0.27304027627000005, 'search_S_alphas': 1.703591871, 'search_S_gammas': 0.54208353659, 'search_S_thetas': 0.15827949857999998, 'tv_S_alphas': 2.1291125465, 'tv_S_gammas': 0.5508841223, 'tv_S_thetas': 0.6246508227, 'train_size': 0.65380325771, 'rsq_train': 0.008924572942412001, 'rsq_val': -0.05931887688139259, 'rsq_test': -0.18938781344910827, 'nrmse_train': 0.2279027878995107, 'nrmse_val': 0.2424298811673721, 'nrmse_test': 0.2827070012420528, 'nrmse': 0.2424298811673721, 'decomp.rssd': 0.7292969398284127, 'mape': 159.17995322965504, 'lambda': 35710562.84778207, 'lambda_hp': 0.5453114076, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.14664506912231445, 'ElapsedAccum': 0.14664506912231445, 'solID': '4_1_2', 'trial': 4, 'iterNG': 1, 'iterPar': 2}, {'facebook_S_alphas': 2.13407114475, 'facebook_S_gammas': 0.6446904124999999, 'facebook_S_thetas': 0.11580205733999999, 'newsletter_alphas': 1.20372004625, 'newsletter_gammas': 0.4353474528, 'newsletter_thetas': 0.29244900784000005, 'ooh_S_alphas': 1.416280392, 'ooh_S_gammas': 0.84529859202, 'ooh_S_thetas': 0.2263157389, 'print_S_alphas': 2.08102194775, 'print_S_gammas': 0.56620954556, 'print_S_thetas': 0.32378618821000005, 'search_S_alphas': 1.8822154112500002, 'search_S_gammas': 0.59571059462, 'search_S_thetas': 0.18442207266, 'tv_S_alphas': 1.18024988675, 'tv_S_gammas': 0.5458351795899999, 'tv_S_thetas': 0.6567890364, 'train_size': 0.64129077092, 'rsq_train': 0.11977281066907475, 'rsq_val': 0.03261504819504524, 'rsq_test': -0.03259167211097691, 'nrmse_train': 0.21528100567439887, 'nrmse_val': 0.22992081113622215, 'nrmse_test': 0.2632531438093504, 'nrmse': 0.22992081113622215, 'decomp.rssd': 0.7043721752227999, 'mape': 237.95818867106576, 'lambda': 18062741.897502795, 'lambda_hp': 0.2757742658, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.15258193016052246, 'ElapsedAccum': 0.15634989738464355, 'solID': '4_1_3', 'trial': 4, 'iterNG': 1, 'iterPar': 3}]\n", + "Data for trial5: Keys = ['resultCollect', 'hyperBoundNG', 'hyperBoundFixed']\n", + "Debug: resultCollect keys for trial5: ['resultHypParam', 'xDecompAgg', 'liftCalibration', 'decompSpendDist', 'iter', 'elapsed.min']\n", + "Debug: Sample resultHypParam for trial5: [{'facebook_S_alphas': 2.34102792475, 'facebook_S_gammas': 0.7729972941400001, 'facebook_S_thetas': 0.12122895828, 'newsletter_alphas': 2.359536738, 'newsletter_gammas': 0.60972647314, 'newsletter_thetas': 0.19123499575000003, 'ooh_S_alphas': 1.50878919, 'ooh_S_gammas': 0.54537492784, 'ooh_S_thetas': 0.27051764992000005, 'print_S_alphas': 2.20548425275, 'print_S_gammas': 0.6311118066899999, 'print_S_thetas': 0.27435546454000004, 'search_S_alphas': 1.10401957075, 'search_S_gammas': 0.76755027494, 'search_S_thetas': 0.22836650663999997, 'tv_S_alphas': 1.72873731925, 'tv_S_gammas': 0.54739532657, 'tv_S_thetas': 0.5995540911499999, 'train_size': 0.67717626869, 'rsq_train': -0.011296701008556953, 'rsq_val': -0.7922364569148455, 'rsq_test': -0.3825484817029403, 'nrmse_train': 0.22638751597306922, 'nrmse_val': 0.37313193080116147, 'nrmse_test': 0.299684242150508, 'nrmse': 0.37313193080116147, 'decomp.rssd': 0.73509553591371, 'mape': 97.44751183870555, 'lambda': 46142238.68051317, 'lambda_hp': 0.7046355585, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.12900900840759277, 'ElapsedAccum': 0.12900900840759277, 'solID': '5_1_1', 'trial': 5, 'iterNG': 1, 'iterPar': 1}, {'facebook_S_alphas': 2.10419477725, 'facebook_S_gammas': 0.50423717482, 'facebook_S_thetas': 0.06805788974999999, 'newsletter_alphas': 2.10073996725, 'newsletter_gammas': 0.54964602593, 'newsletter_thetas': 0.23620821613000004, 'ooh_S_alphas': 1.90254107675, 'ooh_S_gammas': 0.6145167914699999, 'ooh_S_thetas': 0.18979627642000002, 'print_S_alphas': 1.56855648875, 'print_S_gammas': 0.72263101881, 'print_S_thetas': 0.27844518586, 'search_S_alphas': 1.62127909175, 'search_S_gammas': 0.65405680345, 'search_S_thetas': 0.10231826598, 'tv_S_alphas': 1.9676351377499999, 'tv_S_gammas': 0.7705308419699999, 'tv_S_thetas': 0.49518941910000003, 'train_size': 0.77680510424, 'rsq_train': 0.010969204789393783, 'rsq_val': -1.279967595886463, 'rsq_test': -4.78326438674859, 'nrmse_train': 0.21868966918841518, 'nrmse_val': 0.3870051473003301, 'nrmse_test': 0.6266742634677374, 'nrmse': 0.3870051473003301, 'decomp.rssd': 0.7366187340792216, 'mape': 110.77990493032684, 'lambda': 37950685.29461446, 'lambda_hp': 0.5795250481, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.12643194198608398, 'ElapsedAccum': 0.13115906715393066, 'solID': '5_1_2', 'trial': 5, 'iterNG': 1, 'iterPar': 2}, {'facebook_S_alphas': 1.5369098074999998, 'facebook_S_gammas': 0.67322362588, 'facebook_S_thetas': 0.14430772442999998, 'newsletter_alphas': 2.77428558975, 'newsletter_gammas': 0.6808786098599999, 'newsletter_thetas': 0.3191851010200001, 'ooh_S_alphas': 1.5451134450000001, 'ooh_S_gammas': 0.76203909997, 'ooh_S_thetas': 0.29465546410000004, 'print_S_alphas': 1.3341112115, 'print_S_gammas': 0.51883302077, 'print_S_thetas': 0.21379141801, 'search_S_alphas': 1.9665723234999999, 'search_S_gammas': 0.5658346103, 'search_S_thetas': 0.13851723042, 'tv_S_alphas': 1.76202204775, 'tv_S_gammas': 0.66428129444, 'tv_S_thetas': 0.6347971871, 'train_size': 0.66266380922, 'rsq_train': 0.02667435810496821, 'rsq_val': -0.2718961199680485, 'rsq_test': -0.18692630343379246, 'nrmse_train': 0.22054266007694942, 'nrmse_val': 0.28684412798548836, 'nrmse_test': 0.2719229645310324, 'nrmse': 0.28684412798548836, 'decomp.rssd': 0.7042526734639916, 'mape': 165.4542502672992, 'lambda': 33712333.87076793, 'lambda_hp': 0.5147922331, 'lambda_max': 65481090.25347749, 'lambda_min_ratio': 0.0001, 'pos': 1, 'Elapsed': 0.1385037899017334, 'ElapsedAccum': 0.14806199073791504, 'solID': '5_1_3', 'trial': 5, 'iterNG': 1, 'iterPar': 3}]\n", + "Shape of result_hyp_param:\n", + "(2007, 39)\n", + "Debug: result_hyp_param DataFrame for trial1:\n", + " facebook_S_alphas facebook_S_gammas facebook_S_thetas newsletter_alphas \\\n", + "0 1.982029 0.584243 0.090727 1.751417 \n", + "1 2.137653 0.423644 0.123685 1.721916 \n", + "2 2.610267 0.796546 0.180935 1.474269 \n", + "3 1.008753 0.477549 0.051473 0.972705 \n", + "4 1.933208 0.629187 0.110968 1.857242 \n", + "\n", + " newsletter_gammas newsletter_thetas ooh_S_alphas ooh_S_gammas \\\n", + "0 0.658512 0.228262 1.935087 0.804991 \n", + "1 0.661215 0.278996 1.904210 0.597059 \n", + "2 0.794208 0.218271 1.742035 0.579038 \n", + "3 0.626001 0.249119 1.934297 0.545875 \n", + "4 0.437809 0.199232 1.354886 0.744018 \n", + "\n", + " ooh_S_thetas print_S_alphas ... lambda_hp lambda_max \\\n", + "0 0.268471 1.347135 ... 0.276251 6.548109e+07 \n", + "1 0.241335 1.468480 ... 0.500997 6.548109e+07 \n", + "2 0.213408 2.664442 ... 0.115435 6.548109e+07 \n", + "3 0.235703 1.432328 ... 0.429544 6.548109e+07 \n", + "4 0.230233 1.667235 ... 0.530087 6.548109e+07 \n", + "\n", + " lambda_min_ratio pos Elapsed ElapsedAccum solID trial iterNG \\\n", + "0 0.0001 1 0.259337 0.259337 1_1_1 1 1 \n", + "1 0.0001 1 0.268065 0.276532 1_1_2 1 1 \n", + "2 0.0001 1 0.278293 0.292439 1_1_3 1 1 \n", + "3 0.0001 1 0.278491 0.299278 1_1_4 1 1 \n", + "4 0.0001 1 0.271182 0.299459 1_1_5 1 1 \n", + "\n", + " iterPar \n", + "0 1 \n", + "1 2 \n", + "2 3 \n", + "3 4 \n", + "4 5 \n", + "\n", + "[5 rows x 39 columns]\n", + "Data types in result_hyp_param:\n", + "facebook_S_alphas float64\n", + "facebook_S_gammas float64\n", + "facebook_S_thetas float64\n", + "newsletter_alphas float64\n", + "newsletter_gammas float64\n", + "newsletter_thetas float64\n", + "ooh_S_alphas float64\n", + "ooh_S_gammas float64\n", + "ooh_S_thetas float64\n", + "print_S_alphas float64\n", + "print_S_gammas float64\n", + "print_S_thetas float64\n", + "search_S_alphas float64\n", + "search_S_gammas float64\n", + "search_S_thetas float64\n", + "tv_S_alphas float64\n", + "tv_S_gammas float64\n", + "tv_S_thetas float64\n", + "train_size float64\n", + "rsq_train float64\n", + "rsq_val float64\n", + "rsq_test float64\n", + "nrmse_train float64\n", + "nrmse_val float64\n", + "nrmse_test float64\n", + "nrmse float64\n", + "decomp.rssd float64\n", + "mape float64\n", + "lambda float64\n", + "lambda_hp float64\n", + "lambda_max float64\n", + "lambda_min_ratio float64\n", + "pos int64\n", + "Elapsed float64\n", + "ElapsedAccum float64\n", + "solID object\n", + "trial int64\n", + "iterNG int64\n", + "iterPar int64\n", + "dtype: object\n", + "Debug: x_decomp_agg DataFrame shape: (24084, 29)\n", + "Shape of result_hyp_param:\n", + "(2007, 39)\n", + "Debug: result_hyp_param DataFrame for trial2:\n", + " facebook_S_alphas facebook_S_gammas facebook_S_thetas newsletter_alphas \\\n", + "0 1.969735 0.594468 0.187893 2.172156 \n", + "1 1.702468 0.713123 0.142802 1.752285 \n", + "2 1.292241 0.775754 0.112998 2.151046 \n", + "3 1.137525 0.592606 0.128390 1.757915 \n", + "4 1.263567 0.689509 0.074921 2.367140 \n", + "\n", + " newsletter_gammas newsletter_thetas ooh_S_alphas ooh_S_gammas \\\n", + "0 0.675843 0.244731 1.286763 0.552156 \n", + "1 0.518805 0.221467 2.268194 0.839128 \n", + "2 0.563206 0.275144 1.504672 0.576692 \n", + "3 0.804905 0.239485 2.080837 0.483348 \n", + "4 0.679906 0.244408 0.937279 0.755310 \n", + "\n", + " ooh_S_thetas print_S_alphas ... lambda_hp lambda_max \\\n", + "0 0.228640 1.782033 ... 0.473033 6.548109e+07 \n", + "1 0.326864 1.300290 ... 0.867028 6.548109e+07 \n", + "2 0.302640 1.567960 ... 0.364009 6.548109e+07 \n", + "3 0.234146 1.491326 ... 0.645222 6.548109e+07 \n", + "4 0.227071 1.490891 ... 0.444549 6.548109e+07 \n", + "\n", + " lambda_min_ratio pos Elapsed ElapsedAccum solID trial iterNG \\\n", + "0 0.0001 1 0.132803 0.129351 2_1_1 2 1 \n", + "1 0.0001 1 0.129049 0.129049 2_1_2 2 1 \n", + "2 0.0001 1 0.140625 0.145636 2_1_3 2 1 \n", + "3 0.0001 1 0.143392 0.152812 2_1_4 2 1 \n", + "4 0.0001 1 0.123343 0.139101 2_1_5 2 1 \n", + "\n", + " iterPar \n", + "0 1 \n", + "1 2 \n", + "2 3 \n", + "3 4 \n", + "4 5 \n", + "\n", + "[5 rows x 39 columns]\n", + "Data types in result_hyp_param:\n", + "facebook_S_alphas float64\n", + "facebook_S_gammas float64\n", + "facebook_S_thetas float64\n", + "newsletter_alphas float64\n", + "newsletter_gammas float64\n", + "newsletter_thetas float64\n", + "ooh_S_alphas float64\n", + "ooh_S_gammas float64\n", + "ooh_S_thetas float64\n", + "print_S_alphas float64\n", + "print_S_gammas float64\n", + "print_S_thetas float64\n", + "search_S_alphas float64\n", + "search_S_gammas float64\n", + "search_S_thetas float64\n", + "tv_S_alphas float64\n", + "tv_S_gammas float64\n", + "tv_S_thetas float64\n", + "train_size float64\n", + "rsq_train float64\n", + "rsq_val float64\n", + "rsq_test float64\n", + "nrmse_train float64\n", + "nrmse_val float64\n", + "nrmse_test float64\n", + "nrmse float64\n", + "decomp.rssd float64\n", + "mape float64\n", + "lambda float64\n", + "lambda_hp float64\n", + "lambda_max float64\n", + "lambda_min_ratio float64\n", + "pos int64\n", + "Elapsed float64\n", + "ElapsedAccum float64\n", + "solID object\n", + "trial int64\n", + "iterNG int64\n", + "iterPar int64\n", + "dtype: object\n", + "Debug: x_decomp_agg DataFrame shape: (24084, 29)\n", + "Shape of result_hyp_param:\n", + "(2007, 39)\n", + "Debug: result_hyp_param DataFrame for trial3:\n", + " facebook_S_alphas facebook_S_gammas facebook_S_thetas newsletter_alphas \\\n", + "0 1.425954 0.547116 0.236802 2.216682 \n", + "1 1.307527 0.640261 0.243960 1.471972 \n", + "2 1.756767 0.597539 0.153692 1.236463 \n", + "3 2.424649 0.504725 0.143992 1.753850 \n", + "4 1.385087 0.663104 0.230999 1.906272 \n", + "\n", + " newsletter_gammas newsletter_thetas ooh_S_alphas ooh_S_gammas \\\n", + "0 0.720521 0.267176 1.663661 0.535883 \n", + "1 0.825766 0.242125 1.090358 0.675406 \n", + "2 0.706911 0.284534 1.445770 0.705425 \n", + "3 0.653117 0.237301 1.799878 0.541401 \n", + "4 0.893983 0.246515 1.499976 0.702697 \n", + "\n", + " ooh_S_thetas print_S_alphas ... lambda_hp lambda_max \\\n", + "0 0.270719 2.305302 ... 0.371198 6.548109e+07 \n", + "1 0.250908 1.434806 ... 0.369993 6.548109e+07 \n", + "2 0.138531 1.803435 ... 0.482141 6.548109e+07 \n", + "3 0.246223 1.887878 ... 0.623473 6.548109e+07 \n", + "4 0.247585 1.387000 ... 0.421592 6.548109e+07 \n", + "\n", + " lambda_min_ratio pos Elapsed ElapsedAccum solID trial iterNG \\\n", + "0 0.0001 1 0.126822 0.126822 3_1_1 3 1 \n", + "1 0.0001 1 0.144767 0.146482 3_1_2 3 1 \n", + "2 0.0001 1 0.126773 0.134915 3_1_3 3 1 \n", + "3 0.0001 1 0.125461 0.137187 3_1_4 3 1 \n", + "4 0.0001 1 0.131090 0.151672 3_1_5 3 1 \n", + "\n", + " iterPar \n", + "0 1 \n", + "1 2 \n", + "2 3 \n", + "3 4 \n", + "4 5 \n", + "\n", + "[5 rows x 39 columns]\n", + "Data types in result_hyp_param:\n", + "facebook_S_alphas float64\n", + "facebook_S_gammas float64\n", + "facebook_S_thetas float64\n", + "newsletter_alphas float64\n", + "newsletter_gammas float64\n", + "newsletter_thetas float64\n", + "ooh_S_alphas float64\n", + "ooh_S_gammas float64\n", + "ooh_S_thetas float64\n", + "print_S_alphas float64\n", + "print_S_gammas float64\n", + "print_S_thetas float64\n", + "search_S_alphas float64\n", + "search_S_gammas float64\n", + "search_S_thetas float64\n", + "tv_S_alphas float64\n", + "tv_S_gammas float64\n", + "tv_S_thetas float64\n", + "train_size float64\n", + "rsq_train float64\n", + "rsq_val float64\n", + "rsq_test float64\n", + "nrmse_train float64\n", + "nrmse_val float64\n", + "nrmse_test float64\n", + "nrmse float64\n", + "decomp.rssd float64\n", + "mape float64\n", + "lambda float64\n", + "lambda_hp float64\n", + "lambda_max float64\n", + "lambda_min_ratio float64\n", + "pos int64\n", + "Elapsed float64\n", + "ElapsedAccum float64\n", + "solID object\n", + "trial int64\n", + "iterNG int64\n", + "iterPar int64\n", + "dtype: object\n", + "Debug: x_decomp_agg DataFrame shape: (24084, 29)\n", + "Shape of result_hyp_param:\n", + "(2007, 39)\n", + "Debug: result_hyp_param DataFrame for trial4:\n", + " facebook_S_alphas facebook_S_gammas facebook_S_thetas newsletter_alphas \\\n", + "0 1.611875 0.508002 0.117870 1.381342 \n", + "1 2.209369 0.321308 0.048027 1.850432 \n", + "2 2.134071 0.644690 0.115802 1.203720 \n", + "3 2.264058 0.808079 0.161391 2.161041 \n", + "4 2.139013 0.618569 0.227602 1.823705 \n", + "\n", + " newsletter_gammas newsletter_thetas ooh_S_alphas ooh_S_gammas \\\n", + "0 0.794822 0.197757 1.791860 0.915135 \n", + "1 0.834451 0.250741 1.875987 0.768764 \n", + "2 0.435347 0.292449 1.416280 0.845299 \n", + "3 0.643451 0.165310 1.980590 0.784761 \n", + "4 0.710997 0.270867 2.094991 0.904716 \n", + "\n", + " ooh_S_thetas print_S_alphas ... lambda_hp lambda_max \\\n", + "0 0.230402 1.145885 ... 0.682405 6.548109e+07 \n", + "1 0.266969 1.157787 ... 0.545311 6.548109e+07 \n", + "2 0.226316 2.081022 ... 0.275774 6.548109e+07 \n", + "3 0.270130 2.014770 ... 0.216754 6.548109e+07 \n", + "4 0.319789 1.664960 ... 0.266384 6.548109e+07 \n", + "\n", + " lambda_min_ratio pos Elapsed ElapsedAccum solID trial iterNG \\\n", + "0 0.0001 1 0.156143 0.152634 4_1_1 4 1 \n", + "1 0.0001 1 0.146645 0.146645 4_1_2 4 1 \n", + "2 0.0001 1 0.152582 0.156350 4_1_3 4 1 \n", + "3 0.0001 1 0.154658 0.162702 4_1_4 4 1 \n", + "4 0.0001 1 0.137014 0.151088 4_1_5 4 1 \n", + "\n", + " iterPar \n", + "0 1 \n", + "1 2 \n", + "2 3 \n", + "3 4 \n", + "4 5 \n", + "\n", + "[5 rows x 39 columns]\n", + "Data types in result_hyp_param:\n", + "facebook_S_alphas float64\n", + "facebook_S_gammas float64\n", + "facebook_S_thetas float64\n", + "newsletter_alphas float64\n", + "newsletter_gammas float64\n", + "newsletter_thetas float64\n", + "ooh_S_alphas float64\n", + "ooh_S_gammas float64\n", + "ooh_S_thetas float64\n", + "print_S_alphas float64\n", + "print_S_gammas float64\n", + "print_S_thetas float64\n", + "search_S_alphas float64\n", + "search_S_gammas float64\n", + "search_S_thetas float64\n", + "tv_S_alphas float64\n", + "tv_S_gammas float64\n", + "tv_S_thetas float64\n", + "train_size float64\n", + "rsq_train float64\n", + "rsq_val float64\n", + "rsq_test float64\n", + "nrmse_train float64\n", + "nrmse_val float64\n", + "nrmse_test float64\n", + "nrmse float64\n", + "decomp.rssd float64\n", + "mape float64\n", + "lambda float64\n", + "lambda_hp float64\n", + "lambda_max float64\n", + "lambda_min_ratio float64\n", + "pos int64\n", + "Elapsed float64\n", + "ElapsedAccum float64\n", + "solID object\n", + "trial int64\n", + "iterNG int64\n", + "iterPar int64\n", + "dtype: object\n", + "Debug: x_decomp_agg DataFrame shape: (24084, 29)\n", + "Shape of result_hyp_param:\n", + "(2007, 39)\n", + "Debug: result_hyp_param DataFrame for trial5:\n", + " facebook_S_alphas facebook_S_gammas facebook_S_thetas newsletter_alphas \\\n", + "0 2.341028 0.772997 0.121229 2.359537 \n", + "1 2.104195 0.504237 0.068058 2.100740 \n", + "2 1.536910 0.673224 0.144308 2.774286 \n", + "3 1.540322 0.747515 0.144457 1.781628 \n", + "4 1.665590 0.819940 0.129718 1.888210 \n", + "\n", + " newsletter_gammas newsletter_thetas ooh_S_alphas ooh_S_gammas \\\n", + "0 0.609726 0.191235 1.508789 0.545375 \n", + "1 0.549646 0.236208 1.902541 0.614517 \n", + "2 0.680879 0.319185 1.545113 0.762039 \n", + "3 0.537941 0.240590 1.636275 0.609302 \n", + "4 0.548139 0.295860 2.494397 0.569176 \n", + "\n", + " ooh_S_thetas print_S_alphas ... lambda_hp lambda_max \\\n", + "0 0.270518 2.205484 ... 0.704636 6.548109e+07 \n", + "1 0.189796 1.568556 ... 0.579525 6.548109e+07 \n", + "2 0.294655 1.334111 ... 0.514792 6.548109e+07 \n", + "3 0.151114 0.977188 ... 0.809314 6.548109e+07 \n", + "4 0.305512 2.401782 ... 0.382171 6.548109e+07 \n", + "\n", + " lambda_min_ratio pos Elapsed ElapsedAccum solID trial iterNG \\\n", + "0 0.0001 1 0.129009 0.129009 5_1_1 5 1 \n", + "1 0.0001 1 0.126432 0.131159 5_1_2 5 1 \n", + "2 0.0001 1 0.138504 0.148062 5_1_3 5 1 \n", + "3 0.0001 1 0.128542 0.143728 5_1_4 5 1 \n", + "4 0.0001 1 0.139649 0.159621 5_1_5 5 1 \n", + "\n", + " iterPar \n", + "0 1 \n", + "1 2 \n", + "2 3 \n", + "3 4 \n", + "4 5 \n", + "\n", + "[5 rows x 39 columns]\n", + "Data types in result_hyp_param:\n", + "facebook_S_alphas float64\n", + "facebook_S_gammas float64\n", + "facebook_S_thetas float64\n", + "newsletter_alphas float64\n", + "newsletter_gammas float64\n", + "newsletter_thetas float64\n", + "ooh_S_alphas float64\n", + "ooh_S_gammas float64\n", + "ooh_S_thetas float64\n", + "print_S_alphas float64\n", + "print_S_gammas float64\n", + "print_S_thetas float64\n", + "search_S_alphas float64\n", + "search_S_gammas float64\n", + "search_S_thetas float64\n", + "tv_S_alphas float64\n", + "tv_S_gammas float64\n", + "tv_S_thetas float64\n", + "train_size float64\n", + "rsq_train float64\n", + "rsq_val float64\n", + "rsq_test float64\n", + "nrmse_train float64\n", + "nrmse_val float64\n", + "nrmse_test float64\n", + "nrmse float64\n", + "decomp.rssd float64\n", + "mape float64\n", + "lambda float64\n", + "lambda_hp float64\n", + "lambda_max float64\n", + "lambda_min_ratio float64\n", + "pos int64\n", + "Elapsed float64\n", + "ElapsedAccum float64\n", + "solID object\n", + "trial int64\n", + "iterNG int64\n", + "iterPar int64\n", + "dtype: object\n", + "Debug: x_decomp_agg DataFrame shape: (24084, 29)\n" + ] + } + ], "source": [ "# Load data from JSON exported from R\n", "raw_input_collect = load_data_from_json(\n", @@ -83,9 +523,118 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solution ID: 1_65_6\n", + "Solution ID: 1_150_3\n", + "Solution ID: 1_156_9\n", + "Solution ID: 1_160_3\n", + "Solution ID: 1_166_9\n", + "Solution ID: 1_208_4\n", + "Solution ID: 1_217_2\n", + "Solution ID: 2_85_3\n", + "Solution ID: 2_87_4\n", + "Solution ID: 2_93_9\n", + "Solution ID: 2_95_3\n", + "Solution ID: 2_97_3\n", + "Solution ID: 2_100_6\n", + "Solution ID: 2_101_9\n", + "Solution ID: 2_144_8\n", + "Solution ID: 2_170_8\n", + "Solution ID: 2_178_6\n", + "Solution ID: 2_197_8\n", + "Solution ID: 2_198_3\n", + "Solution ID: 2_198_9\n", + "Solution ID: 2_201_6\n", + "Solution ID: 2_204_9\n", + "Solution ID: 2_207_8\n", + "Solution ID: 2_208_2\n", + "Solution ID: 2_208_9\n", + "Solution ID: 2_214_8\n", + "Solution ID: 2_215_9\n", + "Solution ID: 2_217_6\n", + "Solution ID: 2_218_2\n", + "Solution ID: 2_218_3\n", + "Solution ID: 2_218_4\n", + "Solution ID: 2_220_1\n", + "Solution ID: 2_221_2\n", + "Solution ID: 2_221_5\n", + "Solution ID: 2_221_6\n", + "Solution ID: 3_66_5\n", + "Solution ID: 3_71_1\n", + "Solution ID: 3_74_4\n", + "Solution ID: 3_75_4\n", + "Solution ID: 3_77_7\n", + "Solution ID: 3_78_7\n", + "Solution ID: 3_78_9\n", + "Solution ID: 3_81_1\n", + "Solution ID: 3_82_3\n", + "Solution ID: 3_85_4\n", + "Solution ID: 3_91_1\n", + "Solution ID: 3_91_7\n", + "Solution ID: 3_95_4\n", + "Solution ID: 3_98_7\n", + "Solution ID: 3_102_1\n", + "Solution ID: 3_104_4\n", + "Solution ID: 3_107_7\n", + "Solution ID: 3_108_7\n", + "Solution ID: 3_109_9\n", + "Solution ID: 3_114_4\n", + "Solution ID: 3_115_4\n", + "Solution ID: 3_123_1\n", + "Solution ID: 3_127_7\n", + "Solution ID: 3_131_1\n", + "Solution ID: 3_133_6\n", + "Solution ID: 3_138_7\n", + "Solution ID: 3_144_4\n", + "Solution ID: 3_147_7\n", + "Solution ID: 3_158_7\n", + "Solution ID: 3_162_1\n", + "Solution ID: 3_168_7\n", + "Solution ID: 3_171_1\n", + "Solution ID: 3_174_4\n", + "Solution ID: 3_186_4\n", + "Solution ID: 3_189_7\n", + "Solution ID: 3_194_5\n", + "Solution ID: 3_196_4\n", + "Solution ID: 3_197_5\n", + "Solution ID: 3_197_8\n", + "Solution ID: 3_200_1\n", + "Solution ID: 3_201_2\n", + "Solution ID: 3_204_5\n", + "Solution ID: 3_204_9\n", + "Solution ID: 3_208_3\n", + "Solution ID: 3_210_4\n", + "Solution ID: 3_211_6\n", + "Solution ID: 3_214_7\n", + "Solution ID: 3_214_9\n", + "Solution ID: 3_216_9\n", + "Solution ID: 3_218_3\n", + "Solution ID: 3_219_3\n", + "Solution ID: 3_221_2\n", + "Solution ID: 3_221_6\n", + "Solution ID: 4_98_8\n", + "Solution ID: 4_105_5\n", + "Solution ID: 4_108_8\n", + "Solution ID: 4_129_2\n", + "Solution ID: 5_80_5\n", + "Solution ID: 5_109_5\n", + "Solution ID: 5_117_1\n", + "Solution ID: 5_193_3\n", + "Solution ID: 5_196_6\n", + "Solution ID: 5_211_9\n", + "Solution ID: 5_220_8\n", + "Solution ID: 5_221_5\n", + "Solution ID: 5_221_9\n", + "Solution ID: 5_222_1\n" + ] + } + ], "source": [ "for solid in r_output_collect[\"pareto_result\"].result_hyp_param[\"solID\"]:\n", " print(f\"Solution ID: {solid}\")" @@ -93,14 +642,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-11-19 16:21:52,078 - robyn.new_allocator.budget_allocator - INFO - Initialized BudgetAllocator with model 3_191_4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hyperparameters(\n", + " facebook_S_alphas=[0.5, 3]\n", + " facebook_S_gammas=[0.3, 1]\n", + " facebook_S_thetas=[0, 0.3]\n", + " print_S_alphas=[0.5, 3]\n", + " print_S_gammas=[0.3, 1]\n", + " print_S_thetas=[0.1, 0.4]\n", + " tv_S_alphas=[0.5, 3]\n", + " tv_S_gammas=[0.3, 1]\n", + " tv_S_thetas=[0.3, 0.8]\n", + " search_S_alphas=[0.5, 3]\n", + " search_S_gammas=[0.3, 1]\n", + " search_S_thetas=[0, 0.3]\n", + " ooh_S_alphas=[0.5, 3]\n", + " ooh_S_gammas=[0.3, 1]\n", + " ooh_S_thetas=[0.1, 0.4]\n", + " newsletter_alphas=[0.5, 3]\n", + " newsletter_gammas=[0.3, 1]\n", + " newsletter_thetas=[0.1, 0.4]\n", + " train_size=[0.5, 0.8]\n", + ")\n" + ] + } + ], "source": [ "from robyn.new_allocator.budget_allocator import BudgetAllocator\n", "\n", "# Select a model from the results\n", - "select_model = \"1_65_6\" # Example model ID\n", + "select_model = \"3_191_4\" # Example model ID\n", "# Initialize budget allocator\n", "allocator = BudgetAllocator(\n", " input_collect=mmm_data, output_collect=model_outputs, select_model=select_model, hyperparameters=hyperparameters\n", @@ -129,9 +713,1091 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-11-19 16:21:52,083 - robyn.new_allocator.budget_allocator - INFO - Starting budget allocation with scenario: max_response\n", + "2024-11-19 16:21:52,086 - robyn.new_allocator.budget_allocator - INFO - Using historical total spend as budget: 14529098.511699999\n", + "/Users/yijuilee/robynpy_release_reviews/robynvenv/lib/python3.9/site-packages/numpy/_core/fromnumeric.py:84: FutureWarning: The behavior of DataFrame.sum with axis=None is deprecated, in a future version this will reduce over both axes and return a scalar. To retain the old behavior, pass axis=0 (or do not pass axis)\n", + " return reduction(axis=axis, out=out, **passkwargs)\n", + "2024-11-19 16:21:52,109 - robyn.new_allocator.budget_allocator - INFO - Using historical total spend as budget: tv_S 3.087488e+06\n", + "ooh_S 8.989332e+06\n", + "print_S 7.755555e+05\n", + "facebook_S 4.462968e+05\n", + "search_S 1.230427e+06\n", + "dtype: float64\n", + "/Users/yijuilee/robynpy_release_reviews/robynvenv/lib/python3.9/site-packages/scipy/optimize/_slsqp_py.py:437: RuntimeWarning: Values in x were outside bounds during a minimize step, clipping to bounds\n", + " fx = wrapped_fun(x)\n", + "/Users/yijuilee/robynpy_release_reviews/robynvenv/lib/python3.9/site-packages/scipy/optimize/_slsqp_py.py:441: RuntimeWarning: Values in x were outside bounds during a minimize step, clipping to bounds\n", + " g = append(wrapped_grad(x), 0.0)\n", + "2024-11-19 16:21:52,136 - robyn.new_allocator.budget_allocator - WARNING - Very small improvement in optimization: 0.00%. Consider adjusting constraints or optimization parameters.\n", + "2024-11-19 16:21:52,139 - robyn.new_allocator.budget_allocator - INFO - Budget allocation completed successfully\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Running budget allocation\n", + "Scenario: max_response\n", + "Channel constraints: [0.7, [1.2, 1.5, 1.5, 1.5, 1.5]]\n", + "\n", + "Preparing optimization inputs with spec:\n", + "OptimizationSpec(scenario='max_response', total_budget=None, date_range='all', channel_constraints_low=[0.7, 0.7, 0.7, 0.7, 0.7], channel_constraints_up=[1.2, 1.5, 1.5, 1.5, 1.5], channel_constraint_multiplier=3.0, max_eval=100000, constr_mode='eq', target_value=None)\n", + "\n", + "Preparing optimization inputs with spec:\n", + "OptimizationSpec(scenario='max_response', total_budget=None, date_range='all', channel_constraints_low=[0.7, 0.7, 0.7, 0.7, 0.7], channel_constraints_up=[1.2, 1.5, 1.5, 1.5, 1.5], channel_constraint_multiplier=3.0, max_eval=100000, constr_mode='eq', target_value=None)\n", + "\n", + "Date range indices: 0 to 207\n", + "\n", + "Historical spend head:\n", + " tv_S ooh_S print_S facebook_S search_S\n", + "0 22358.3467 0.0 12728.4889 7607.1329 0.0000\n", + "1 28613.4533 0.0 0.0000 1141.9525 4133.3333\n", + "2 0.0000 132278.4 453.8667 4256.3754 3786.6667\n", + "3 83450.3067 0.0 17680.0000 2800.4907 4253.3333\n", + "4 0.0000 277336.0 0.0000 689.5826 3613.3333\n", + "\n", + "Initial spend values:\n", + "[14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "Extracting model parameters...\n", + "\n", + "Model parameters:\n", + "Total parameters: 39\n", + "Parameter names: ['facebook_S_alphas', 'facebook_S_gammas', 'facebook_S_thetas', 'newsletter_alphas', 'newsletter_gammas', 'newsletter_thetas', 'ooh_S_alphas', 'ooh_S_gammas', 'ooh_S_thetas', 'print_S_alphas', 'print_S_gammas', 'print_S_thetas', 'search_S_alphas', 'search_S_gammas', 'search_S_thetas', 'tv_S_alphas', 'tv_S_gammas', 'tv_S_thetas', 'train_size', 'rsq_train', 'rsq_val', 'rsq_test', 'nrmse_train', 'nrmse_val', 'nrmse_test', 'nrmse', 'decomp.rssd', 'mape', 'lambda', 'lambda_hp', 'lambda_max', 'lambda_min_ratio', 'pos', 'Elapsed', 'ElapsedAccum', 'sol_id', 'trial', 'iterNG', 'iterPar']\n", + "\n", + "Paid media variables: ['tv_S', 'ooh_S', 'print_S', 'facebook_S', 'search_S']\n", + "\n", + "Detected adstock type: geometric\n", + "\n", + "Adstock type: geometric\n", + "\n", + "Response coefficients:\n", + "{'tv_S': 55390.99996431836, 'ooh_S': 35178.80824905069, 'print_S': 24791.716840120174, 'facebook_S': 32838.85909459951, 'search_S': 140390.7558546367}\n", + "\n", + "Constraint bounds:\n", + "Lower: [1484.36912173 4321.7941024 372.86322639 214.56578269 591.55128202]\n", + "Upper: [ 23749.90594769 108044.8525601 9321.58065986 5364.14456731\n", + " 14788.78205048]\n", + "\n", + "Calculating historical carryover...\n", + "Using adstock type: geometric\n", + "\n", + "Processing channel: tv_S\n", + "Using theta value: 0.33746937775499997\n", + "Successfully calculated carryover for tv_S\n", + "\n", + "Processing channel: ooh_S\n", + "Using theta value: 0.31943901493000004\n", + "Successfully calculated carryover for ooh_S\n", + "\n", + "Processing channel: print_S\n", + "Using theta value: 0.24444891505000002\n", + "Successfully calculated carryover for print_S\n", + "\n", + "Processing channel: facebook_S\n", + "Using theta value: 0.011944344411\n", + "Successfully calculated carryover for facebook_S\n", + "\n", + "Processing channel: search_S\n", + "Using theta value: 0.06994248587999999\n", + "Successfully calculated carryover for search_S\n", + "\n", + "Total response evaluation:\n", + "Spend values: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14843.69121731]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93591013]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [43217.94102404]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.79023931]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3728.63226394]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.70749859]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2145.65782692]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909406]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5915.51282019]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585389]\n", + "Channel responses: [ 55390.93591013 35161.79023931 24788.70749859 32838.85909406\n", + " 140390.75585389]\n", + "Total response: 288571.0485959925\n", + "Gradients: [4.13612820e-06 1.92578274e-04 6.41007269e-04 6.90672065e-10\n", + " 3.46017223e-10]\n", + "\n", + "Optimizer Initialization:\n", + "Channel names: ['tv_S', 'ooh_S', 'print_S', 'facebook_S', 'search_S']\n", + "Initial spend: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "Lower bounds: [1484.36912173 4321.7941024 372.86322639 214.56578269 591.55128202]\n", + "Upper bounds: [ 23749.90594769 108044.8525601 9321.58065986 5364.14456731\n", + " 14788.78205048]\n", + "Total budget: 69851.43515240385\n", + "\n", + "Starting optimization...\n", + "\n", + "Scaling parameters:\n", + "Scale factor: 13970.28703048077\n", + "Initial scaled: [1.0625187 3.09356142 0.26689733 0.15358724 0.42343531]\n", + "Bounds scaled: [[0.10625187 0.30935614 0.02668973 0.01535872 0.04234353], [1.70002992 7.73390356 0.66724332 0.3839681 1.05858828]]\n", + "Budget scaled: 5.0\n", + "\n", + "Optimization attempt 1:\n", + "Starting point: [1.31096035 2.8140008 0.34006106 0.1489417 0.3860361 ]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.31096035 2.8140008 0.34006106 0.1489417 0.3860361 ]\n", + "Scaled x: [18314.49234245 39312.39884385 4750.75061982 2080.75829331\n", + " 5393.03505298]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [18314.49234245 39312.39884385 4750.75061982 2080.75829331\n", + " 5393.03505298]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [18314.49234245]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94786344]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [39312.39884385]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35160.99301933]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [4750.75061982]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.24501962]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2080.75829331]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909402]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5393.03505298]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585368]\n", + "Channel responses: [ 55390.94786344 35160.99301933 24789.24501962 32838.85909402\n", + " 140390.75585368]\n", + "Total response: 288570.8008500903\n", + "Gradients: [2.86363981e-06 2.16417630e-04 4.31477764e-04 7.75164593e-10\n", + " 4.86191163e-10]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.31096035 2.8140008 0.34006106 0.1489417 0.3860361 ]\n", + "Scaled x: [18314.49234245 39312.39884385 4750.75061982 2080.75829331\n", + " 5393.03505298]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [18314.49234245 39312.39884385 4750.75061982 2080.75829331\n", + " 5393.03505298]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [18314.49234245]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94786344]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [39312.39884385]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35160.99301933]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [4750.75061982]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.24501962]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2080.75829331]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909402]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5393.03505298]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585368]\n", + "Channel responses: [ 55390.94786344 35160.99301933 24789.24501962 32838.85909402\n", + " 140390.75585368]\n", + "Total response: 288570.8008500903\n", + "Gradients: [2.86363981e-06 2.16417630e-04 4.31477764e-04 7.75164593e-10\n", + " 4.86191163e-10]\n", + " NIT FC OBJFUN GNORM\n", + "\n", + "Objective evaluation:\n", + "Input x: [0.10625187 4.16880256 0.66724332 0.01535872 0.04234353]\n", + "Scaled x: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + " 1 2 -2.885749E+05 6.743726E+00\n", + "\n", + "Objective evaluation:\n", + "Input x: [0.10625187 4.16880256 0.66724332 0.01535872 0.04234353]\n", + "Scaled x: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + " 2 2 -2.885749E+05 2.712323E+00\n", + "Optimization terminated successfully (Exit mode 0)\n", + " Current function value: -288574.85957536957\n", + " Iterations: 2\n", + " Function evaluations: 2\n", + " Gradient evaluations: 2\n", + "Attempt 1 results:\n", + "Success: True\n", + "Message: Optimization terminated successfully\n", + "Function value: -288574.85957536957\n", + "Solution: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Optimization attempt 2:\n", + "Starting point: [1.31747322 2.7625746 0.24438801 0.18555388 0.49001028]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.31747322 2.7625746 0.24438801 0.18555388 0.49001028]\n", + "Scaled x: [18405.47901635 38593.96012724 3414.17068413 2592.24101111\n", + " 6845.58431358]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [18405.47901635 38593.96012724 3414.17068413 2592.24101111\n", + " 6845.58431358]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [18405.47901635]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94812284]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [38593.96012724]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35160.83578602]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3414.17068413]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.49136291]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2592.24101111]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909428]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6845.58431358]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585414]\n", + "Channel responses: [ 55390.94812284 35160.83578602 24788.49136291 32838.85909428\n", + " 140390.75585414]\n", + "Total response: 288569.89022019494\n", + "Gradients: [2.83831010e-06 2.21320143e-04 7.36985332e-04 3.39106419e-10\n", + " 2.01392068e-10]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.31747322 2.7625746 0.24438801 0.18555388 0.49001028]\n", + "Scaled x: [18405.47901635 38593.96012724 3414.17068413 2592.24101111\n", + " 6845.58431358]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [18405.47901635 38593.96012724 3414.17068413 2592.24101111\n", + " 6845.58431358]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [18405.47901635]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94812284]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [38593.96012724]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35160.83578602]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3414.17068413]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.49136291]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2592.24101111]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909428]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6845.58431358]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585414]\n", + "Channel responses: [ 55390.94812284 35160.83578602 24788.49136291 32838.85909428\n", + " 140390.75585414]\n", + "Total response: 288569.89022019494\n", + "Gradients: [2.83831010e-06 2.21320143e-04 7.36985332e-04 3.39106419e-10\n", + " 2.01392068e-10]\n", + " NIT FC OBJFUN GNORM\n", + "\n", + "Objective evaluation:\n", + "Input x: [0.10625187 4.16880256 0.66724332 0.01535872 0.04234353]\n", + "Scaled x: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + " 1 2 -2.885749E+05 1.075021E+01\n", + "\n", + "Objective evaluation:\n", + "Input x: [0.10625187 4.16880256 0.66724332 0.01535872 0.04234353]\n", + "Scaled x: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + " 2 2 -2.885749E+05 2.712323E+00\n", + "Optimization terminated successfully (Exit mode 0)\n", + " Current function value: -288574.85957536957\n", + " Iterations: 2\n", + " Function evaluations: 2\n", + " Gradient evaluations: 2\n", + "Attempt 2 results:\n", + "Success: True\n", + "Message: Optimization terminated successfully\n", + "Function value: -288574.85957536957\n", + "Solution: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Optimization attempt 3:\n", + "Starting point: [1.27834818 2.86500085 0.2688352 0.14352226 0.44429351]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.27834818 2.86500085 0.2688352 0.14352226 0.44429351]\n", + "Scaled x: [17858.89098273 40024.8841943 3755.70497096 2005.04717236\n", + " 6206.90783204]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [17858.89098273 40024.8841943 3755.70497096 2005.04717236\n", + " 6206.90783204]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [17858.89098273]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94652905]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [40024.8841943]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.14553251]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3755.70497096]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.72475231]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2005.04717236]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909395]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6206.90783204]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585399]\n", + "Channel responses: [ 55390.94652905 35161.14553251 24788.72475231 32838.85909395\n", + " 140390.75585399]\n", + "Total response: 288570.4317618159\n", + "Gradients: [2.99549567e-06 2.11725906e-04 6.33635610e-04 8.90953892e-10\n", + " 2.89687477e-10]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.27834818 2.86500085 0.2688352 0.14352226 0.44429351]\n", + "Scaled x: [17858.89098273 40024.8841943 3755.70497096 2005.04717236\n", + " 6206.90783204]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [17858.89098273 40024.8841943 3755.70497096 2005.04717236\n", + " 6206.90783204]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [17858.89098273]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94652905]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [40024.8841943]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.14553251]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3755.70497096]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.72475231]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2005.04717236]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909395]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6206.90783204]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585399]\n", + "Channel responses: [ 55390.94652905 35161.14553251 24788.72475231 32838.85909395\n", + " 140390.75585399]\n", + "Total response: 288570.4317618159\n", + "Gradients: [2.99549567e-06 2.11725906e-04 6.33635610e-04 8.90953892e-10\n", + " 2.89687477e-10]\n", + " NIT FC OBJFUN GNORM\n", + "\n", + "Objective evaluation:\n", + "Input x: [0.10625187 4.16880256 0.66724332 0.01535872 0.04234353]\n", + "Scaled x: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + " 1 2 -2.885749E+05 9.333270E+00\n", + "\n", + "Objective evaluation:\n", + "Input x: [0.10625187 4.16880256 0.66724332 0.01535872 0.04234353]\n", + "Scaled x: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + " 2 2 -2.885749E+05 2.712323E+00\n", + "Optimization terminated successfully (Exit mode 0)\n", + " Current function value: -288574.85957536957\n", + " Iterations: 2\n", + " Function evaluations: 2\n", + " Gradient evaluations: 2\n", + "Attempt 3 results:\n", + "Success: True\n", + "Message: Optimization terminated successfully\n", + "Function value: -288574.85957536957\n", + "Solution: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Optimization attempt 4:\n", + "Starting point: [1.02324109 3.1113846 0.28531083 0.13877774 0.44128575]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.02324109 3.1113846 0.28531083 0.13877774 0.44128575]\n", + "Scaled x: [14294.97176097 43466.93586434 3985.87412932 1938.76485231\n", + " 6164.88854547]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [14294.97176097 43466.93586434 3985.87412932 1938.76485231\n", + " 6164.88854547]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14294.97176097]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93356676]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [43466.93586434]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.83801876]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3985.87412932]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.86378021]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1938.76485231]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909389]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6164.88854547]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585397]\n", + "Channel responses: [ 55390.93356676 35161.83801876 24788.86378021 32838.85909389\n", + " 140390.75585397]\n", + "Total response: 288571.25031359104\n", + "Gradients: [4.40931500e-06 1.91202961e-04 5.75800432e-04 1.01080436e-09\n", + " 2.97060794e-10]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.02324109 3.1113846 0.28531083 0.13877774 0.44128575]\n", + "Scaled x: [14294.97176097 43466.93586434 3985.87412932 1938.76485231\n", + " 6164.88854547]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [14294.97176097 43466.93586434 3985.87412932 1938.76485231\n", + " 6164.88854547]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14294.97176097]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93356676]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [43466.93586434]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.83801876]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3985.87412932]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.86378021]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1938.76485231]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909389]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6164.88854547]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585397]\n", + "Channel responses: [ 55390.93356676 35161.83801876 24788.86378021 32838.85909389\n", + " 140390.75585397]\n", + "Total response: 288571.25031359104\n", + "Gradients: [4.40931500e-06 1.91202961e-04 5.75800432e-04 1.01080436e-09\n", + " 2.97060794e-10]\n", + " NIT FC OBJFUN GNORM\n", + "\n", + "Objective evaluation:\n", + "Input x: [0.10625187 4.16880256 0.66724332 0.01535872 0.04234353]\n", + "Scaled x: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + " 1 2 -2.885749E+05 8.476225E+00\n", + "\n", + "Objective evaluation:\n", + "Input x: [0.10625187 4.16880256 0.66724332 0.01535872 0.04234353]\n", + "Scaled x: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + " 2 2 -2.885749E+05 2.712323E+00\n", + "Optimization terminated successfully (Exit mode 0)\n", + " Current function value: -288574.85957536957\n", + " Iterations: 2\n", + " Function evaluations: 2\n", + " Gradient evaluations: 2\n", + "Attempt 4 results:\n", + "Success: True\n", + "Message: Optimization terminated successfully\n", + "Function value: -288574.85957536957\n", + "Solution: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating final responses:\n", + "Input spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "\n", + "Optimization complete:\n", + "Initial spend: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "Optimal spend: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.0625187 3.09356142 0.26689733 0.15358724 0.42343531]\n", + "Scaled x: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14843.69121731]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93591013]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [43217.94102404]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.79023931]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3728.63226394]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.70749859]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2145.65782692]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909406]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5915.51282019]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585389]\n", + "Channel responses: [ 55390.93591013 35161.79023931 24788.70749859 32838.85909406\n", + " 140390.75585389]\n", + "Total response: 288571.0485959925\n", + "Gradients: [4.13612820e-06 1.92578274e-04 6.41007269e-04 6.90672065e-10\n", + " 3.46017223e-10]\n", + "Initial objective: -288571.0485959925\n", + "Final objective: -288574.85957536957\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.0625187 3.09356142 0.26689733 0.15358724 0.42343531]\n", + "Scaled x: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14843.69121731]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93591013]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [43217.94102404]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.79023931]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3728.63226394]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.70749859]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2145.65782692]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909406]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5915.51282019]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585389]\n", + "Channel responses: [ 55390.93591013 35161.79023931 24788.70749859 32838.85909406\n", + " 140390.75585389]\n", + "Total response: 288571.0485959925\n", + "Gradients: [4.13612820e-06 1.92578274e-04 6.41007269e-04 6.90672065e-10\n", + " 3.46017223e-10]\n", + "\n", + "Objective evaluation:\n", + "Input x: [1.0625187 3.09356142 0.26689733 0.15358724 0.42343531]\n", + "Scaled x: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14843.69121731]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93591013]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [43217.94102404]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.79023931]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3728.63226394]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.70749859]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2145.65782692]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909406]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5915.51282019]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585389]\n", + "Channel responses: [ 55390.93591013 35161.79023931 24788.70749859 32838.85909406\n", + " 140390.75585389]\n", + "Total response: 288571.0485959925\n", + "Gradients: [4.13612820e-06 1.92578274e-04 6.41007269e-04 6.90672065e-10\n", + " 3.46017223e-10]\n", + "Improvement: 0.00%\n", + "\n", + "Total response evaluation:\n", + "Spend values: [ 1484.36912173 58239.36830611 9321.58065986 214.56578269\n", + " 591.55128202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1484.36912173]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73159985]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [214.56578269]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85883838]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [591.55128202]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75568626]\n", + "Channel responses: [ 55390.73159985 35164.17374593 24790.33970495 32838.85883838\n", + " 140390.75568626]\n", + "Total response: 288574.85957536957\n", + "Gradients: [5.29792835e-05 1.31085998e-04 1.33020496e-04 2.99020679e-06\n", + " 4.93706991e-07]\n", + "\n", + "Total response evaluation:\n", + "Spend values: [14843.69121731 43217.94102404 3728.63226394 2145.65782692\n", + " 5915.51282019]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14843.69121731]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93591013]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [43217.94102404]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.79023931]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3728.63226394]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.70749859]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2145.65782692]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909406]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5915.51282019]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585389]\n", + "Channel responses: [ 55390.93591013 35161.79023931 24788.70749859 32838.85909406\n", + " 140390.75585389]\n", + "Total response: 288571.0485959925\n", + "Gradients: [4.13612820e-06 1.92578274e-04 6.41007269e-04 6.90672065e-10\n", + " 3.46017223e-10]\n", + "\n", + "Optimization Results:\n", + "Initial total spend: 69851.44\n", + "Optimal total spend: 69851.44\n", + "Initial total response: 288571.05\n", + "Final total response: 288574.86\n", + "Improvement: 0.00%\n", + "\n", + "Using provided budget: 3087487.7731999997\n", + "OptimizationResult(scenario=max_response, total_spend=69851.44, total_response=288574.86, response_lift=0.00%)\n" + ] + } + ], "source": [ "# Similar to Example 1 in demo.R\n", "result1 = allocator.run_allocation(\n", @@ -145,11 +1811,24 @@ "print(result1)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OptimizationResult(scenario=max_response, total_spend=69851.44, total_response=288574.86, response_lift=0.00%)\n" + ] + } + ], "source": [ "print(result1)" ] @@ -187,9 +1866,52 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "DataFrame columns: Index(['channels', 'initSpendUnit', 'optmSpendUnit', 'optmResponseUnit',\n", + " 'optmSpendShareUnit', 'optmResponseShareUnit', 'initSpendShare',\n", + " 'initResponseUnit', 'optmSpendUnitTotal', 'optmResponseUnitTotal',\n", + " 'initResponseUnitTotal', 'optmResponseUnitTotalLift', 'optmRoiUnit',\n", + " 'initRoiUnit'],\n", + " dtype='object')\n", + "\n", + "DataFrame head:\n", + " channels initSpendUnit optmSpendUnit optmResponseUnit \\\n", + "0 tv_S 14843.691217 1484.369122 55390.731600 \n", + "1 ooh_S 43217.941024 58239.368306 35164.173746 \n", + "2 print_S 3728.632264 9321.580660 24790.339705 \n", + "3 facebook_S 2145.657827 214.565783 32838.858838 \n", + "4 search_S 5915.512820 591.551282 140390.755686 \n", + "\n", + " optmSpendShareUnit optmResponseShareUnit initSpendShare \\\n", + "0 0.021250 0.191946 0.212504 \n", + "1 0.833761 0.121855 0.618712 \n", + "2 0.133449 0.085906 0.053379 \n", + "3 0.003072 0.113797 0.030717 \n", + "4 0.008469 0.486497 0.084687 \n", + "\n", + " initResponseUnit optmSpendUnitTotal optmResponseUnitTotal \\\n", + "0 55390.935910 69851.435152 288574.859575 \n", + "1 35161.790239 69851.435152 288574.859575 \n", + "2 24788.707499 69851.435152 288574.859575 \n", + "3 32838.859094 69851.435152 288574.859575 \n", + "4 140390.755854 69851.435152 288574.859575 \n", + "\n", + " initResponseUnitTotal optmResponseUnitTotalLift optmRoiUnit initRoiUnit \n", + "0 288571.048596 0.000013 37.316009 3.731615 \n", + "1 288571.048596 0.000013 0.603787 0.813592 \n", + "2 288571.048596 0.000013 2.659457 6.648204 \n", + "3 288571.048596 0.000013 153.047976 15.304798 \n", + "4 288571.048596 0.000013 237.326433 23.732643 \n" + ] + } + ], "source": [ "# Before creating plots, add these debug lines\n", "print(\"\\nDataFrame columns:\", result1.dt_optim_out.columns)\n", @@ -198,9 +1920,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(Timestamp('2015-11-23 00:00:00'), Timestamp('2019-11-11 00:00:00'))\n" + ] + } + ], "source": [ "date_range = (mmm_data.data[mmm_data.mmmdata_spec.date_var].min(), mmm_data.data[mmm_data.mmmdata_spec.date_var].max())\n", "print(date_range)" @@ -208,34 +1938,2601 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Available columns: Index(['channels', 'initSpendUnit', 'optmSpendUnit', 'optmResponseUnit',\n", + " 'optmSpendShareUnit', 'optmResponseShareUnit', 'initSpendShare',\n", + " 'initResponseUnit', 'optmSpendUnitTotal', 'optmResponseUnitTotal',\n", + " 'initResponseUnitTotal', 'optmResponseUnitTotalLift', 'optmRoiUnit',\n", + " 'initRoiUnit'],\n", + " dtype='object')\n", + "\n", + "Preparing plot data with available columns: Index(['channels', 'initSpendUnit', 'optmSpendUnit', 'optmResponseUnit',\n", + " 'optmSpendShareUnit', 'optmResponseShareUnit', 'initSpendShare',\n", + " 'initResponseUnit', 'optmSpendUnitTotal', 'optmResponseUnitTotal',\n", + " 'initResponseUnitTotal', 'optmResponseUnitTotalLift', 'optmRoiUnit',\n", + " 'initRoiUnit'],\n", + " dtype='object')\n", + "\n", + "Processing channel: tv_S\n", + "Current spend: 14843.69121730769\n", + "Optimal spend: 1484.369121730899\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [0.]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.6256663]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [224.90441238]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.64615758]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [449.80882477]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.66473382]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [674.71323715]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.6816423]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [899.61764953]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.6970902]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1124.52206192]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.71125235]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1349.4264743]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.72427724]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1574.33088668]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.73629175]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [1799.23529907]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.7474049]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [2024.13971145]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.75771084]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [2249.04412383]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.7672913]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [2473.94853622]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.77621752]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [2698.8529486]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.7845519]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [2923.75736098]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.79234928]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [3148.66177337]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.79965805]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [3373.56618575]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.80652107]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [3598.47059814]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.81297642]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [3823.37501052]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.81905804]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [4048.2794229]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.82479629]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [4273.18383529]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.83021837]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [4498.08824767]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.83534874]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [4722.99266005]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.84020946]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [4947.89707244]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.84482045]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [5172.80148482]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.84919975]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [5397.7058972]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.85336376]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [5622.61030959]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.85732737]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [5847.51472197]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.86110416]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [6072.41913435]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.86470654]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [6297.32354674]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.86814587]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [6522.22795912]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.87143256]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [6747.1323715]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.87457615]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [6972.03678389]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.87758545]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [7196.94119627]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.88046855]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [7421.84560865]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.88323293]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [7646.75002104]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.88588549]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [7871.65443342]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.88843263]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [8096.5588458]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.89088027]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [8321.46325819]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.8932339]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [8546.36767057]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.89549863]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [8771.27208295]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.89767921]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [8996.17649534]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.89978006]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [9221.08090772]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.90180532]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [9445.9853201]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.90375884]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [9670.88973249]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.90564421]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [9895.79414487]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.90746479]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [10120.69855726]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.90922376]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [10345.60296964]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.91092405]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [10570.50738202]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.91256845]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [10795.41179441]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.91415955]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [11020.31620679]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.91569982]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [11245.22061917]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.91719155]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [11470.12503156]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.91863691]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [11695.02944394]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.92003795]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [11919.93385632]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.9213966]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [12144.83826871]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.92271467]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [12369.74268109]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.92399389]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [12594.64709347]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.92523589]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [12819.55150586]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.92644219]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [13044.45591824]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.92761427]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [13269.36033062]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.92875349]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [13494.26474301]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.92986117]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [13719.16915539]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93093854]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [13944.07356777]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.9319868]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14168.97798016]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93300704]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14393.88239254]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93400035]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14618.78680492]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93496773]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [14843.69121731]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93591013]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [15068.59562969]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93682849]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [15293.50004207]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93772367]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [15518.40445446]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.9385965]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [15743.30886684]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.93944778]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [15968.21327922]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94027827]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [16193.11769161]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94108868]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [16418.02210399]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94187971]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [16642.92651638]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94265202]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [16867.83092876]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94340624]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [17092.73534114]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94414297]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [17317.63975353]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94486279]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [17542.54416591]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94556625]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [17767.44857829]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94625388]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [17992.35299068]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94692619]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [18217.25740306]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94758366]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [18442.16181544]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94822677]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [18667.06622783]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94885595]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [18891.97064021]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.94947164]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [19116.87505259]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95007426]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [19341.77946498]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95066419]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [19566.68387736]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95124181]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [19791.58828974]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.9518075]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [20016.49270213]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.9523616]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [20241.39711451]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95290445]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [20466.30152689]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95343638]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [20691.20593928]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.9539577]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [20916.11035166]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95446872]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [21141.01476404]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95496971]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [21365.91917643]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95546097]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [21590.82358881]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95594277]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [21815.72800119]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95641535]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [22040.63241358]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.95687898]\n", + "\n", + "Calculating response for tv_S\n", + "Input spend: [22265.53682596]\n", + "Parameters: coef=55390.99996431836, alpha=1.281954898, gamma=0.4641971387\n", + "Response: [55390.9573339]\n", + "\n", + "Processing channel: ooh_S\n", + "Current spend: 43217.94102403846\n", + "Optimal spend: 58239.36830610562\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [0.]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35136.31859581]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [882.4146713]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35137.98270282]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [1764.82934261]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35139.49013352]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [2647.24401391]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35140.8633239]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [3529.65868522]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35142.12050946]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [4412.07335652]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35143.27667851]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [5294.48802783]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35144.34427477]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [6176.90269913]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35145.33372342]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [7059.31737044]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35146.2538306]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [7941.73204174]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35147.11209078]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [8824.14671305]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35147.91492593]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [9706.56138435]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35148.66787379]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [10588.97605566]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35149.3757373]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [11471.39072696]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35150.04270457]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [12353.80539826]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35150.67244571]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [13236.22006957]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35151.26819184]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [14118.63474087]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35151.83279989]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [15001.04941218]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35152.36880606]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [15883.46408348]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35152.87847041]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [16765.87875479]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35153.36381403]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [17648.29342609]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35153.82665031]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [18530.7080974]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35154.26861146]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [19413.1227687]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35154.69117088]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [20295.53744001]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35155.09566241]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [21177.95211131]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35155.48329673]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [22060.36678262]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35155.85517545]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [22942.78145392]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35156.2123034]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [23825.19612523]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35156.55559916]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [24707.61079653]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35156.8859043]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [25590.02546783]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35157.20399141]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [26472.44013914]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35157.51057116]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [27354.85481044]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35157.80629847]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [28237.26948175]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35158.091778]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [29119.68415305]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35158.36756892]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [30002.09882436]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35158.6341892]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [30884.51349566]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35158.89211943]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [31766.92816697]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35159.14180614]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [32649.34283827]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35159.38366486]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [33531.75750958]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35159.6180828]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [34414.17218088]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35159.84542125]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [35296.58685219]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35160.06601776]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [36179.00152349]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35160.28018809]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [37061.41619479]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35160.488228]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [37943.8308661]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35160.69041478]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [38826.2455374]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35160.88700875]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [39708.66020871]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.07825453]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [40591.07488001]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.26438224]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [41473.48955132]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.44560856]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [42355.90422262]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.62213775]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [43238.31889393]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.7941625]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [44120.73356523]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35161.96186478]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [45003.14823654]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35162.1254166]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [45885.56290784]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35162.28498066]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [46767.97757915]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35162.44071099]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [47650.39225045]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35162.59275356]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [48532.80692175]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35162.74124678]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [49415.22159306]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35162.886322]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [50297.63626436]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35163.02810396]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [51180.05093567]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35163.16671123]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [52062.46560697]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35163.30225656]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [52944.88027828]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35163.43484726]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [53827.29494958]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35163.56458552]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [54709.70962089]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35163.69156874]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [55592.12429219]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35163.81588976]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [56474.5389635]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35163.93763721]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [57356.9536348]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.05689566]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [58239.36830611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.17374593]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [59121.78297741]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.28826525]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [60004.19764871]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.40052748]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [60886.61232002]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.51060329]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [61769.02699132]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.61856036]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [62651.44166263]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.72446349]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [63533.85633393]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.82837478]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [64416.27100524]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35164.93035379]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [65298.68567654]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.03045764]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [66181.10034785]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.12874115]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [67063.51501915]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.22525696]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [67945.92969046]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.32005564]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [68828.34436176]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.41318578]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [69710.75903307]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.50469408]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [70593.17370437]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.59462549]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [71475.58837568]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.68302325]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [72358.00304698]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.76992896]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [73240.41771828]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.85538271]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [74122.83238959]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35165.9394231]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [75005.24706089]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.02208735]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [75887.6617322]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.10341133]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [76770.0764035]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.18342963]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [77652.49107481]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.26217564]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [78534.90574611]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.33968156]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [79417.32041742]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.41597849]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [80299.73508872]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.49109647]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [81182.14976003]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.56506451]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [82064.56443133]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.63791066]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [82946.97910264]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.70966203]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [83829.39377394]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.78034482]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [84711.80844524]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.8499844]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [85594.22311655]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.91860529]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [86476.63778785]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35166.98623125]\n", + "\n", + "Calculating response for ooh_S\n", + "Input spend: [87359.05245916]\n", + "Parameters: coef=35178.80824905069, alpha=0.645597826175, gamma=0.41785584685\n", + "Response: [35167.05288526]\n", + "\n", + "Processing channel: print_S\n", + "Current spend: 3728.632263942308\n", + "Optimal spend: 9321.580659855654\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [0.]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24776.68845454]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [141.2360706]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24778.68210448]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [282.47214121]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24780.20666792]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [423.70821181]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24781.41047256]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [564.94428242]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24782.38523873]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [706.18035302]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24783.19073993]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [847.41642362]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24783.8676023]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [988.65249423]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24784.4444057]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [1129.88856483]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24784.94184202]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [1271.12463543]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24785.37526188]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [1412.36070604]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24785.75629425]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [1553.59677664]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24786.09391031]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [1694.83284725]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24786.39514199]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [1836.06891785]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24786.66557935]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [1977.30498845]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24786.90972223]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [2118.54105906]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24787.13123384]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [2259.77712966]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24787.33312659]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [2401.01320027]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24787.51790057]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [2542.24927087]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24787.68764806]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [2683.48534147]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24787.84413345]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [2824.72141208]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24787.9888551]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [2965.95748268]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.12309365]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3107.19355329]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.24795024]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3248.42962389]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.36437685]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3389.66569449]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.47320081]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3530.9017651]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.57514451]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3672.1378357]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.67084155]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3813.3739063]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.76085]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [3954.60997691]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.84566332]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [4095.84604751]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24788.92571944]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [4237.08211812]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.00140838]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [4378.31818872]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.07307863]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [4519.55425932]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.14104252]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [4660.79032993]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.20558081]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [4802.02640053]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.26694658]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [4943.26247114]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.32536856]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [5084.49854174]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.38105398]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [5225.73461234]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.43419105]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [5366.97068295]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.4849511]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [5508.20675355]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.53349042]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [5649.44282415]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.57995189]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [5790.67889476]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.62446636]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [5931.91496536]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.66715393]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [6073.15103597]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.708125]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [6214.38710657]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.74748125]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [6355.62317717]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.78531647]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [6496.85924778]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.82171732]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [6638.09531838]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.856764]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [6779.33138899]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.89053083]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [6920.56745959]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.92308679]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [7061.80353019]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.95449598]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [7203.0396008]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24789.98481805]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [7344.2756714]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.01410858]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [7485.51174201]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.04241943]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [7626.74781261]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.06979903]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [7767.98388321]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.09629266]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [7909.21995382]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.12194272]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [8050.45602442]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.14678895]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [8191.69209502]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.17086861]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [8332.92816563]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.19421671]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [8474.16423623]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.21686614]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [8615.40030684]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.23884786]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [8756.63637744]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.26019103]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [8897.87244804]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.28092311]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9039.10851865]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.30107003]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9180.34458925]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.32065627]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9321.58065986]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.33970495]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9462.81673046]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.35823795]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9604.05280106]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.37627595]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9745.28887167]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.39383858]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [9886.52494227]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.4109444]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [10027.76101288]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.42761106]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [10168.99708348]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.44385526]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [10310.23315408]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.45969292]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [10451.46922469]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.47513912]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [10592.70529529]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.49020823]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [10733.94136589]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.50491393]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [10875.1774365]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.51926921]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [11016.4135071]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.53328649]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [11157.64957771]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.54697758]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [11298.88564831]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.56035376]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [11440.12171891]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.57342579]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [11581.35778952]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.58620394]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [11722.59386012]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.59869805]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [11863.82993073]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.61091748]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [12005.06600133]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.62287122]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [12146.30207193]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.63456785]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [12287.53814254]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.6460156]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [12428.77421314]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.65722234]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [12570.01028374]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.66819562]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [12711.24635435]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.67894266]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [12852.48242495]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.68947042]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [12993.71849556]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.69978554]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [13134.95456616]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.70989441]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [13276.19063676]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.71980318]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [13417.42670737]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.72951773]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [13558.66277797]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.73904373]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [13699.89884858]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.74838663]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [13841.13491918]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.75755166]\n", + "\n", + "Calculating response for print_S\n", + "Input spend: [13982.37098978]\n", + "Parameters: coef=24791.716840120174, alpha=0.9884866815, gamma=0.50714887298\n", + "Response: [24790.76654387]\n", + "\n", + "Processing channel: facebook_S\n", + "Current spend: 2145.6578269230768\n", + "Optimal spend: 214.56578269235723\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [0.]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.72330873]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [32.50996707]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.84542831]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [65.01993415]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85515977]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [97.52990122]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85742807]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [130.0398683]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85823038]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [162.54983537]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85858676]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [195.05980245]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85876972]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [227.56976952]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85887358]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [260.0797366]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85893707]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [292.58970367]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85897814]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [325.09967075]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85900594]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [357.60963782]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85902544]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [390.1196049]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85903956]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [422.62957197]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85905003]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [455.13953904]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85905797]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [487.64950612]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85906411]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [520.15947319]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85906893]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [552.66944027]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85907277]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [585.17940734]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85907588]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [617.68937442]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85907841]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [650.19934149]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.8590805]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [682.70930857]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85908224]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [715.21927564]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.8590837]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [747.72924272]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85908494]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [780.23920979]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85908599]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [812.74917686]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85908689]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [845.25914394]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85908767]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [877.76911101]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85908835]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [910.27907809]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85908894]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [942.78904516]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85908946]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [975.29901224]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85908991]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1007.80897931]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909031]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1040.31894639]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909067]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1072.82891346]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909099]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1105.33888054]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909127]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1137.84884761]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909152]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1170.35881469]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909175]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1202.86878176]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909196]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1235.37874883]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909215]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1267.88871591]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909231]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1300.39868298]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909247]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1332.90865006]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909261]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1365.41861713]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909274]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1397.92858421]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909285]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1430.43855128]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909296]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1462.94851836]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909306]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1495.45848543]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909315]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1527.96845251]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909323]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1560.47841958]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909331]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1592.98838666]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909338]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1625.49835373]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909345]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1658.0083208]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909351]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1690.51828788]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909357]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1723.02825495]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909362]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1755.53822203]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909367]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1788.0481891]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909371]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1820.55815618]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909376]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1853.06812325]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.8590938]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1885.57809033]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909383]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1918.0880574]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909387]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1950.59802448]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.8590939]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [1983.10799155]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909393]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2015.61795862]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909396]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2048.1279257]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909399]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2080.63789277]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909402]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2113.14785985]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909404]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2145.65782692]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909406]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2178.167794]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909409]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2210.67776107]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909411]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2243.18772815]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909413]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2275.69769522]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909415]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2308.2076623]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909416]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2340.71762937]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909418]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2373.22759645]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909419]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2405.73756352]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909421]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2438.24753059]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909422]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2470.75749767]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909424]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2503.26746474]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909425]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2535.77743182]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909426]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2568.28739889]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909427]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2600.79736597]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909429]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2633.30733304]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.8590943]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2665.81730012]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909431]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2698.32726719]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909432]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2730.83723427]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909433]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2763.34720134]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909433]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2795.85716841]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909434]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2828.36713549]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909435]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2860.87710256]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909436]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2893.38706964]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909437]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2925.89703671]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909437]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2958.40700379]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909438]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [2990.91697086]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909439]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [3023.42693794]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909439]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [3055.93690501]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.8590944]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [3088.44687209]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.8590944]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [3120.95683916]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909441]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [3153.46680624]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909442]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [3185.97677331]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909442]\n", + "\n", + "Calculating response for facebook_S\n", + "Input spend: [3218.48674038]\n", + "Parameters: coef=32838.85909459951, alpha=2.8031818622499998, gamma=0.30776223368899996\n", + "Response: [32838.85909443]\n", + "\n", + "Processing channel: search_S\n", + "Current spend: 5915.512820192308\n", + "Optimal spend: 591.5512820193153\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [0.]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75354907]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [89.62898212]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75456114]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [179.25796425]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75505665]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [268.88694637]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75532764]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [358.5159285]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.7554883]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [448.14491062]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75558959]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [537.77389274]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75565663]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [627.40287487]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75570278]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [717.03185699]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75573559]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [806.66083912]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75575956]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [896.28982124]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75577748]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [985.91880337]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75579116]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1075.54778549]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75580177]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1165.17676761]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75581014]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1254.80574974]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75581682]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1344.43473186]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75582222]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1434.06371399]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75582664]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1523.69269611]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75583029]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1613.32167823]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75583333]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1702.95066036]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75583588]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1792.57964248]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75583804]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1882.20862461]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75583988]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [1971.83760673]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584145]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2061.46658885]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584281]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2151.09557098]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584399]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2240.7245531]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584501]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2330.35353523]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584591]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2419.98251735]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.7558467]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2509.61149948]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.7558474]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2599.2404816]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584801]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2688.86946372]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584856]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2778.49844585]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584905]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2868.12742797]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584949]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [2957.7564101]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75584988]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3047.38539222]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585023]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3137.01437434]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585055]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3226.64335647]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585084]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3316.27233859]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585111]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3405.90132072]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585134]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3495.53030284]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585156]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3585.15928497]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585176]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3674.78826709]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585194]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3764.41724921]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585211]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3854.04623134]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585226]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [3943.67521346]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.7558524]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4033.30419559]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585253]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4122.93317771]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585265]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4212.56215983]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585277]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4302.19114196]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585287]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4391.82012408]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585296]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4481.44910621]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585305]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4571.07808833]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585313]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4660.70707045]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585321]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4750.33605258]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585328]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4839.9650347]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585335]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [4929.59401683]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585341]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5019.22299895]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585347]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5108.85198108]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585353]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5198.4809632]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585358]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5288.10994532]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585363]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5377.73892745]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585367]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5467.36790957]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585371]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5556.9968917]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585375]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5646.62587382]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585379]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5736.25485594]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585383]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5825.88383807]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585386]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [5915.51282019]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585389]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6005.14180232]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585392]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6094.77078444]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585395]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6184.39976656]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585398]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6274.02874869]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585401]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6363.65773081]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585403]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6453.28671294]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585405]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6542.91569506]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585407]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6632.54467719]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.7558541]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6722.17365931]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585411]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6811.80264143]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585413]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6901.43162356]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585415]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [6991.06060568]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585417]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7080.68958781]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585419]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7170.31856993]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.7558542]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7259.94755205]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585422]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7349.57653418]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585423]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7439.2055163]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585424]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7528.83449843]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585426]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7618.46348055]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585427]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7708.09246267]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585428]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7797.7214448]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585429]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7887.35042692]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.7558543]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [7976.97940905]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585431]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8066.60839117]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585432]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8156.2373733]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585433]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8245.86635542]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585434]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8335.49533754]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585435]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8425.12431967]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585436]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8514.75330179]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585437]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8604.38228392]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585438]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8694.01126604]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585438]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8783.64024816]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.75585439]\n", + "\n", + "Calculating response for search_S\n", + "Input spend: [8873.26923029]\n", + "Parameters: coef=140390.7558546367, alpha=2.9476104635, gamma=0.94571396036\n", + "Response: [140390.7558544]\n" + ] + }, + { + "ename": "ValueError", + "evalue": "The palette dictionary is missing keys: {'Initial', 'Bounded'}", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[12], line 19\u001b[0m\n\u001b[1;32m 12\u001b[0m plot_data \u001b[38;5;241m=\u001b[39m plotter\u001b[38;5;241m.\u001b[39mprepare_plot_data(\n\u001b[1;32m 13\u001b[0m channels\u001b[38;5;241m=\u001b[39mallocator\u001b[38;5;241m.\u001b[39mpaid_media_vars,\n\u001b[1;32m 14\u001b[0m dt_optimout\u001b[38;5;241m=\u001b[39mresult1\u001b[38;5;241m.\u001b[39mdt_optim_out,\n\u001b[1;32m 15\u001b[0m objective_function\u001b[38;5;241m=\u001b[39mallocator\u001b[38;5;241m.\u001b[39mobjective_function,\n\u001b[1;32m 16\u001b[0m )\n\u001b[1;32m 18\u001b[0m \u001b[38;5;66;03m# Create plots\u001b[39;00m\n\u001b[0;32m---> 19\u001b[0m fig \u001b[38;5;241m=\u001b[39m \u001b[43mplotter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate_onepager\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 20\u001b[0m \u001b[43m \u001b[49m\u001b[43mdt_optimout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresult1\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdt_optim_out\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 21\u001b[0m \u001b[43m \u001b[49m\u001b[43mplot_data\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mplot_data\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 22\u001b[0m \u001b[43m \u001b[49m\u001b[43mscenario\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresult1\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscenario\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 23\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m3_191_4\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 24\u001b[0m \u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mR-squared: 0.85 | NRMSE: 0.15 | DECOMP.RSSD: 0.25\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m# Add your actual metrics\u001b[39;49;00m\n\u001b[1;32m 25\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 27\u001b[0m plt\u001b[38;5;241m.\u001b[39mshow()\n", + "File \u001b[0;32m~/robynpy_release_reviews/Robyn/python/src/robyn/new_allocator/allocation_plotter.py:77\u001b[0m, in \u001b[0;36mAllocationPlotter.create_onepager\u001b[0;34m(self, dt_optimout, plot_data, scenario, model_id, errors)\u001b[0m\n\u001b[1;32m 74\u001b[0m ax_bot \u001b[38;5;241m=\u001b[39m fig\u001b[38;5;241m.\u001b[39madd_subplot(gs[\u001b[38;5;241m3\u001b[39m:, :]) \u001b[38;5;66;03m# Response curves\u001b[39;00m\n\u001b[1;32m 76\u001b[0m \u001b[38;5;66;03m# Plot each section\u001b[39;00m\n\u001b[0;32m---> 77\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_plot_budget_optimization\u001b[49m\u001b[43m(\u001b[49m\u001b[43max_top\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdt_optimout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 78\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_plot_allocation_heatmap(ax_mid, dt_optimout)\n\u001b[1;32m 79\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_plot_response_curves(ax_bot, plot_data, dt_optimout)\n", + "File \u001b[0;32m~/robynpy_release_reviews/Robyn/python/src/robyn/new_allocator/allocation_plotter.py:109\u001b[0m, in \u001b[0;36mAllocationPlotter._plot_budget_optimization\u001b[0;34m(self, ax, dt_optimout)\u001b[0m\n\u001b[1;32m 95\u001b[0m data \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mDataFrame(\n\u001b[1;32m 96\u001b[0m {\n\u001b[1;32m 97\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mScenario\u001b[39m\u001b[38;5;124m\"\u001b[39m: scenarios \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 105\u001b[0m }\n\u001b[1;32m 106\u001b[0m )\n\u001b[1;32m 108\u001b[0m \u001b[38;5;66;03m# Create grouped bar plot\u001b[39;00m\n\u001b[0;32m--> 109\u001b[0m \u001b[43msns\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbarplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mMetric\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mValue\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhue\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mScenario\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpalette\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolors\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43max\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43max\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 111\u001b[0m \u001b[38;5;66;03m# Add value labels\u001b[39;00m\n\u001b[1;32m 112\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m container \u001b[38;5;129;01min\u001b[39;00m ax\u001b[38;5;241m.\u001b[39mcontainers:\n", + "File \u001b[0;32m~/robynpy_release_reviews/robynvenv/lib/python3.9/site-packages/seaborn/categorical.py:2370\u001b[0m, in \u001b[0;36mbarplot\u001b[0;34m(data, x, y, hue, order, hue_order, estimator, errorbar, n_boot, seed, units, weights, orient, color, palette, saturation, fill, hue_norm, width, dodge, gap, log_scale, native_scale, formatter, legend, capsize, err_kws, ci, errcolor, errwidth, ax, **kwargs)\u001b[0m\n\u001b[1;32m 2367\u001b[0m palette, hue_order \u001b[38;5;241m=\u001b[39m p\u001b[38;5;241m.\u001b[39m_hue_backcompat(color, palette, hue_order)\n\u001b[1;32m 2369\u001b[0m saturation \u001b[38;5;241m=\u001b[39m saturation \u001b[38;5;28;01mif\u001b[39;00m fill \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;241m1\u001b[39m\n\u001b[0;32m-> 2370\u001b[0m \u001b[43mp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmap_hue\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpalette\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpalette\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43morder\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mhue_order\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnorm\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mhue_norm\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msaturation\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msaturation\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2371\u001b[0m color \u001b[38;5;241m=\u001b[39m _default_color(ax\u001b[38;5;241m.\u001b[39mbar, hue, color, kwargs, saturation\u001b[38;5;241m=\u001b[39msaturation)\n\u001b[1;32m 2373\u001b[0m agg_cls \u001b[38;5;241m=\u001b[39m WeightedAggregator \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mweight\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m p\u001b[38;5;241m.\u001b[39mplot_data \u001b[38;5;28;01melse\u001b[39;00m EstimateAggregator\n", + "File \u001b[0;32m~/robynpy_release_reviews/robynvenv/lib/python3.9/site-packages/seaborn/_base.py:838\u001b[0m, in \u001b[0;36mVectorPlotter.map_hue\u001b[0;34m(self, palette, order, norm, saturation)\u001b[0m\n\u001b[1;32m 837\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmap_hue\u001b[39m(\u001b[38;5;28mself\u001b[39m, palette\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, order\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, norm\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, saturation\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m):\n\u001b[0;32m--> 838\u001b[0m mapping \u001b[38;5;241m=\u001b[39m \u001b[43mHueMapping\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpalette\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43morder\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnorm\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msaturation\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 839\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_hue_map \u001b[38;5;241m=\u001b[39m mapping\n", + "File \u001b[0;32m~/robynpy_release_reviews/robynvenv/lib/python3.9/site-packages/seaborn/_base.py:150\u001b[0m, in \u001b[0;36mHueMapping.__init__\u001b[0;34m(self, plotter, palette, order, norm, saturation)\u001b[0m\n\u001b[1;32m 147\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m map_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcategorical\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 149\u001b[0m cmap \u001b[38;5;241m=\u001b[39m norm \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 150\u001b[0m levels, lookup_table \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcategorical_mapping\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 151\u001b[0m \u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpalette\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43morder\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 152\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 154\u001b[0m \u001b[38;5;66;03m# --- Option 3: datetime mapping\u001b[39;00m\n\u001b[1;32m 155\u001b[0m \n\u001b[1;32m 156\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 157\u001b[0m \u001b[38;5;66;03m# TODO this needs actual implementation\u001b[39;00m\n\u001b[1;32m 158\u001b[0m cmap \u001b[38;5;241m=\u001b[39m norm \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/robynpy_release_reviews/robynvenv/lib/python3.9/site-packages/seaborn/_base.py:234\u001b[0m, in \u001b[0;36mHueMapping.categorical_mapping\u001b[0;34m(self, data, palette, order)\u001b[0m\n\u001b[1;32m 232\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28many\u001b[39m(missing):\n\u001b[1;32m 233\u001b[0m err \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe palette dictionary is missing keys: \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m--> 234\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(err\u001b[38;5;241m.\u001b[39mformat(missing))\n\u001b[1;32m 236\u001b[0m lookup_table \u001b[38;5;241m=\u001b[39m palette\n\u001b[1;32m 238\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "\u001b[0;31mValueError\u001b[0m: The palette dictionary is missing keys: {'Initial', 'Bounded'}" + ] + }, + { + "data": { + "image/png": "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AAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAAgCSCLAAAAABAEkEWAAAAACCJIAsAAAAAkESQBQAAAABIIsgCAAAAACQRZAEAAAAAkgiyAAAAAABJBFkAAAAA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from robyn.new_allocator.allocation_plotter import AllocationPlotter\n", "from robyn.new_allocator.optimization.objective_function import ObjectiveFunction\n", - "from robyn.data.entities.mmmdata import MMMData, MMMDataSpec\n", + "from robyn.data.entities.mmmdata import MMMData\n", "\n", - "# Create plots\n", + "# Create plotter\n", "plotter = AllocationPlotter()\n", "\n", - "# Get date range\n", - "date_range = (mmm_data.data[mmm_data.mmmdata_spec.date_var].min(), mmm_data.data[mmm_data.mmmdata_spec.date_var].max())\n", + "# Print available columns\n", + "print(\"Available columns:\", result1.dt_optim_out.columns)\n", "\n", "# Prepare response curves data\n", - "plot_data = plotter._prepare_response_curves_data(\n", + "plot_data = plotter.prepare_plot_data(\n", " channels=allocator.paid_media_vars,\n", - " allocation_df=result1.dt_optim_out,\n", + " dt_optimout=result1.dt_optim_out,\n", " objective_function=allocator.objective_function,\n", ")\n", "\n", - "# Create onepager plot\n", + "# Create plots\n", "fig = plotter.create_onepager(\n", - " dt_optim_out=result1.dt_optim_out,\n", + " dt_optimout=result1.dt_optim_out,\n", " plot_data=plot_data,\n", " scenario=result1.scenario,\n", - " date_range=date_range,\n", - " interval_type=\"Week\",\n", + " model_id=\"3_191_4\",\n", + " errors=\"R-squared: 0.85 | NRMSE: 0.15 | DECOMP.RSSD: 0.25\", # Add your actual metrics\n", ")\n", "\n", "plt.show()"