AirQo Ugandan Air Quality Forecast Challenge
Predict future air quality levels and empower communities to plan and protect their health
$5 000 USD
Ended over 2 years ago
328 active ยท 860 enrolled

Until recently there has been a lack of data on air quality across sub-Saharan Africa. Reference grade monitors are extremely expensive and without access to data it is very difficult to raise awareness of the issues, or for government, business and individuals to know which actions to take to improve air quality and protect community health.

AirQo has built a low-cost network of sensors and collected data across 65 locations in Uganda with some sites monitoring for over three years. There is now a wealth of data which can be used to achieve impact in this critical area. Birmingham University’s ASAP project makes use of this and similar data to gain insights into the relationship between urbanisation and air quality.

The increase in availability of air quality data allows us to analyse historical and up to the minute results to gain insights into trends, hotspots, causes and consequences of poor air, potential policy solutions and so much more.

The ability to accurately predict what air quality will be in the coming days is also essential for empowering everyone from governments to families to make informed decisions to protect health and guide action, just as we do with weather.

Activities that are known to contribute to poor air quality such as high traffic volumes, rubbish burning, cooking using charcoal and firewood, even construction or other government works can also be reconsidered depending on the forecast.

If it is known that the next day will be a high pollution day then sports or other events may need to be rescheduled or relocated. Sensitive groups such as children, the elderly, sick or those with respiratory illnesses may need to remain inside. Schools can plan the timing of outdoor activities such as field trips or sports events with confidence.

We are hopeful that these forecasts will be used to inform public awareness and be built into safety alerts. They can become part of daily news coverage whether in traditional or social media in the same way weather is currently presented. The solution could literally be life saving.

The objective of this challenge is to accurately forecast air quality (as measured by PM2.5 µ/m3) for each hour of the coming 25 hours across five locations in Kampala Uganda. Forecasts will be based on the past 5 days of hourly air quality measurements at each site.

AirQo (

AirQo is a research initiative of the College of Computing and Information Sciences, Makerere University, Kampala, Uganda. For over three years it has been developing monitoring devices suitable for the local context to address the lack of air quality monitoring in the country. In 2019 AirQo received a grant from which enabled them to increase the scale of the network, adopt a cloud based platform for community network management and make use of machine learning to make best use of the data including calibration, device placement, making spatial and temporal forecasts and more


ASAP (A Systems Approach to Air Pollution) is a research project led the University of Birmingham, UK with multiple international partners focusing on urbanisation and air quality in east Africa, with a focus on Uganda, Kenya and Ethiopia. The project takes a multidisciplinary approach to studying the causes and consequences of air pollution in the region as it develops. They also explore the governance, awareness raising and policy issues involved in finding solutions to this challenge.


Teams and collaboration

You may participate in this competition as an individual or in a team of up to four people. When creating a team, the team must have a total submission count less than or equal to the maximum allowable submissions as of the formation date. A team will be allowed the maximum number of submissions for the competition, minus the highest number of submissions among team members at team formation. Prizes are transferred only to the individual players or to the team leader.

Multiple accounts per user are not permitted, and neither is collaboration or membership across multiple teams. Individuals and their submissions originating from multiple accounts will be disqualified.

Code must not be shared privately outside of a team. Any code that is shared, must be made available to all competition participants through the platform. (i.e. on the discussion boards).

Datasets and packages

The solution must use publicly-available, open-source packages only. Your models should not use any of the metadata provided.

You may use only the datasets provided for this competition.

The data used in this competition is the sole property of Zindi and the competition host. You may not transmit, duplicate, publish, redistribute or otherwise provide or make available any competition data to any party not participating in the Competition (this includes uploading the data to any public site such as Kaggle or GitHub). You may upload, store and work with the data on any cloud platform such as Google Colab, AWS or similar, as long as 1) the data remains private and 2) doing so does not contravene Zindi’s rules of use.

You must notify Zindi immediately upon learning of any unauthorised transmission of or unauthorised access to the competition 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 Zindi.

Submissions and winning

You may make a maximum of 10 submissions per day. Your highest-scoring solution on the private leaderboard at the end of the competition will be the one by which you are judged.

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

If you are in the top 20 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 submission 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).

The winners will be paid via bank transfer, PayPal, or other international money transfer platform. International transfer fees will be deducted from the total prize amount, unless the prize money is under $500, in which case the international transfer fees will be covered by Zindi. In all cases, the winners are responsible for any other fees applied by their own bank or other institution for receiving the prize money. All taxes imposed on prizes are the sole responsibility of the winners.

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 competition constitutes your acceptance of these official competition rules.

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


  • 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 10. 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.
  • We expect full documentation. This includes:

- All data used

- Output data and where they are stored

- Explanation of features used

- Your solution must include the original data provided by Zindi and validated external data (no processed data)

- All editing of data must be done in a notebook (i.e. not manually in Excel)

Data standards:

  • Your submitted code must run on the original train, test, and other datasets provided.
  • If external data is allowed it must not exceed 1 GB. External data must be freely and publicly available, including pre-trained models with standard libraries. If external data is allowed, any data used should be shared on the discussion forum.
  • Packages:

- You must use the most recent versions of packages. 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.

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

  • First offence: No prizes or points for 6 months. 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 competitions or Zindi points for the next six months.
  • 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 competitions or Zindi points using any other account.

Monitoring of submissions

  • We will review the top 20 solutions of every competition when the competition ends.
  • We reserve the right to request code from any user at any time during a challenge. You will have 24 hours to submit your code following the rules for code review (see above).
  • If you do not submit your code within 24 hours you will be disqualified from winning any competitions 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 competitions or Zindi points.

Further updates and rulings of note:

  • Multiple accounts per user, collaboration or membership across multiple teams are not allowed.
  • Code may not be shared privately. Any code that is shared, must be made available to all competition participants through the platform.
  • Solutions must use publicly-available, open-source packages only, and all packages must be the most updated versions.
  • Solutions 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 Zindi.
  • You will be disqualified if you do not respond within the timeframe given in the request for code.

We reserve the right to update these rules at any time.


The evaluation metric for this challenge is the Root Mean Squared Error.

Your submission file should look like:

ID          target
ID_test_0     32
ID_test_1     45
ID_test_2     12
ID_test_3     79

1st Place: $1 250 USD

2nd Place: $750 USD

3rd Place: $500 USD

Implementation: $2 500 USD

After code evaluation we will interview the top 3 winners about their solution and approach. We will use this interview to decide one winner or winning team to work with Airqo to implement their solution.

If necessary, we reserve the right to not assign the implementation award to any of the top 3.


Competition closes on 31 May 2020.

Final submissions must be received by 11:59 PM GMT.

We reserve the right to update the contest timeline if necessary.