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,515 @@
1
+ {% extends "layouts/base.html" %}
2
+
3
+ {% block title %} Customers {% endblock %}
4
+
5
+ <!-- Specific Page CSS goes HERE -->
6
+ {% block stylesheets %}{% endblock stylesheets %}
7
+
8
+ {% block content %}
9
+
10
+ <main class="content">
11
+ <form method="POST">
12
+ <div class="container-fluid p-0">
13
+
14
+ <div class="row mb-2 mb-xl-3">
15
+ <div class="col-auto d-none d-sm-block">
16
+ <h3><strong>Customer Analytics</strong></h3>
17
+ </div>
18
+
19
+ <div class="col-auto ml-auto text-right mt-n1">
20
+ <nav aria-label="breadcrumb">
21
+ <ol class="breadcrumb bg-transparent p-0 mt-1 mb-0">
22
+ <li class="breadcrumb-item"><a href="index">Overall</a></li>
23
+ <li class="breadcrumb-item" aria-current="page"><h5><strong>Customers</strong></h5></a></li>
24
+ </ol>
25
+ </nav>
26
+ </div>
27
+ </div>
28
+ <div class="accordion" id="accordionExample">
29
+ <div class="card">
30
+ <div class="card-header" id="headingOne">
31
+ <h5 class="card-title my-1">
32
+ <a href="#" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne" style="color:green;font-size:12px">
33
+ Filters
34
+ </a>
35
+ </h5>
36
+ </div>
37
+ <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordionExample">
38
+ <form method="POST">
39
+ <div class="row">
40
+ <div class="col-md-6">
41
+ <div class="card">
42
+ <div class="card-body">
43
+ <div class="card">
44
+ <div class="card-header">
45
+ <h5 class="card-title mb-0">Dimension selection</h5>
46
+ </div>
47
+ <div class="card-body">
48
+ <select name="index" id="index" class="form-control">
49
+ {% for d in filters['dimensions'] %}
50
+ {% if d == 'There is no available report. Please execute Schedule Data Process' %}
51
+ <option value= "main">{{ d }}</option>
52
+ {% endif %}
53
+ {% if d != 'There is no available report. Please execute Schedule Data Process' %}
54
+ <option value="{{ d }}">{{ d }}</option>
55
+ {% endif %}
56
+ {% endfor %}
57
+ </select>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+
64
+ <div class="col-md-6">
65
+ <div class="card flex-fil">
66
+ <div class="card-body col-12">
67
+ <div class="col-12 ">
68
+ <div class="align-self-center w-100">
69
+ <div class="chart">
70
+ <input name="date" id="datetimepicker-dashboard" hidden>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
77
+
78
+ <div class="card-header">
79
+ <button type="submit" class="btn btn-pill btn-primary">Apply</button>
80
+ </div>
81
+ </div>
82
+ </form>
83
+ </div>
84
+ </div>
85
+
86
+ <div class="card">
87
+ <div class="card-header" id="headingTwo">
88
+ <h5 class="card-title my-1">
89
+ <a href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseOne" style="color:green;font-size:12px">
90
+ Infos
91
+ </a>
92
+ </h5>
93
+ </div>
94
+ <div id="collapseTwo" class="collapse show" aria-labelledby="headingTwo" data-parent="#accordionExample">
95
+ <div class="card-body ">
96
+ <ul>
97
+
98
+ <li>
99
+ <div class="card-header">
100
+ <h5 class="card-title" style="color:green;">Payment Amount Distribution</h5>
101
+ X Axis is the purchase amount values with bins.
102
+ Y Axis is number of Unique Customer count related to their average purchase amounts.
103
+ This Distribution allows us the see how much customers are willing to pay for a purchase.
104
+ </div>
105
+ </li>
106
+ <li>
107
+ <div class="card-header">
108
+ <h5 class="card-title" style="color:green;">Total Number Customer Breakdown with Purchased Order Count</h5>
109
+ X Axis is Order Counts staring with 1.
110
+ Y Axis is number of Unique Customer count related to their order counts.
111
+ This Distribution allows us the see overall potential of your business.
112
+ </div>
113
+ </li>
114
+ <li>
115
+ <div class="card-header">
116
+ <h5 class="card-title" style="color:green;">RFM</h5>
117
+ X Axis represents 'recency'.
118
+ Y Axis represents 'monetary'.
119
+ Z Axis represents 'frequency'.
120
+ Recency metric is a time difference between customers of last purchase transaction date to recent date.
121
+ Monetary metric is average purchase amount per customer.
122
+ Frequency metric is average time difference per between purchase date of each order per customer.
123
+ There is a colored dots. These are represents the segmented customers according to their RFM values.
124
+ </div>
125
+ </li>
126
+ <li>
127
+ <div class="card-header">
128
+ <h5 class="card-title" style="color:green;">Download to First Order Cohort</h5>
129
+ If there isn`t any downloaded date, you may assign any date which is related to customers of first event with your business.
130
+ This cohort of date column represent download date. If it is Weekly Cohort it will represent the mondays of each week.
131
+ Otherwise it will represent days.
132
+ Each Numeric column from 0 to 15 are the day differences after the downloaded date.
133
+ For instance, if date columns is 2021-05-06, and numeric column is 10 and value is 100,
134
+ this refers that there are 100 customers who have downloads in 2021-05-06 and have first orders 10 days later.
135
+ </div>
136
+ </li>
137
+
138
+ <li>
139
+ <div class="card-header">
140
+ <h5 class="card-title" style="color:green;">Daily Funnel</h5>
141
+ X Axis represents days that are stored in ElasticSearch.
142
+ Y Axis represents number of transactions such as order count, session count, add product the basket transaction count per day.
143
+ In order to show actions such as add product the basket transaction count except order count, session count,
144
+ these actions must be added to actions label while creating Sessions data source
145
+ (For more information pls. check Create Data Source - Sessions & Customers)
146
+ </div>
147
+ </li>
148
+ </ul>
149
+ </div>
150
+ </div>
151
+ </div>
152
+ </div>
153
+
154
+
155
+ <div class="row">
156
+ <div class="col-xl-8 col-xxl-6" >
157
+ <div class="card flex-fill w-100">
158
+ <div class="card-header">
159
+
160
+ <h5 class="card-title mb-0" >Payment Amount Distribution {% if data_type['purchase_amount_distribution'] == False %} <strong style="color:red;"> sample data </strong> {% endif %}</h5>
161
+ </div>
162
+ <div class="card-body py-3" >
163
+ <div id="pa_distribution_id" class="chart" style="height:300px;"></div>
164
+ </div>
165
+ </div>
166
+ </div>
167
+
168
+
169
+ <div class="col-xl-8 col-xxl-6" >
170
+ <div class="card flex-fill w-100">
171
+ <div class="card-header">
172
+
173
+ <h5 class="card-title mb-0">Total Number Customer Breakdown with Purchased Order Count {% if data_type['user_counts_per_order_seq'] == False %} <strong style="color:red;"> sample data </strong> {% endif %}</h5>
174
+ </div>
175
+ <div class="card-body py-3" >
176
+ <!--<div class="chart chart-sm">
177
+ <canvas id="chartjs-dashboard-line"></canvas>
178
+ </div>
179
+ -->
180
+ <div id="order_seq_id" class="chart" style="height:300px;"></div>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ <form method="POST"><div class="row">
186
+ <div class="col-8 col-md-8 col-xxl-6 d-flex order-3 order-xxl-2">
187
+ <div class="card flex-fill w-100">
188
+ <div class="card-header">
189
+ <h5 class="card-title mb-0">RFM {% if data_type['rfm'] == False %} <strong style="color:red;"> sample data </strong> {% endif %}</h5>
190
+ </div>
191
+ <div class="card-body px-5" style="height:650px;">
192
+ <div id="rfm_values" ></div>
193
+
194
+ </div>
195
+ </div>
196
+ </div>
197
+
198
+ <div class="col-8 col-md-8 col-xxl-6 d-flex order-3 order-xxl-2">
199
+ <div class="card flex-fill w-100">
200
+ <div class="card-header">
201
+ <h5 class="card-title mb-0">CLV Prediction - Daily {% if data_type['daily_clv'] == False %} <strong style="color:red;"> sample data </strong> {% endif %}</h5>
202
+ </div>
203
+ <div class="card-body px-5" style="height:650px;">
204
+ <div id="clv_id" ></div>
205
+
206
+ </div>
207
+ </div>
208
+ </div>
209
+
210
+ </div></form>
211
+
212
+ <div class="row">
213
+ <div class="col-12 col-lg-8 col-xxl-6 d-flex">
214
+ <div class="card flex-fill">
215
+ <div class="card-header">
216
+ <h5 class="card-title mb-0">Download to First Order Cohorts {% if data_type['weekly_cohort_downloads'] == False %} <strong style="color:red;"> sample data </strong> {% endif %}</h5>
217
+ </div>
218
+
219
+ <div class="card-body" >
220
+ <div id="w_c_d_id" class="chart" style="height:300px;"></div>
221
+ </div>
222
+
223
+ </div>
224
+ </div>
225
+ <div class="col-12 col-lg-4 col-xxl-6 d-flex">
226
+ <div class="card flex-fill w-100">
227
+ <div class="card-header">
228
+
229
+ <h5 class="card-title mb-0">Daily Funnel {% if data_type['daily_funnel'] == False %} <strong style="color:red;"> sample data </strong> {% endif %}</h5>
230
+ </div>
231
+ <div class="card-body" >
232
+ <div id="d_funnel_id" class="chart" style="height:300px;"></div>
233
+ </div>
234
+ </div>
235
+ </div>
236
+ </div>
237
+
238
+ </div>
239
+ </form>
240
+
241
+ </main>
242
+
243
+ {% endblock content %}
244
+ <!-- Specific Page JS goes HERE -->
245
+ {% block javascripts %}
246
+ <script>
247
+
248
+
249
+ var rfm = {{rfm | safe}};
250
+
251
+ Plotly.plot('rfm_values', // the ID of the div, created above
252
+ rfm.trace,
253
+ rfm.layout, {});
254
+
255
+ var order_seq = {{uoc_order_seq | safe}};
256
+
257
+ Plotly.plot('order_seq_id', // the ID of the div, created above
258
+ order_seq.trace,
259
+ order_seq.layout, {});
260
+
261
+ var pa_distribution = {{purchase_amount_distribution | safe}};
262
+
263
+ Plotly.plot('pa_distribution_id', // the ID of the div, created above
264
+ pa_distribution.trace,
265
+ pa_distribution.layout, {});
266
+
267
+ var d_funnel = {{daily_funnel | safe}};
268
+
269
+ Plotly.plot('d_funnel_id', // the ID of the div, created above
270
+ d_funnel.trace, d_funnel.layout, {});
271
+
272
+ var w_c_d = {{weekly_cohort_downloads | safe}};
273
+
274
+ Plotly.plot('w_c_d_id', // the ID of the div, created above
275
+ w_c_d.trace, w_c_d.layout, {});
276
+
277
+ var clv = {{daily_clv | safe}};
278
+
279
+ Plotly.plot('clv_id', // the ID of the div, created above
280
+ clv.trace, clv.layout, {});
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+ document.addEventListener("DOMContentLoaded", function() {
298
+ var ctx = document.getElementById("chartjs-dashboard-line").getContext("2d");
299
+ var gradient = ctx.createLinearGradient(0, 0, 0, 225);
300
+ gradient.addColorStop(0, "rgba(215, 227, 244, 1)");
301
+ gradient.addColorStop(1, "rgba(215, 227, 244, 0)");
302
+ // Line chart
303
+ new Chart(document.getElementById("chartjs-dashboard-line"), {
304
+ type: "line",
305
+ data: {
306
+ labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
307
+ datasets: [{
308
+ label: "Sales ($)",
309
+ fill: true,
310
+ backgroundColor: gradient,
311
+ borderColor: window.theme.primary,
312
+ data: [
313
+ 2115,
314
+ 1562,
315
+ 1584,
316
+ 1892,
317
+ 1587,
318
+ 1923,
319
+ 2566,
320
+ 2448,
321
+ 2805,
322
+ 3438,
323
+ 2917,
324
+ 3327
325
+ ]
326
+ }]
327
+ },
328
+ options: {
329
+ maintainAspectRatio: false,
330
+ legend: {
331
+ display: false
332
+ },
333
+ tooltips: {
334
+ intersect: false
335
+ },
336
+ hover: {
337
+ intersect: true
338
+ },
339
+ plugins: {
340
+ filler: {
341
+ propagate: false
342
+ }
343
+ },
344
+ scales: {
345
+ xAxes: [{
346
+ reverse: true,
347
+ gridLines: {
348
+ color: "rgba(0,0,0,0.0)"
349
+ }
350
+ }],
351
+ yAxes: [{
352
+ ticks: {
353
+ stepSize: 1000
354
+ },
355
+ display: true,
356
+ borderDash: [3, 3],
357
+ gridLines: {
358
+ color: "rgba(0,0,0,0.0)"
359
+ }
360
+ }]
361
+ }
362
+ }
363
+ });
364
+ });
365
+ </script>
366
+ <script>
367
+ document.addEventListener("DOMContentLoaded", function() {
368
+ // Pie chart
369
+ new Chart(document.getElementById("chartjs-dashboard-pie"), {
370
+ type: "pie",
371
+ data: {
372
+ labels: ["Chrome", "Firefox", "IE"],
373
+ datasets: [{
374
+ data: [4306, 3801, 1689],
375
+ backgroundColor: [
376
+ window.theme.primary,
377
+ window.theme.warning,
378
+ window.theme.danger
379
+ ],
380
+ borderWidth: 5
381
+ }]
382
+ },
383
+ options: {
384
+ responsive: !window.MSInputMethodContext,
385
+ maintainAspectRatio: false,
386
+ legend: {
387
+ display: false
388
+ },
389
+ cutoutPercentage: 75
390
+ }
391
+ });
392
+ });
393
+ </script>
394
+ <script>
395
+ document.addEventListener("DOMContentLoaded", function() {
396
+ // Bar chart
397
+ new Chart(document.getElementById("chartjs-dashboard-bar"), {
398
+ type: "bar",
399
+ data: {
400
+ labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
401
+ datasets: [{
402
+ label: "This year",
403
+ backgroundColor: window.theme.primary,
404
+ borderColor: window.theme.primary,
405
+ hoverBackgroundColor: window.theme.primary,
406
+ hoverBorderColor: window.theme.primary,
407
+ data: [54, 67, 41, 55, 62, 45, 55, 73, 60, 76, 48, 79],
408
+ barPercentage: .75,
409
+ categoryPercentage: .5
410
+ }]
411
+ },
412
+ options: {
413
+ maintainAspectRatio: false,
414
+ legend: {
415
+ display: false
416
+ },
417
+ scales: {
418
+ yAxes: [{
419
+ gridLines: {
420
+ display: false
421
+ },
422
+ stacked: false,
423
+ ticks: {
424
+ stepSize: 20
425
+ }
426
+ }],
427
+ xAxes: [{
428
+ stacked: false,
429
+ gridLines: {
430
+ color: "transparent"
431
+ }
432
+ }]
433
+ }
434
+ }
435
+ });
436
+ });
437
+ </script>
438
+ <script>
439
+ document.addEventListener("DOMContentLoaded", function() {
440
+ var markers = [{
441
+ coords: [31.230391, 121.473701],
442
+ name: "Shanghai"
443
+ },
444
+ {
445
+ coords: [28.704060, 77.102493],
446
+ name: "Delhi"
447
+ },
448
+ {
449
+ coords: [6.524379, 3.379206],
450
+ name: "Lagos"
451
+ },
452
+ {
453
+ coords: [35.689487, 139.691711],
454
+ name: "Tokyo"
455
+ },
456
+ {
457
+ coords: [23.129110, 113.264381],
458
+ name: "Guangzhou"
459
+ },
460
+ {
461
+ coords: [40.7127837, -74.0059413],
462
+ name: "New York"
463
+ },
464
+ {
465
+ coords: [34.052235, -118.243683],
466
+ name: "Los Angeles"
467
+ },
468
+ {
469
+ coords: [41.878113, -87.629799],
470
+ name: "Chicago"
471
+ },
472
+ {
473
+ coords: [51.507351, -0.127758],
474
+ name: "London"
475
+ },
476
+ {
477
+ coords: [40.416775, -3.703790],
478
+ name: "Madrid "
479
+ }
480
+ ];
481
+ var map = new JsVectorMap({
482
+ map: "world",
483
+ selector: "#world_map",
484
+ zoomButtons: true,
485
+ markers: markers,
486
+ markerStyle: {
487
+ initial: {
488
+ r: 9,
489
+ strokeWidth: 7,
490
+ stokeOpacity: .4,
491
+ fill: window.theme.primary
492
+ },
493
+ hover: {
494
+ fill: window.theme.primary,
495
+ stroke: window.theme.primary
496
+ }
497
+ }
498
+ });
499
+ window.addEventListener("resize", () => {
500
+ map.updateSize();
501
+ });
502
+ });
503
+ </script>
504
+ <script>
505
+ document.addEventListener("DOMContentLoaded", function() {
506
+ document.getElementById("datetimepicker-dashboard").flatpickr({
507
+ inline: true,
508
+
509
+ prevArrow: "<span class=\"fas fa-chevron-left\" title=\"Previous month\"></span>",
510
+ nextArrow: "<span class=\"fas fa-chevron-right\" title=\"Next month\"></span>",
511
+ });
512
+ });
513
+ </script>
514
+
515
+ {% endblock javascripts %}
@@ -0,0 +1,46 @@
1
+ {% extends "layouts/base-fullscreen.html" %}
2
+
3
+ {% block title %} Error 403 {% endblock %}
4
+
5
+ <!-- Specific Page CSS goes HERE -->
6
+ {% block stylesheets %}{% endblock stylesheets %}
7
+
8
+ {% block content %}
9
+
10
+ <!-- Section -->
11
+ <main class="d-flex w-100">
12
+ <div class="container d-flex flex-column">
13
+ <div class="row vh-100">
14
+ <div class="col-sm-10 col-md-8 col-lg-6 mx-auto d-table h-100">
15
+ <div class="d-table-cell align-middle">
16
+
17
+ <div class="text-center mt-4">
18
+ <h1 class="h2">
19
+ Error 403
20
+ </h1>
21
+ <p class="lead">
22
+ Access denied - please contact support or authenticate.
23
+ </p>
24
+ </div>
25
+
26
+ <div class="card">
27
+ <div class="card-body">
28
+ <div class="text-center mt-3">
29
+ <a href="{{ url_for('base_blueprint.login') }}"
30
+ class="btn btn-lg btn-primary">LOGIN</a>
31
+ <!-- <button type="submit" class="btn btn-lg btn-primary">Sign in</button> -->
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </div>
36
+
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </main>
42
+
43
+ {% endblock content %}
44
+
45
+ <!-- Specific Page JS goes HERE -->
46
+ {% block javascripts %}{% endblock javascripts %}
@@ -0,0 +1,45 @@
1
+ {% extends "layouts/base-fullscreen.html" %}
2
+
3
+ {% block title %} Error 404 {% endblock %}
4
+
5
+ <!-- Specific Page CSS goes HERE -->
6
+ {% block stylesheets %}{% endblock stylesheets %}
7
+
8
+ {% block content %}
9
+
10
+ <!-- Section -->
11
+ <main class="d-flex w-100">
12
+ <div class="container d-flex flex-column">
13
+ <div class="row vh-100">
14
+ <div class="col-sm-10 col-md-8 col-lg-6 mx-auto d-table h-100">
15
+ <div class="d-table-cell align-middle">
16
+
17
+ <div class="text-center mt-4">
18
+ <h1 class="h2">
19
+ Error 404
20
+ </h1>
21
+ <p class="lead">
22
+ Page not found
23
+ </p>
24
+ </div>
25
+
26
+ <div class="card">
27
+ <div class="card-body">
28
+ <div class="text-center mt-3">
29
+ <a href="/" class="btn btn-lg btn-primary">HOME</a>
30
+ <!-- <button type="submit" class="btn btn-lg btn-primary">Sign in</button> -->
31
+ </div>
32
+ </div>
33
+ </div>
34
+ </div>
35
+
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </main>
41
+
42
+ {% endblock content %}
43
+
44
+ <!-- Specific Page JS goes HERE -->
45
+ {% block javascripts %}{% endblock javascripts %}
@@ -0,0 +1,45 @@
1
+ {% extends "layouts/base-fullscreen.html" %}
2
+
3
+ {% block title %} Error 500 {% endblock %}
4
+
5
+ <!-- Specific Page CSS goes HERE -->
6
+ {% block stylesheets %}{% endblock stylesheets %}
7
+
8
+ {% block content %}
9
+
10
+ <!-- Section -->
11
+ <main class="d-flex w-100">
12
+ <div class="container d-flex flex-column">
13
+ <div class="row vh-100">
14
+ <div class="col-sm-10 col-md-8 col-lg-6 mx-auto d-table h-100">
15
+ <div class="d-table-cell align-middle">
16
+
17
+ <div class="text-center mt-4">
18
+ <h1 class="h2">
19
+ Error 500
20
+ </h1>
21
+ <p class="lead">
22
+ Server error - please contact support.
23
+ </p>
24
+ </div>
25
+
26
+ <div class="card">
27
+ <div class="card-body">
28
+ <div class="text-center mt-3">
29
+ <a href="/" class="btn btn-lg btn-primary">HOME</a>
30
+ <!-- <button type="submit" class="btn btn-lg btn-primary">Sign in</button> -->
31
+ </div>
32
+ </div>
33
+ </div>
34
+ </div>
35
+
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </main>
41
+
42
+ {% endblock content %}
43
+
44
+ <!-- Specific Page JS goes HERE -->
45
+ {% block javascripts %}{% endblock javascripts %}
@@ -0,0 +1,33 @@
1
+ {% extends "layouts/base.html" %}
2
+
3
+ {% block title %} Blank Page {% 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
+
13
+ <h1 class="h3 mb-3">Blank Page</h1>
14
+
15
+ <div class="row">
16
+ <div class="col-12">
17
+ <div class="card">
18
+ <div class="card-header">
19
+ <h5 class="card-title mb-0">Empty card</h5>
20
+ </div>
21
+ <div class="card-body">
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+
27
+ </div>
28
+ </main>
29
+
30
+ {% endblock content %}
31
+
32
+ <!-- Specific Page JS goes HERE -->
33
+ {% block javascripts %}{% endblock javascripts %}