There are two types of submissions:

  1. The nightly submission of predictions from the team, if they choose to. Teams have the opportunity to submit a daily result for us to compute a daily leader board. It is not mandatory, but, it will help you gauge where your code is with respect to other teams.
  2. Code submission; code is reviewed for readability and reproducibility as we finalize the top three winning teams.

In both cases submissions must be made via the team dedicated environment. Please make sure you verify your environment is working properly.

Accessing the Compute Environment

Once all the team members have successfully signed the NDA , each team will be granted access to a Jupyter server to develop and test code. Each team will be assigned unique credentials to be shared among the team members.

Each team member will receive an email with credentials and instructions to connect to the Jupyter server.

Please do not share connection credentials with anybody outside your team. Please do not post code, credentials or data on public websites. Amazon scans public websites on a daily basis (stackoverflow, quora, github, etc.) Amazon will immediately contact us if they find user credentials or data on public websites.

Daily Prediction Submission

Each team is invited to make a daily submission of their predictions using the evaluation dataset. Every night an automated job will take the latest submission (if present), run the scoring and populate the leader board on the TracHack website the next morning.

A team can make a submission for the day by placing their predictions as a CSV file named with the submission date in the YYYY-MM-DD format inside the submission folder within their environment. For example the file submission/2022-04-1.csv will contain the team’s submissions from 1st of April 2022. While teams are not required to submit every day, regular submissions are very useful to get feedback on how the teams are progressing.

TracHack 22.1: For TracHack22.1 the CSV must contain comma separated values with header customer_id and nps_class. It should consist of one single entry for each customer from the evaluation dataset and respective predicted ‘nps_class’ flag , where 0 is “detractor”, 1 is “passive” and 2 is “promoter“.


TracHack 22.2: For TracHack22.2 the CSV must contain comma separated values with header customer_id and ebb_eligible flag. It should consist of one single entry for each customer from the evaluation dataset and respective predicted ‘ebb-eligible’ flag with either 1 (ebb eligible) or 0 (not ebb eligible).


NOTE: You must make a prediction for ALL line_ids in the eval dataset for the submission.

Final Code Submission

When it is time to get ready for the final submission for TracHack, there are a couple of things you should do:

1. Submit your predictions as a submission CSV file for the date format. Teams will produce a submission with filename: yyyy-mm-dd-final.csv to be saved in the submission folder.

2. Consolidate all of your code (data prep, feature selection, model training and prediction, etc) into a single Jupyter notebook and call it mlcode.ipynb. Save this inside the code folder. It is VERY important that your code reproduces the submission. We will use that notebook to reproduce your submission predictions. If these don’t match, then your submission will not be considered valid.