customeranalytics 0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. customeranalytics/__init__.py +319 -0
  2. customeranalytics/configs.py +480 -0
  3. customeranalytics/data_storage_configurations/__init__.py +245 -0
  4. customeranalytics/data_storage_configurations/data_access.py +165 -0
  5. customeranalytics/data_storage_configurations/data_works_pipeline.py +207 -0
  6. customeranalytics/data_storage_configurations/es_create_index.py +544 -0
  7. customeranalytics/data_storage_configurations/logger.py +36 -0
  8. customeranalytics/data_storage_configurations/query_es.py +157 -0
  9. customeranalytics/data_storage_configurations/reports.py +684 -0
  10. customeranalytics/data_storage_configurations/schedule_data_integration.py +355 -0
  11. customeranalytics/docs/queries.yaml +245 -0
  12. customeranalytics/docs/web_configs.yaml +2 -0
  13. customeranalytics/exploratory_analysis/__init__.py +109 -0
  14. customeranalytics/exploratory_analysis/churn.py +232 -0
  15. customeranalytics/exploratory_analysis/cohorts.py +535 -0
  16. customeranalytics/exploratory_analysis/descriptive_statistics.py +470 -0
  17. customeranalytics/exploratory_analysis/funnels.py +407 -0
  18. customeranalytics/exploratory_analysis/product_analytics.py +340 -0
  19. customeranalytics/exploratory_analysis/promotion_analytics.py +299 -0
  20. customeranalytics/exploratory_analysis/rfm.py +202 -0
  21. customeranalytics/exploratory_analysis/sample_data/sample_data_avg_order_count_per_promo_per_cust.csv +99 -0
  22. customeranalytics/exploratory_analysis/sample_data/sample_data_chart_1_search.csv +2 -0
  23. customeranalytics/exploratory_analysis/sample_data/sample_data_chart_2_search.csv +46 -0
  24. customeranalytics/exploratory_analysis/sample_data/sample_data_chart_3_search.csv +2 -0
  25. customeranalytics/exploratory_analysis/sample_data/sample_data_chart_4_search.csv +2 -0
  26. customeranalytics/exploratory_analysis/sample_data/sample_data_churn.csv +2 -0
  27. customeranalytics/exploratory_analysis/sample_data/sample_data_churn_weekly.csv +10 -0
  28. customeranalytics/exploratory_analysis/sample_data/sample_data_client_feature_predicted.csv +1590 -0
  29. customeranalytics/exploratory_analysis/sample_data/sample_data_client_kpis.csv +7060 -0
  30. customeranalytics/exploratory_analysis/sample_data/sample_data_clvrfm_anomaly.csv +561 -0
  31. customeranalytics/exploratory_analysis/sample_data/sample_data_clvsegments_amount.csv +8 -0
  32. customeranalytics/exploratory_analysis/sample_data/sample_data_customer_journey.csv +18 -0
  33. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_clv.csv +103 -0
  34. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_cohort_downloads.csv +68 -0
  35. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_cohort_from_1_to_2.csv +66 -0
  36. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_cohort_from_2_to_3.csv +64 -0
  37. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_cohort_from_3_to_4.csv +55 -0
  38. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_dimension_values.csv +199 -0
  39. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_funnel.csv +36 -0
  40. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_funnel_downloads.csv +68 -0
  41. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_inorganic_ratio.csv +6070 -0
  42. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_orders.csv +57 -0
  43. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_organic_orders.csv +64 -0
  44. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_products_of_sales.csv +12574 -0
  45. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_promotion_discount.csv +64 -0
  46. customeranalytics/exploratory_analysis/sample_data/sample_data_daily_promotion_revenue.csv +6070 -0
  47. customeranalytics/exploratory_analysis/sample_data/sample_data_dcohort_anomaly.csv +6 -0
  48. customeranalytics/exploratory_analysis/sample_data/sample_data_dcohort_anomaly_2.csv +118 -0
  49. customeranalytics/exploratory_analysis/sample_data/sample_data_deliver.csv +47 -0
  50. customeranalytics/exploratory_analysis/sample_data/sample_data_deliver_kpis.csv +2 -0
  51. customeranalytics/exploratory_analysis/sample_data/sample_data_deliver_weekday_hour.csv +25 -0
  52. customeranalytics/exploratory_analysis/sample_data/sample_data_dfunnel_anomaly.csv +118 -0
  53. customeranalytics/exploratory_analysis/sample_data/sample_data_dimension_kpis.csv +199 -0
  54. customeranalytics/exploratory_analysis/sample_data/sample_data_dorders_anomaly.csv +85 -0
  55. customeranalytics/exploratory_analysis/sample_data/sample_data_frequency_clusters.csv +6 -0
  56. customeranalytics/exploratory_analysis/sample_data/sample_data_frequency_recency.csv +3740 -0
  57. customeranalytics/exploratory_analysis/sample_data/sample_data_hourly_funnel.csv +25 -0
  58. customeranalytics/exploratory_analysis/sample_data/sample_data_hourly_funnel_downloads.csv +25 -0
  59. customeranalytics/exploratory_analysis/sample_data/sample_data_hourly_inorganic_ratio.csv +2353 -0
  60. customeranalytics/exploratory_analysis/sample_data/sample_data_hourly_orders.csv +25 -0
  61. customeranalytics/exploratory_analysis/sample_data/sample_data_hourly_organic_orders.csv +2353 -0
  62. customeranalytics/exploratory_analysis/sample_data/sample_data_inorganic_orders_per_promotion_per_day.csv +6070 -0
  63. customeranalytics/exploratory_analysis/sample_data/sample_data_kpis.csv +2 -0
  64. customeranalytics/exploratory_analysis/sample_data/sample_data_monetary_clusters.csv +6 -0
  65. customeranalytics/exploratory_analysis/sample_data/sample_data_monetary_frequency.csv +3740 -0
  66. customeranalytics/exploratory_analysis/sample_data/sample_data_monthly_funnel.csv +5 -0
  67. customeranalytics/exploratory_analysis/sample_data/sample_data_monthly_funnel_downloads.csv +5 -0
  68. customeranalytics/exploratory_analysis/sample_data/sample_data_monthly_orders.csv +4 -0
  69. customeranalytics/exploratory_analysis/sample_data/sample_data_most_combined_products.csv +11 -0
  70. customeranalytics/exploratory_analysis/sample_data/sample_data_most_ordered_categories.csv +11 -0
  71. customeranalytics/exploratory_analysis/sample_data/sample_data_most_ordered_products.csv +11 -0
  72. customeranalytics/exploratory_analysis/sample_data/sample_data_order_and_payment_amount_differences.csv +91 -0
  73. customeranalytics/exploratory_analysis/sample_data/sample_data_prepare.csv +101 -0
  74. customeranalytics/exploratory_analysis/sample_data/sample_data_prepare_weekday_hour.csv +25 -0
  75. customeranalytics/exploratory_analysis/sample_data/sample_data_product_kpis.csv +201 -0
  76. customeranalytics/exploratory_analysis/sample_data/sample_data_product_usage_before_after_amount_accept.csv +11 -0
  77. customeranalytics/exploratory_analysis/sample_data/sample_data_product_usage_before_after_amount_reject.csv +7 -0
  78. customeranalytics/exploratory_analysis/sample_data/sample_data_product_usage_before_after_orders_accept.csv +11 -0
  79. customeranalytics/exploratory_analysis/sample_data/sample_data_product_usage_before_after_orders_reject.csv +11 -0
  80. customeranalytics/exploratory_analysis/sample_data/sample_data_promotion_comparison.csv +91 -0
  81. customeranalytics/exploratory_analysis/sample_data/sample_data_promotion_kpis.csv +99 -0
  82. customeranalytics/exploratory_analysis/sample_data/sample_data_promotion_number_of_customer.csv +99 -0
  83. customeranalytics/exploratory_analysis/sample_data/sample_data_promotion_usage_before_after_amount_accept.csv +81 -0
  84. customeranalytics/exploratory_analysis/sample_data/sample_data_promotion_usage_before_after_amount_reject.csv +11 -0
  85. customeranalytics/exploratory_analysis/sample_data/sample_data_promotion_usage_before_after_orders_accept.csv +55 -0
  86. customeranalytics/exploratory_analysis/sample_data/sample_data_promotion_usage_before_after_orders_reject.csv +37 -0
  87. customeranalytics/exploratory_analysis/sample_data/sample_data_purchase_amount_distribution.csv +22 -0
  88. customeranalytics/exploratory_analysis/sample_data/sample_data_recency_clusters.csv +6 -0
  89. customeranalytics/exploratory_analysis/sample_data/sample_data_recency_monetary.csv +3740 -0
  90. customeranalytics/exploratory_analysis/sample_data/sample_data_rfm.csv +2001 -0
  91. customeranalytics/exploratory_analysis/sample_data/sample_data_ride.csv +101 -0
  92. customeranalytics/exploratory_analysis/sample_data/sample_data_ride_weekday_hour.csv +25 -0
  93. customeranalytics/exploratory_analysis/sample_data/sample_data_segmentation.csv +11 -0
  94. customeranalytics/exploratory_analysis/sample_data/sample_data_segments_change_daily_before_after_amount.csv +10 -0
  95. customeranalytics/exploratory_analysis/sample_data/sample_data_segments_change_daily_before_after_orders.csv +9 -0
  96. customeranalytics/exploratory_analysis/sample_data/sample_data_segments_change_monthly_before_after_amount.csv +10 -0
  97. customeranalytics/exploratory_analysis/sample_data/sample_data_segments_change_monthly_before_after_orders.csv +11 -0
  98. customeranalytics/exploratory_analysis/sample_data/sample_data_segments_change_weekly_before_after_amount.csv +10 -0
  99. customeranalytics/exploratory_analysis/sample_data/sample_data_segments_change_weekly_before_after_orders.csv +10 -0
  100. customeranalytics/exploratory_analysis/sample_data/sample_data_user_counts_per_order_seq.csv +47 -0
  101. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_average_order_per_user.csv +13 -0
  102. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_average_payment_amount.csv +13 -0
  103. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_average_session_per_user.csv +13 -0
  104. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_cohort_downloads.csv +13 -0
  105. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_cohort_from_1_to_2.csv +13 -0
  106. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_cohort_from_2_to_3.csv +13 -0
  107. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_cohort_from_3_to_4.csv +12 -0
  108. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_funnel.csv +25 -0
  109. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_funnel_downloads.csv +25 -0
  110. customeranalytics/exploratory_analysis/sample_data/sample_data_weekly_orders.csv +10 -0
  111. customeranalytics/ml_process/__init__.py +64 -0
  112. customeranalytics/ml_process/ab_test.py +615 -0
  113. customeranalytics/ml_process/anomaly_detection.py +456 -0
  114. customeranalytics/ml_process/clv_prediction.py +301 -0
  115. customeranalytics/ml_process/customer_segmentation.py +354 -0
  116. customeranalytics/ml_process/delivery_analytics.py +754 -0
  117. customeranalytics/utils.py +186 -0
  118. customeranalytics/web/app/__init__.py +37 -0
  119. customeranalytics/web/app/base/__init__.py +9 -0
  120. customeranalytics/web/app/base/forms.py +16 -0
  121. customeranalytics/web/app/base/models.py +43 -0
  122. customeranalytics/web/app/base/routes.py +126 -0
  123. customeranalytics/web/app/base/static/assets/css/app.css +20 -0
  124. customeranalytics/web/app/base/static/assets/fonts/Inter-Black.woff +0 -0
  125. customeranalytics/web/app/base/static/assets/fonts/Inter-Black.woff2 +0 -0
  126. customeranalytics/web/app/base/static/assets/fonts/Inter-BlackItalic.woff +0 -0
  127. customeranalytics/web/app/base/static/assets/fonts/Inter-BlackItalic.woff2 +0 -0
  128. customeranalytics/web/app/base/static/assets/fonts/Inter-Bold.woff +0 -0
  129. customeranalytics/web/app/base/static/assets/fonts/Inter-Bold.woff2 +0 -0
  130. customeranalytics/web/app/base/static/assets/fonts/Inter-BoldItalic.woff +0 -0
  131. customeranalytics/web/app/base/static/assets/fonts/Inter-BoldItalic.woff2 +0 -0
  132. customeranalytics/web/app/base/static/assets/fonts/Inter-ExtraBold.woff +0 -0
  133. customeranalytics/web/app/base/static/assets/fonts/Inter-ExtraBold.woff2 +0 -0
  134. customeranalytics/web/app/base/static/assets/fonts/Inter-ExtraBoldItalic.woff +0 -0
  135. customeranalytics/web/app/base/static/assets/fonts/Inter-ExtraBoldItalic.woff2 +0 -0
  136. customeranalytics/web/app/base/static/assets/fonts/Inter-ExtraLight-BETA.woff +0 -0
  137. customeranalytics/web/app/base/static/assets/fonts/Inter-ExtraLight-BETA.woff2 +0 -0
  138. customeranalytics/web/app/base/static/assets/fonts/Inter-ExtraLightItalic-BETA.woff +0 -0
  139. customeranalytics/web/app/base/static/assets/fonts/Inter-ExtraLightItalic-BETA.woff2 +0 -0
  140. customeranalytics/web/app/base/static/assets/fonts/Inter-Italic.woff +0 -0
  141. customeranalytics/web/app/base/static/assets/fonts/Inter-Italic.woff2 +0 -0
  142. customeranalytics/web/app/base/static/assets/fonts/Inter-Light-BETA.woff +0 -0
  143. customeranalytics/web/app/base/static/assets/fonts/Inter-Light-BETA.woff2 +0 -0
  144. customeranalytics/web/app/base/static/assets/fonts/Inter-LightItalic-BETA.woff +0 -0
  145. customeranalytics/web/app/base/static/assets/fonts/Inter-LightItalic-BETA.woff2 +0 -0
  146. customeranalytics/web/app/base/static/assets/fonts/Inter-Medium.woff +0 -0
  147. customeranalytics/web/app/base/static/assets/fonts/Inter-Medium.woff2 +0 -0
  148. customeranalytics/web/app/base/static/assets/fonts/Inter-MediumItalic.woff +0 -0
  149. customeranalytics/web/app/base/static/assets/fonts/Inter-MediumItalic.woff2 +0 -0
  150. customeranalytics/web/app/base/static/assets/fonts/Inter-Regular.woff +0 -0
  151. customeranalytics/web/app/base/static/assets/fonts/Inter-Regular.woff2 +0 -0
  152. customeranalytics/web/app/base/static/assets/fonts/Inter-SemiBold.woff +0 -0
  153. customeranalytics/web/app/base/static/assets/fonts/Inter-SemiBold.woff2 +0 -0
  154. customeranalytics/web/app/base/static/assets/fonts/Inter-SemiBoldItalic.woff +0 -0
  155. customeranalytics/web/app/base/static/assets/fonts/Inter-SemiBoldItalic.woff2 +0 -0
  156. customeranalytics/web/app/base/static/assets/fonts/Inter-Thin-BETA.woff +0 -0
  157. customeranalytics/web/app/base/static/assets/fonts/Inter-Thin-BETA.woff2 +0 -0
  158. customeranalytics/web/app/base/static/assets/fonts/Inter-ThinItalic-BETA.woff +0 -0
  159. customeranalytics/web/app/base/static/assets/fonts/Inter-ThinItalic-BETA.woff2 +0 -0
  160. customeranalytics/web/app/base/static/assets/fonts/Inter-italic.var.woff2 +0 -0
  161. customeranalytics/web/app/base/static/assets/fonts/Inter-upright.var.woff2 +0 -0
  162. customeranalytics/web/app/base/static/assets/fonts/Inter.var.woff2 +0 -0
  163. customeranalytics/web/app/base/static/assets/fonts/fa-brands-400.eot +0 -0
  164. customeranalytics/web/app/base/static/assets/fonts/fa-brands-400.svg +3570 -0
  165. customeranalytics/web/app/base/static/assets/fonts/fa-brands-400.ttf +0 -0
  166. customeranalytics/web/app/base/static/assets/fonts/fa-brands-400.woff +0 -0
  167. customeranalytics/web/app/base/static/assets/fonts/fa-brands-400.woff2 +0 -0
  168. customeranalytics/web/app/base/static/assets/fonts/fa-regular-400.eot +0 -0
  169. customeranalytics/web/app/base/static/assets/fonts/fa-regular-400.svg +801 -0
  170. customeranalytics/web/app/base/static/assets/fonts/fa-regular-400.ttf +0 -0
  171. customeranalytics/web/app/base/static/assets/fonts/fa-regular-400.woff +0 -0
  172. customeranalytics/web/app/base/static/assets/fonts/fa-regular-400.woff2 +0 -0
  173. customeranalytics/web/app/base/static/assets/fonts/fa-solid-900.eot +0 -0
  174. customeranalytics/web/app/base/static/assets/fonts/fa-solid-900.svg +5028 -0
  175. customeranalytics/web/app/base/static/assets/fonts/fa-solid-900.ttf +0 -0
  176. customeranalytics/web/app/base/static/assets/fonts/fa-solid-900.woff +0 -0
  177. customeranalytics/web/app/base/static/assets/fonts/fa-solid-900.woff2 +0 -0
  178. customeranalytics/web/app/base/static/assets/img/avatars/avatar-1.png +0 -0
  179. customeranalytics/web/app/base/static/assets/img/avatars/avatar-2.png +0 -0
  180. customeranalytics/web/app/base/static/assets/img/avatars/avatar-3.png +0 -0
  181. customeranalytics/web/app/base/static/assets/img/avatars/avatar-4.png +0 -0
  182. customeranalytics/web/app/base/static/assets/img/avatars/avatar-5.png +0 -0
  183. customeranalytics/web/app/base/static/assets/img/avatars/info.jpeg +0 -0
  184. customeranalytics/web/app/base/static/assets/img/icons/customanality.png +0 -0
  185. customeranalytics/web/app/base/static/assets/img/icons/icon-48x48.png +0 -0
  186. customeranalytics/web/app/base/static/assets/js/app.js +2 -0
  187. customeranalytics/web/app/base/static/assets/js/app.js.LICENSE +566 -0
  188. customeranalytics/web/app/base/static/assets/js/app.js.LICENSE.txt +556 -0
  189. customeranalytics/web/app/base/static/assets/js/modules/bootstrap.js +15 -0
  190. customeranalytics/web/app/base/static/assets/js/modules/chartjs.js +4 -0
  191. customeranalytics/web/app/base/static/assets/js/modules/feather.js +8 -0
  192. customeranalytics/web/app/base/static/assets/js/modules/flatpickr.js +4 -0
  193. customeranalytics/web/app/base/static/assets/js/modules/moment.js +4 -0
  194. customeranalytics/web/app/base/static/assets/js/modules/sidebar.js +23 -0
  195. customeranalytics/web/app/base/static/assets/js/modules/theme.js +16 -0
  196. customeranalytics/web/app/base/templates/accounts/login.html +81 -0
  197. customeranalytics/web/app/base/templates/accounts/register.html +80 -0
  198. customeranalytics/web/app/base/templates/includes/footer.html +28 -0
  199. customeranalytics/web/app/base/templates/includes/navigation.html +51 -0
  200. customeranalytics/web/app/base/templates/includes/scripts.html +3 -0
  201. customeranalytics/web/app/base/templates/includes/sidebar.html +146 -0
  202. customeranalytics/web/app/base/templates/layouts/base-fullscreen.html +36 -0
  203. customeranalytics/web/app/base/templates/layouts/base.html +84 -0
  204. customeranalytics/web/app/base/util.py +30 -0
  205. customeranalytics/web/app/home/__init__.py +9 -0
  206. customeranalytics/web/app/home/forms.py +1039 -0
  207. customeranalytics/web/app/home/models.py +438 -0
  208. customeranalytics/web/app/home/profiles.py +310 -0
  209. customeranalytics/web/app/home/routes.py +386 -0
  210. customeranalytics/web/app/home/search.py +288 -0
  211. customeranalytics/web/app/home/static/assets/img/avatars/avatar-1.png +0 -0
  212. customeranalytics/web/app/home/static/assets/img/avatars/avatar-2.png +0 -0
  213. customeranalytics/web/app/home/static/assets/img/avatars/avatar-3.png +0 -0
  214. customeranalytics/web/app/home/static/assets/img/avatars/avatar-4.png +0 -0
  215. customeranalytics/web/app/home/static/assets/img/avatars/avatar-5.png +0 -0
  216. customeranalytics/web/app/home/static/assets/img/icons/customanality.png +0 -0
  217. customeranalytics/web/app/home/static/assets/img/icons/icon-48x48.png +0 -0
  218. customeranalytics/web/app/home/templates/abtest-product.html +280 -0
  219. customeranalytics/web/app/home/templates/abtest-promotion.html +362 -0
  220. customeranalytics/web/app/home/templates/abtest-segments.html +298 -0
  221. customeranalytics/web/app/home/templates/add-data-delivery.html +184 -0
  222. customeranalytics/web/app/home/templates/add-data-product.html +177 -0
  223. customeranalytics/web/app/home/templates/add-data-purchase.html +392 -0
  224. customeranalytics/web/app/home/templates/anomaly.html +261 -0
  225. customeranalytics/web/app/home/templates/clv.html +211 -0
  226. customeranalytics/web/app/home/templates/cohorts.html +308 -0
  227. customeranalytics/web/app/home/templates/customer-segmentation.html +308 -0
  228. customeranalytics/web/app/home/templates/data-es.html +152 -0
  229. customeranalytics/web/app/home/templates/data-execute.html +397 -0
  230. customeranalytics/web/app/home/templates/delivery.html +404 -0
  231. customeranalytics/web/app/home/templates/funnel-customer.html +240 -0
  232. customeranalytics/web/app/home/templates/funnel-session.html +236 -0
  233. customeranalytics/web/app/home/templates/index.html +524 -0
  234. customeranalytics/web/app/home/templates/index2.html +515 -0
  235. customeranalytics/web/app/home/templates/page-403.html +46 -0
  236. customeranalytics/web/app/home/templates/page-404.html +45 -0
  237. customeranalytics/web/app/home/templates/page-500.html +45 -0
  238. customeranalytics/web/app/home/templates/pages-blank.html +33 -0
  239. customeranalytics/web/app/home/templates/pages-sign-in.html +67 -0
  240. customeranalytics/web/app/home/templates/pages-sign-up.html +61 -0
  241. customeranalytics/web/app/home/templates/product.html +203 -0
  242. customeranalytics/web/app/home/templates/profile.html +1009 -0
  243. customeranalytics/web/app/home/templates/rfm.html +254 -0
  244. customeranalytics/web/app/home/templates/search.html +167 -0
  245. customeranalytics/web/app/home/templates/settings.html +205 -0
  246. customeranalytics/web/app/home/templates/stats-desc.html +230 -0
  247. customeranalytics/web/app/home/templates/stats-purchase.html +221 -0
  248. customeranalytics/web/config.py +30 -0
  249. customeranalytics/web/db.sqlite3 +0 -0
  250. customeranalytics/web/run.py +30 -0
  251. customeranalytics-0.1.dist-info/METADATA +1102 -0
  252. customeranalytics-0.1.dist-info/RECORD +254 -0
  253. customeranalytics-0.1.dist-info/WHEEL +4 -0
  254. customeranalytics-0.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,362 @@
1
+ {% extends "layouts/base.html" %}
2
+
3
+ {% block title %} A/B Test Promotion {% endblock %}
4
+
5
+ <!-- Specific Page CSS goes HERE -->
6
+ {% block stylesheets %}{% endblock stylesheets %}
7
+
8
+ {% block content %}
9
+
10
+ <main class="content">
11
+ <div class="container-fluid p-0">
12
+ <h5 class="h3 mb-3">A/B Test Promotion</h5>
13
+ <div class="col-md-12">
14
+ <div class="card">
15
+ <div class="card-body">
16
+ <div class="row">
17
+ <div class="accordion" id="accordionExample">
18
+ <div class="card">
19
+ <div class="card-header" id="headingOne">
20
+ <h5 class="card-title my-1">
21
+ <a href="#" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne" style="color:green;font-size:12px">
22
+ Filters
23
+ </a>
24
+ </h5>
25
+ </div>
26
+ <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordionExample">
27
+ <form method="POST">
28
+ <div class="row">
29
+ <div class="col-md-6">
30
+ <div class="card">
31
+ <div class="card-body">
32
+ <div class="card">
33
+ <div class="card-header">
34
+ <h5 class="card-title mb-0">Dimension selection</h5>
35
+ </div>
36
+ <div class="card-body">
37
+ <select name="index" id="index" class="form-control">
38
+ {% for d in filters['dimensions'] %}
39
+ {% if d == 'There is no available report. Please execute Schedule Data Process' %}
40
+ <option value= "main">{{ d }}</option>
41
+ {% endif %}
42
+ {% if d != 'There is no available report. Please execute Schedule Data Process' %}
43
+ <option value="{{ d }}">{{ d }}</option>
44
+ {% endif %}
45
+ {% endfor %}
46
+ </select>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
52
+
53
+ <div class="col-md-6">
54
+ <div class="card flex-fil">
55
+ <div class="card-body col-12">
56
+ <div class="col-12 ">
57
+ <div class="align-self-center w-100">
58
+ <div class="chart">
59
+ <input name="date" id="datetimepicker-dashboard" hidden>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ <div class="card-header">
67
+ <button type="submit" class="btn btn-pill btn-primary">Apply</button>
68
+ </div>
69
+ </div>
70
+ </form>
71
+
72
+ </div>
73
+ </div>
74
+
75
+ <div class="card">
76
+ <div class="card-header" id="headingTwo">
77
+ <h5 class="card-title my-1">
78
+ <a href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseOne" style="color:green;font-size:12px">
79
+ Infos
80
+ </a>
81
+ </h5>
82
+ </div>
83
+ <div id="collapseTwo" class="collapse show" aria-labelledby="headingTwo" data-parent="#accordionExample">
84
+ <div class="card-body ">
85
+ <ul>
86
+ <li>
87
+ <strong style="color:green;">A/B Test Promotions </strong> are bunch of testes which compares effect of Promotions to the business.
88
+ There are two metrics which help us to measure comparison values.
89
+ These are Number of orders counts per promotion and Average purchase amount per promotion.
90
+ Promotion of Usage related to these metrics are tested with Before - After Analysis
91
+ in order to th answer the question that is "Is there any significant increase/decrease
92
+ on Order Count / Average Payment Amount per User after the Promotion is used?"
93
+ While we need to see to Promotion which increases/decreases the number of orders and the average purchase amount,
94
+ This Section can help us to find the right promotion.
95
+ </li>
96
+
97
+ <li>
98
+ <div class="card-header">
99
+ <h5 class="card-title" style="color:green;">Hypothesis are;</h5>
100
+ <div class="card-header">
101
+ <div class="row">H0 : These is no significant Difference with A - B of order count / purchase amount.</div>
102
+ <div class="row">H1 : These is significant Difference with A - B of order count / purchase amount.</div>
103
+ </div>
104
+ </div>
105
+ </li>
106
+ <li>
107
+ <div class="card-header">
108
+ <h5 class="card-title" style="color:green;">Bootstrapping Method;</h5>
109
+ <div class="card-header">
110
+ <div class="row">
111
+ Each test process are applied with Boostraping Method.
112
+ So, Iteratively randomly selected A and B sample customers of order count / average purchase amount will be tested acceptable enough time.
113
+ Each iteration A - B samples are randomly selected.
114
+ Accepted ratio will show us the confidence of our test results. For instance, There are 100 tests and 75 of them are ended with H0 Accepted.
115
+ So, test are % 75 our test are H0 Accepted.
116
+ </div>
117
+ </div>
118
+ </div>
119
+ </li>
120
+
121
+ <li>
122
+ <div class="card-header">
123
+ <h5 class="card-title" style="color:green;">How are Promotions Compared?</h5>
124
+ Each combination promotions are tested individually. Average of Purchase Payment Amount per User Sample for Promotion (1) is compared to
125
+ Average of Purchase Payment Amount per User Sample for Promotion (2).
126
+ </div>
127
+ </li>
128
+ <li>
129
+ <div class="card-header">
130
+ <h5 class="card-title" style="color:green;">How are Before - After Promo Usage Tests designed?</h5>
131
+ It might be very confusion and it might seem very sophisticated A/B Test process,
132
+ however it basically compares promotions related to customers of usage.
133
+ Each promotion of usage is tested separately.
134
+ Each promotion of used users and their used timestamp are collected for each promotion.
135
+ Each customers of one week before promotion usage and one week after the promotion use time periods are compared with to metrics which are
136
+ order count and average purchase amount. We aim to detect significant increase after time period
137
+ while comparing to before time period about purchase amount or order count.
138
+
139
+ <div class="card-header">
140
+ <div class="row" style="color:green;">related charts are;</div>
141
+ <div class="card-header">
142
+ <div class="row mb-1">'Before - After Promo Usage Tests are shown at 'Order And Payment Amount Difference for Before And After Promotion Usage',</div>
143
+ <div class="row mb-1">'Before - After Time Periods Customers' Average Purchase Payment Amount Test (Test Accepted!) ',</div>
144
+ <div class="row mb-1">'Before - After Time Periods Customers' Average Purchase Payment Amount Test (Test Rejected!)',</div>
145
+ <div class="row mb-1">'Before - After Time Periods Customers' Total Purchase Count Test (Test Accepted!)',</div>
146
+ <div class="row mb-1">'Before - After Time Periods Customers' Total Purchase Count Test (Test Rejected!)'</div>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ </li>
151
+ </ul>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ </div>
156
+
157
+ <div class="col-md-6">
158
+ <div class="card">
159
+ <div class="card-header">
160
+ <h5 class="card-title mb-1">Promotion Comparison {% if data_type['promotion_comparison'] == False %} <strong style="color:red;"> sample data </strong> {% endif %}</h5>
161
+ <div class="row">
162
+ <h6 class="card-subtitle text-muted mb-1">- Y-axis represents total number Test Accepted Count.</h6>
163
+ </div>
164
+ <div class="row">
165
+ <h6 class="card-subtitle text-muted mb-1">- X-axis represents Test Reject Ratio.</h6>
166
+ </div>
167
+ <div class="row">
168
+ <h6 class="card-subtitle text-muted mb-1">- Each dot on scatter plot represents each promotion.</h6>
169
+ </div>
170
+ <div class="row">
171
+ <h6 class="card-subtitle text-muted mb-1">- This is a comparison of each promotion pairs. Each promotion pair is tested and Each dot represents 1st promotion of each promotion pairs.</h6>
172
+ </div>
173
+ <div class="row">
174
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> More valuable Promotions are the dots which have less Reject Ratio and the more number of Accept Count. </strong></h6>
175
+ </div>
176
+ </div>
177
+
178
+ <div id="promo_compare_id" class="plotly-gra ph-div" style="height:400px;"></div>
179
+ </div>
180
+ </div>
181
+ <div class="col-md-6">
182
+ <div class="card">
183
+ <div class="card-header mb-1">
184
+ <h5 class="card-title">Order And Payment Amount Difference for Before And After Promotion Usage {% if data_type['promotion_usage_before_after_amount_accept'] == False %} <strong style="color:red;"> sample data </strong> {% endif %}</h5>
185
+ <div class="row">
186
+ <h6 class="card-subtitle text-muted mb-1">- Y-axis represents difference of Average Payment Amount per customers.</h6>
187
+ </div>
188
+ <div class="row">
189
+ <h6 class="card-subtitle text-muted mb-1">- X-axis represents difference of Average Purchase Count per customers.</h6>
190
+ </div>
191
+ <div class="row">
192
+ <h6 class="card-subtitle text-muted mb-1">- Differences are calculated per user and per promotion.</h6>
193
+ </div>
194
+
195
+ <div class="row">
196
+ <h6 class="card-subtitle text-muted mb-1">- Differences are calculated between customers of purchase before and after using the promotion.</h6>
197
+ </div>
198
+
199
+
200
+
201
+ </div>
202
+
203
+ <div class="card-body">
204
+ <div id="o_pa_diff_id" class="plotly-gra ph-div" style="height:400px;"></div>
205
+ </div>
206
+ </div>
207
+ </div>
208
+ </div>
209
+ <div class="row">
210
+ <div class="col-md-6">
211
+ <div class="card">
212
+ <div class="card-header">
213
+ <h5 class="card-title">Before - After Time Periods Customers' Average Purchase <strong> Payment Amount</strong> Test <strong> (Test Accepted!)</strong> {% if data_type['promotion_comparison'] == False %} <strong style="color:red;"> sample data </strong> {% endif %} </h5>
214
+ <div class="row">
215
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> A :</strong> Avg. purchase amount <strong style="color:green;"> Before the promoted Order</strong> for each promotion of usage per customer.</h6>
216
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> B :</strong> Avg. purchase amount <strong style="color:green;"> After the promoted Order</strong> for each promotion of usage per customer.</h6>
217
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> Test Accepted :</strong> <strong style="color:green;" > Significant Increase</strong> on Avg. Purchase Amounts after the Promoted order.</h6>
218
+ <h6 class="card-subtitle text-muted mb-1">- Each Test are applied individually (per promotion).</h6>
219
+ </div>
220
+ </div>
221
+
222
+ <div class="card-body">
223
+ <div id="promo_usage_ba_a_accept_id" class="plotly-gra ph-div" style="height:400px;"></div>
224
+
225
+ </div>
226
+ </div>
227
+ </div>
228
+ <div class="col-md-6">
229
+ <div class="card">
230
+ <div class="card-header">
231
+ <h5 class="card-title">Before - After Time Periods Customers' Average Purchase <strong> Payment Amount</strong> Test <strong> (Test Rejected!)</strong> {% if data_type['promotion_usage_before_after_amount_reject'] == False %} <strong style="color:red;"> sample data </strong> {% endif %} </h5>
232
+ <div class="row">
233
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> A :</strong> Avg. purchase amount <strong style="color:green;"> Before the promoted Order</strong> for each promotion of usage per customer.</h6>
234
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> B :</strong> Avg. purchase amount <strong style="color:green;"> After the promoted Order</strong> for each promotion of usage per customer.</h6>
235
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> Test Rejected :</strong> <strong style="color:green;" > Significant Decrease</strong> on Avg. Purchase Amounts after the Promoted order.</h6>
236
+ <h6 class="card-subtitle text-muted mb-1">- Each Test are applied individually (per promotion).</h6>
237
+ </div>
238
+ </div>
239
+ <div class="card-body">
240
+ <div id="promo_usage_ba_a_reject_id" class="plotly-gra ph-div" style="height:400px;"></div>
241
+ </div>
242
+ </div>
243
+ </div>
244
+ </div>
245
+ <div class="row">
246
+ <div class="col-md-6">
247
+ <div class="card">
248
+ <div class="card-header">
249
+ <h5 class="card-title">Before - After Time Periods Customers' <strong> Total Purchase Count</strong> Test <strong> (Test Accepted!)</strong> {% if data_type['promotion_usage_before_after_orders_accept'] == False %} <strong style="color:red;"> sample data </strong> {% endif %} </h5>
250
+ <div class="row">
251
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> A :</strong> Total P. Count <strong style="color:green;"> Before the promoted Order</strong> for each promotion of usage per customer.</h6>
252
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> B :</strong> Total P. Count <strong style="color:green;"> After the promoted Order</strong> for each promotion of usage per customer.</h6>
253
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> Test Accepted :</strong> <strong style="color:green;" > Significant Increase</strong> on Total Purchase Counts after the Promoted order.</h6>
254
+ <h6 class="card-subtitle text-muted mb-1">- Each Test are applied individually (per promotion).</h6>
255
+ </div>
256
+ </div>
257
+ <div class="card-body">
258
+ <div id="promo_usage_ba_o_accept_id" class="plotly-gra ph-div" style="height:400px;"></div>
259
+ </div>
260
+ </div>
261
+ </div>
262
+ <div class="col-md-6">
263
+ <div class="card">
264
+ <div class="card-header">
265
+ <h5 class="card-title">Before - After Time Periods Customers' <strong>Total Purchase Count</strong> Test <strong> (Test Rejected!)</strong> {% if data_type['promotion_usage_before_after_orders_reject'] == False %} <strong style="color:red;"> sample data </strong> {% endif %} </h5>
266
+ <div class="row">
267
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> A :</strong> Total P. Count <strong style="color:green;"> Before the promoted Order</strong> for each promotion of usage per customer.</h6>
268
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> B :</strong> Total P. Count <strong style="color:green;"> After the promoted Order</strong> for each promotion of usage per customer.</h6>
269
+ <h6 class="card-subtitle text-muted mb-1">- <strong style="color:green;"> Test Rejected :</strong> <strong style="color:green;" > Significant Decrease</strong> on Total Purchase Counts after the Promoted order.</h6>
270
+ <h6 class="card-subtitle text-muted mb-1">- Each Test are applied individually (per promotion).</h6>
271
+ </div>
272
+ </div>
273
+ <div class="card-body">
274
+ <div id="promo_usage_ba_o_reject_id" class="plotly-gra ph-div" style="height:400px;"></div>
275
+ </div>
276
+ </div>
277
+ </div>
278
+ </div>
279
+ </div>
280
+ </div>
281
+ </div>
282
+ </div>
283
+ </main>
284
+
285
+ {% endblock content %}
286
+
287
+ <!-- Specific Page JS goes HERE -->
288
+ {% block javascripts %}
289
+ <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
290
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js"></script>
291
+ <script>
292
+
293
+
294
+ var promo_compare = {{promotion_comparison | safe}};
295
+
296
+ Plotly.plot('promo_compare_id', // the ID of the div, created above
297
+ promo_compare.trace, promo_compare.layout, {});
298
+
299
+ var o_pa_diff_var = {{o_pa_diff | safe}};
300
+
301
+ Plotly.plot('o_pa_diff_id', // the ID of the div, created above
302
+ o_pa_diff_var.trace, o_pa_diff_var.layout, {});
303
+
304
+
305
+
306
+ var promo_usage_ba_a_a = {{promo_use_ba_a_accept | safe}};
307
+
308
+ Plotly.plot('promo_usage_ba_a_accept_id', // the ID of the div, created above
309
+ promo_usage_ba_a_a.trace, promo_usage_ba_a_a.layout, {});
310
+
311
+
312
+ var promo_usage_ba_a_r = {{promo_use_ba_a_reject | safe}};
313
+
314
+ Plotly.plot('promo_usage_ba_a_reject_id', // the ID of the div, created above
315
+ promo_usage_ba_a_r.trace, promo_usage_ba_a_r.layout, {});
316
+
317
+
318
+ var promo_usage_ba_o_a = {{promo_use_ba_o_accept | safe}};
319
+
320
+ Plotly.plot('promo_usage_ba_o_accept_id', // the ID of the div, created above
321
+ promo_usage_ba_o_a.trace, promo_usage_ba_o_a.layout, {});
322
+
323
+
324
+ var promo_usage_ba_o_r = {{promo_use_ba_o_reject | safe}};
325
+
326
+ Plotly.plot('promo_usage_ba_o_reject_id', // the ID of the div, created above
327
+ promo_usage_ba_o_r.trace, promo_usage_ba_o_r.layout, {});
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+ function myFunction() {
338
+ // Get the checkbox
339
+ var checkBox = document.getElementById("myCheck");
340
+ // Get the output text
341
+ var text = document.getElementById("text");
342
+
343
+ // If the checkbox is checked, display the output text
344
+ if (checkBox.checked == true){
345
+ text.style.display = "block";
346
+ } else {
347
+ text.style.display = "none";
348
+ }
349
+ }
350
+ </script>
351
+
352
+ <script>
353
+ document.addEventListener("DOMContentLoaded", function() {
354
+ document.getElementById("datetimepicker-dashboard").flatpickr({
355
+ inline: true,
356
+
357
+ prevArrow: "<span class=\"fas fa-chevron-left\" title=\"Previous month\"></span>",
358
+ nextArrow: "<span class=\"fas fa-chevron-right\" title=\"Next month\"></span>",
359
+ });
360
+ });
361
+ </script>
362
+ {% endblock javascripts %}