Predix - Fun Challenge 4 - Analyze Temperatures Using Time Series




    The challenge is finished.
    Show Deadlinesicon-arrow-up

    Challenge Overview

    As part of the launch of our new Topcoder Community for Predix, we are launching series of fun challenges to help introduce you to GE's Predix platform. This is the fourth challenge of the series and will be a good start to becoming acquainted with Predix services.


    If you missed the previous challenges in the series, no problem. Each of the challenges is independent and not related to the others. But you might want to reference the previous challenges for some helpful links and steps.

    1. Hello World

    2. Using User Account and Authentication

    3. Photo Album Using Predix Blob Store

    This is a fun challenge. Although there will be no prize money awarded, members who complete this challenge successfully will receive 500 TCO points for TCO ‘17.


    NOTE: If you haven’t completed the first challenge in this series, you will also need to register for your Predix account. Go to http://predix.topcoder.com/ and click the Join the Topcoder Community for Predix button. Fill out the registration form and confirm your email address. Complete the instructions you’ll receive in your community welcome email to register for your Predix developer account.

    Challenge Details

    What is Predix?

    The Predix platform is a cloud-based Platform-as-a-Service (PaaS) for the Industrial Internet. The Predix platform provides tools, framework, guidelines, and best practices that enable you to create solutions to run industrial-scale analytics. As it connects machines, data, people, and other assets, the Predix platform uses leading technologies for distributed computing, big-data analytics, asset data management, and machine-to-machine communication. A comprehensive platform overview can be found here. If you have previously used or are familiar with other platforms-as-a-service (AWS, Google Cloud Platform, Heroku, IBM Bluemix), this should feel right at home.


    Requirements for this challenge


    While setting up your app name, please include your Topcoder handle in the app name, to enable us to distinguish between apps. Eg your handle is xyz. Your app name could be xyz-timeseries


    As your introduction to the Predix platform services, you will be using Time Series Services and Predix UI Services. Time Series is useful in managing and storing time series data. For example, you may have some temperature or pressures sensors installed at your factory, and they generate a stream of data every minute. Since we don’t have sensors to generate the data as of now. We will generate some sample data in our app and send it to Time Series.



    You are an owner of a theater, and have installed 3 temperature sensors at following 3 locations inside the theater.

    - Auditorium

    - Cafeteria

    - Back Stage

    You would like to see how the temperature varies across the 3 regions, across different times, so that you can optimize cooling and save costs.

    The application should fulfill the following requirements:

    - Allow users to generate sample data to be sent to Time Series

    - Allow users to visualize the time series data using Predix UI Time Series Chart.


    The application should be hosted on Predix and use Predix Time Series services to store and retrieve timestamp data. Please remember to include your Topcoder handle in the Predix app, so we can identify your application.


    The documentation of Time Series can be found here. A step by step walk through for the time series can be found in the Predix ResourcesTime Series provides two API points: one for sending data, and another for querying data. Please check the Sample JSON for sending data for the temperature sensor for the theater for the auditorium.


    Time Series Chart can be generated by px-vis-timeseries component of Predix UI.

    A sample application using Predix UI is here. The interactive demo is here.



     "messageId": "1003",  //Unique Identifier for the message

     "body": [


         "name": "Temperature",

         "datapoints": [


             1479451858907, //Time Stamp

             10, //Data Value

             3 //Data Quality


















         "attributes": {  //Custom Attributes associated with the data

           "location": "Auditorium"






    You can use the Predix Toolkit to test the time series. A sample screen for the application is shown below. The UI is for demonstration purposes only. The actual UI is not important, as long as the application fulfills the stated requirements.


    Page 1: Generating data for the Time Series



    Page 2: Time Series Analysis Chart



    Final Submission Guidelines

    1. Provide your application URL in a text file and upload in the challenge.
    2. Please include your Topcoder handle somewhere in the application URL.
    3. You can use any language to build the application, as long it’s supported by Predix.

    Reliability Rating and Bonus

    For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
    Read more.


    2017 TopCoder(R) Open


    Final Review:

    Community Review Board


    User Sign-Off


    Review Scorecard