Metadata-Version: 2.1
Name: journey_orchestrate
Version: 0.0.2
Summary: Customer Journey Orchestration Utility
Author: Dhivya Nagasubramanian
Author-email: nagas021@alumni.umn.edu
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown

Author: Dhivya Nagasubramanian

Purpose:
The purpose of the Customer Journey Orchestration seamlessly connect and track customer interactions across multiple marketing channels, enabling businesses to gain a holistic view of each customer’s experience over time. By orchestrating touchpoints across channels, the package empowers marketers to deliver personalized, timely, and relevant messages, optimize engagement, and improve customer satisfaction and loyalty. It helps create a unified, data-driven strategy for nurturing and guiding customers through their journey, ultimately driving conversions and business growth.

Requirements packages:

NumPy - Adds support for large, multi-dimensional arrays, matrices and high-level mathematical functions to operate on these arrays
python-dateutil - Provides powerful extensions to the standard datetime module
dask    - Dask is a flexible parallel computing library for analytics. See documentation for more information.                            
random  - generate random numbers with in the set limits.
pandas  -  Dataframe utility 

Installation Instructions:

pip install journey-orchestrate

Usage Examples:

   ID             timestamp channel
0   1 2024-11-18 08:00:00   email
1   1 2024-11-18 09:00:00     sms
2   3 2024-11-18 10:00:00     app
3   3 2024-11-18 11:00:00   email
4   5 2024-11-18 12:00:00     sms  
5   5 2024-11-18 15:00:00     direct mail

Output
1  email > sms
3  app > email
5  sms > direct mail

For a customer journey involving multiple marketing channels through which messages were delivered, we can orchestrate and stitch together the individual journey paths for each customer, providing a cohesive view of their interactions across all touchpoints.


How to use it :
There are two main functions of this framework.

1. customer_journey_orchestrate(data, ID, datetime,channel,join_string ,n_partitions) - This is the main functionionility for customer journey orchestration .
    1st parameter -  dataframe where the customer touch point exists.
    2nd parameter -  ID on which data should be grouped
    3rd parameter -  timestamp on which we should start
    4th parameter -  column on which customer journey should be orchestrated . eg: Email, Directmail, Paid display, social media, etc
    5th parameter -  Join string. for eg: '>','|',etc. if nothing is given, default is '>'
    6th parameter -  number of partitions in which dask would operate the data for sorting.

2. generate_random_data(1000,30,"2024-01-01", "2024-10-01",channel_lst,random_seed) - This would generate sample dataset to test the customer journey orchestrate function

   1st parameter - Number of rows to generate
   2nd parameter - Start date
   3rd parameter - End date
   4th parameter - Unique Channel list : eg:['EM','SMC','PD','PS']
   5th parameter - random_seed
      
    
   
