Getting Started

Account Configurations

On account creation, the account mandatory configurations will be set.
However, it is important to know how to set new configurations for future reference.
You can use the /v1/configurations/account/set ↗️ endpoint to overwrite your account's existing configurations.
Alternatively, you can use the CLI to set/update your account configurations using the following command example:
🖥️ CLI
octy-cli apply --filepath {path/to/account-configurations.yml}
Example account-configurations.yml :
kind: accountConfigurations configurations : contactName: Ben contactSurname: Goodenough contactEmail: webhookURL: authenticatedIDKey : shop-id-key
Webhooks (webhook_url attribute)
Octy allows you to set a singular webhook URL:
  • used to push notifications of completed or failed training jobs, including training job metadata.
  • notification when a profile meets the criteria for a defined live segment.
  • the result of a profile identification & merging job.
  • bodies of all webhook requests are sent in a JSON encoded format.
Example webhook request bodies:
Completion of training job:
{ "subject" : "Octy training job has successfully completed.", "body" : "Recommendations training job completed. This trained model will now be used for all recommendation prediction jobs.", "date_time" : "Tue, 28 Jun 2020 10:09:15 GMT" }
New live segment tag:
{ "subject" : "Live segment tag created", "body" : { "profile_id" : "profile_929020229e933...", "segment" : { "segment_id" : "segment_220293020...", "segment_tag" : "SegmentName", } }, "date_time" : "Tue, 28 Jun 2020 10:09:15 GMT" }
Profile identification & merging job:
{ "subject" : "Profile identification service output", "body" : { "profiles" : [ { "parent_profile_id" : "profile_92902022-9e93...", "merged_profiles" : [ { "profile_id": "profile_ce3d8802-766b-4012-8375-c8710fb545", "customer_id": "2beb68e667a9007a9605" }, { "profile_id": "profile_bda3e37e-9f04-4207-8672-d2a4937823", "customer_id": "5132a3c5bde8cfb2b6bb" }, ... ] }, ... ], "date_time" : "Tue, 28 Jun 2020 10:09:15 GMT" }
The content and object structures within web hook body requests will be updated subject to version changes.

Algorithm Configurations

Each algorithm has its own set of configurations allowing you to;
  • assert limited control over the data used in training jobs.
  • fine-tune the items that could be recommended to a customer (in the case of the recommendations system).
Each set of configurations has a common parameter;
  • Profile_features: a list of the names of the keys that should exist in a profiles platform_info or profile_data attribute to make it applicable to be added into the next training dataset for the specified algorithm. Please note that you can not specify ‘charged’ as a profile feature.
Rules for Algorithm Configurations:
  • A training job will only be initiated if the relevant algorithm configuration parameters are set and there is adequate training data available to train a model.
  • If a profile does not have the profile feature keys defined, in an algorithms configuration set, in either its profile_data or platform_info attributes, it will not be included in the next training data set for said algorithm.
  • You must supply the name of the algorithm for the configuration you are setting. Currently, there are two accepted algorithm names:
    • rec (Recommendations)
    • churn (Churn Prediction)
You can set each algorithm's configurations using the relevant /v1/configurations/retention/algorithms/set ↗️ endpoint.
Alternatively, you can use the CLI to set/update an algorithms configurations using the following command example:
🖥️ CLI
octy-cli apply --filepath {path/to/algorithm-configurations.yml}
Example algorithm-configurations.yml :
kind: algorithmConfigurations configurations : - algorithmName: rec configurations: recommendInteractedItems: true itemIDStopList: - product-1234 profileFeatures: - visits - balance - algorithmName: churn configurations: profileFeatures: - visits - balance

Next Steps

Now that your configurations are set, you need to add profiles, items and events data. Providing this data gives our algorithms the required information to analyse and train the models.
Go to the Creating resources 🔗  section of this documentation to learn more about adding the required data to your account.