Primary competition visual

Nedbank Transaction Volume Forecasting Challenge

Helping South Africa
R250 000 ZAR
28 days left
Feature Engineering
Time-series
Forecast
107 joined
31 active
Starti
Apr 03, 26
Closei
May 03, 26
Reveali
May 06, 26
Can you turn behavioural signals into accurate transaction forecasts?

Top performers could be eligible for employment opportunities at Nedbank.

This is a data challenge. Participants work individually on their own schedule during the competition window. The top 25 will be invited to the in-person finale on 9 May 2026.

Every day, millions of South Africans interact with their bank - swiping cards, making transfers, paying bills, receiving salaries. Behind each of these touch-points lies a rich behavioural signal. For Nedbank, one of South Africa's Big 4 banks, understanding and anticipating customer transaction volumes is a foundational capability: it drives capacity planning, fraud detection, product development, and personalised service delivery. The question is deceptively simple - how many transactions will a given customer make in the next three months? - but the answer demands genuine data science skill.

In this challenge, you are provided with anonymised behavioural data for nearly 12,000 Nedbank customers spanning up to 34 months of transaction history, monthly financial snapshots, and cleaned demographic profiles. Your task is to predict next_3m_txn_count - the total number of bank transactions each customer will make over a future three-month window (November 2015 through January 2016). This is a regression problem scored using Root Mean Squared Logarithmic Error (RMSLE), a metric that penalises large relative errors and handles the right-skewed distribution of transaction counts gracefully.

What makes this challenge compelling is its real-world texture. The data is not clean-room synthetic - it has the quirks of production banking data: high-cardinality free-text descriptions, partial nulls in income fields, seasonality effects from the November to January holiday period, and customers whose behaviour varies wildly from month to month. Success will reward thoughtful feature engineering, careful handling of temporal patterns, and models that generalise rather than memorise. The top 25 participants on the virtual leaderboard will be invited to an in-person finale event hosted by Nedbank, where they will compete for the prize pool and the chance to present their approaches to Nedbank's data science leadership.

5 May 2026 - Invitations sent for in-person finale event
9 May 2026 - In person event at Nedbank, Johannesburg

This challenge is more than a competition. Nedbank is genuinely invested in the data science community in South Africa, and outstanding performers in this challenge will be considered for career opportunities within Nedbank's data and analytics teams. If you are passionate about solving real-world problems with data, this is your chance to showcase your abilities on a genuine banking challenge, and to connect directly with Nedbank's data science leadership.

! Important: Registration Required

In addition to entering the challenge on Zindi, all participants must register on the official Nedbank Data Challenge registration page at register.data.challenge.nedbank.co.za

This registration ensures that Nedbank can communicate directly with participants about event logistics, the in-person finale, employment opportunities, and other important updates. Your Zindi submission will not be considered for the finale or employment opportunities unless you have also registered on the Nedbank portal.

About Nedbank

Nedbank Group is one of South Africa's four largest banking groups by assets, serving millions of retail, commercial, and corporate clients. Headquartered in Johannesburg, Nedbank operates across the African continent with a purpose centred on using its financial expertise to do good - for individuals, families, businesses, and society. The bank has a strong commitment to data-driven decision-making and innovation in analytics, and this challenge is part of Nedbank's broader initiative to engage the African data science community in solving real-world problems that matter to the bank and its customers.

This challenge is brought to you in collaboration with Offerzen, Otinga.io, Zindi and Microsoft

Prizes

🥇 1st prize: ZAR 120 000

🥈2nd prize: ZAR 85 000

🥉3rd prize: ZAR 45 000

There are 10 000 Zindi points available. You can read more about Zindi points here.

Prizes are awarded based on the Private Leaderboard ranking after code review.

Top 50 finishers must submit their code for reproducibility review; failure to provide working, reproducible code will result in disqualification.

Top 25 finishers on the Private Leaderboard are invited to the in-person finale event on 9 May 2026 in Johannesburg.

Career opportunities: Nedbank values the skills demonstrated in this challenge. Outstanding performers will be considered for career opportunities within Nedbank's data and analytics teams.

Evaluation

The error metric for this challenge is Root Mean Squared Logarithmic Error (RMSLE), implemented as RMSE on log-transformed values. See the submission instructions below for how to format your predictions.

Your submission file must contain exactly 2 columns: UniqueID and next_3m_txn_count.

Important - log-transformed submissions required: The platform scores using RMSE on log-transformed values, which is equivalent to RMSLE. You must submit the natural log of your predictions plus one. In Python: np.log1p(y_pred). Do not submit raw predicted counts - your score will be incorrect if you do.

The order of rows does not matter, but you must include predictions for all 3,584 customers in Test.csv. Your submission should look like this:

UniqueID                                 next_3m_txn_count
6b62ce75-9823-4de6-ba7b-8b2b199df239     3.456
e193e600-a706-4bc6-8597-d5d6fb171ab5     4.321
8fd44803-12ed-46ab-a146-8496d95d1b13     2.789

Rules
  • Languages and tools: You may only use open-source languages and tools in building models for this challenge.
  • Who can compete: Open to all participants. To be eligible for prizes and the in-person finale, you must be a South African citizen or permanent resident, or hold a valid work permit for South Africa.
  • Submission Limits: 10 submissions per day, 300 submissions overall.
  • Team size: 0 (only individuals can compete)
  • Public-Private Split: Zindi maintains a public leaderboard and a private leaderboard for each challenge. The Public Leaderboard includes approximately 30% of the test dataset. The private leaderboard will be revealed at the close of the challenge and contains the remaining 70% of the test set.
  • Data Sharing: CC-BY SA 4.0 license
  • Code Review: Top 50 on the private leaderboard will receive an email requesting their code at the close of the challenge. You will have 48 hours to submit your code.
  • Code sharing: Multiple accounts, or sharing of code and information across accounts not in teams, is not allowed and will lead to disqualification.

Registration

All participants must register on the official Nedbank Data Challenge portal at register.data.challenge.nedbank.co.za in addition to entering the competition on Zindi

During registration, you must read and accept the Terms and Conditions of the competition on the Nedbank portal

Registration ensures you receive all communications from Nedbank regarding the in-person finale, career opportunities, and event logistics

Participants who have not registered and accepted the Terms and Conditions on the Nedbank portal by the final submission deadline will not be eligible for prizes, the finale invitation, or career consideration

The full Terms and Conditions are available at register.data.challenge.nedbank.co.za.

ENTRY INTO THIS CHALLENGE CONSTITUTES YOUR ACCEPTANCE OF THESE OFFICIAL CHALLENGE RULES.

Full Challenge Rules

This challenge is open to all participants. To be eligible for prizes and the in-person finale, you must be a South African citizen or permanent resident, or hold a valid work permit for South Africa.

Individual Participation Only

This is an individual-only challenge. Team formation is not permitted. Each participant must work independently. Multiple accounts per user are not permitted. Code must not be shared privately between participants. Any code that is shared must be made available to all challenge participants through the platform (i.e. on the discussion boards).

Datasets, packages and general principles

  • The solution must use publicly-available, open-source packages only.
  • You may use only the datasets provided for this challenge.
  • You may not attempt to reverse-engineer or de-anonymise customer identities.
  • You agree to delete the data within 30 days of competition close.
  • You may use pretrained models as long as they are openly available to everyone.
  • Automated machine learning tools such as automl are not permitted.
  • If the error metric requires probabilities to be submitted, do not set thresholds (or round your probabilities) to improve your place on the leaderboard. In order to ensure that the client receives the best solution Zindi will need the raw probabilities. This will allow the clients to set thresholds to their own needs.
  • You must notify Zindi immediately upon learning of any unauthorised transmission of or unauthorised access to the challenge data, and work with Zindi to rectify any unauthorised transmission or access.
  • Your solution must not infringe the rights of any third party and you must be legally entitled to assign ownership of all rights of copyright in and to the winning solution code to Nedbank.
  • By participating, you grant Nedbank a non-exclusive licence to review and learn from submitted solutions. Nedbank may contact top participants about potential collaboration and employment opportunities.

Submissions and winning

You may make a maximum of 10 submissions per day.

You may make a maximum of 300 submissions for this challenge.

Before the end of the challenge you need to choose 2 submissions to be judged on for the private leaderboard. If you do not make a selection your 2 best public leaderboard submissions will be used to score on the private leaderboard.

During the challenge, your best public score will be displayed regardless of the submissions you have selected. When the challenge closes your best private score out of the 2 selected submissions will be displayed.

Zindi maintains a public leaderboard and a private leaderboard for each challenge. The Public Leaderboard includes approximately 30% of the test dataset. While the challenge is open, the Public Leaderboard will rank the submitted solutions by the accuracy score they achieve. Upon close of the challenge, the Private Leaderboard, which covers the other 70% of the test dataset, will be made public and will constitute the final ranking for the challenge.

Note that to count, your submission must first pass processing. If your submission fails during the processing step, it will not be counted and not receive a score; nor will it count against your daily submission limit. If you encounter problems with your submission file, your best course of action is to ask for advice on the challenge page.

If you are in the top 50 at the time the leaderboard closes, we will email you to request your code. On receipt of email, you will have 48 hours to respond and submit your code following the Reproducibility of submitted code guidelines detailed below. Failure to respond will result in disqualification.

If your solution places 1st, 2nd, or 3rd on the final leaderboard, you will be required to submit your winning solution code to us for verification, and you thereby agree to assign all worldwide rights of copyright in and to such winning solution to Zindi.

If two solutions earn identical scores on the leaderboard, the tiebreaker will be the date and time in which the submission was made (the earlier solution will win).

Prizes are to the value of R250,000 ZAR and will be offered as Avo vouchers on the Nedbank platform.

You acknowledge and agree that Zindi may, without any obligation to do so, remove or disqualify an individual, team, or account if Zindi believes that such individual, team, or account is in violation of these rules. Entry into this challenge constitutes your acceptance of these official challenge rules.

Zindi is committed to providing solutions of value to our clients and partners. To this end, we reserve the right to disqualify your submission on the grounds of usability or value. This includes but is not limited to the use of data leaks or any other practices that we deem to compromise the inherent value of your solution.

Zindi also reserves the right to disqualify you and/or your submissions from any challenge if we believe that you violated the rules or violated the spirit of the challenge or the platform in any other way. The disqualifications are irrespective of your position on the leaderboard and completely at the discretion of Zindi.

Please refer to the FAQs and Terms of Use for additional rules that may apply to this challenge. We reserve the right to update these rules at any time.

Reproducibility of submitted code

If your submitted code does not reproduce your score on the leaderboard, we reserve the right to adjust your rank to the score generated by the code you submitted.

If your code does not run you will be dropped from the top 50. Please make sure your code runs before submitting your solution.

Always set the seed. Rerunning your model should always place you at the same position on the leaderboard. When running your solution, if randomness shifts you down the leaderboard we reserve the right to adjust your rank to the closest score that your submission reproduces.

Custom packages in your submission notebook will not be accepted.

You may only use tools available to everyone i.e. no paid services or free trials that require a credit card.

Read this article on how to prepare your documentation and this article on how to ensure a successful code review.

Consequences of breaking any rules of the challenge or submission guidelines:

  • First offence: No prizes for 6 months and 2000 points will be removed from your profile (probation period). If you are caught cheating, all individuals involved in cheating will be disqualified from the challenge(s) you were caught in and you will be disqualified from winning any challenges for the next six months and 2000 points will be removed from your profile. If you have less than 2000 points to your profile your points will be set to 0.
  • Second offence: Banned from the platform. If you are caught for a second time your Zindi account will be disabled and you will be disqualified from winning any challenges or Zindi points using any other account.

Teams with individuals who are caught cheating will not be eligible to win prizes or points in the challenge in which the cheating occurred, regardless of the individuals’ knowledge of or participation in the offence.

Teams with individuals who have previously committed an offence will not be eligible for any prizes for any challenges during the 6-month probation period.

Monitoring of submissions

We will review the top 50 solutions when the challenge ends.

We reserve the right to request code from any user at any time during a challenge. You will have 48 hours to submit your code following the rules for code review (see above). Zindi reserves the right not to explain our reasons for requesting code. If you do not submit your code within 48 hours you will be disqualified from winning any challenges or Zindi points for the next six months. If you fall under suspicion again and your code is requested and you fail to submit your code within 24 hours, your Zindi account will be disabled and you will be disqualified from winning any challenges or Zindi points with any other account.