SirionLabs HackFest

1983 Registered Allowed team size: 1 - 4

This campaign is over.

Idea Submission Phase
Online
starts on:
May 28, 2022, 07:30 AM
ends on:
Jul 10, 2022, 06:29 PM
Prototype Submission Phase
Online
starts on:
Jul 26, 2022, 08:00 AM
ends on:
Aug 14, 2022, 06:29 PM

Overview

Dive into the world of CLM. Binary Utopia is a unique hackathon brought to you by SirionLabs, one of the fastest-growing B2B SaaS companies. This two-month-long event will bring together the technocrats from all over the country. The problem statements are stimulating enough for programmers and data scientists who love solving mind-bending problems.

The entire event is virtual in nature, but the grand finale will be hosted on our company premises. We look forward to connecting with the participants and hope they enjoy their journey to this Eden of coding!

Themes

Supplier Performance

Problem Statement: Selecting a supplier from among thousands and doing a predictive performance analysis is a challenge which most of the client's face. Evaluating supplier performance based on multiple attributes would not only help clients mitigate risk but also help reduce costs. 

In order to achieve the same, we have provided some unstructured supplier performance data which may be millions of records, with multi-dimensional attributes from supplier rating, region, cost etc. 

Supplier performance can be defined as follows:

Formula using attributes. For example, Minimize [Cost] + Maximize[Rating] for upcoming year based on the historical data which can be executed within a specific duration [e.g., 30 days] for a specific service [e.g., Application Development] with minimum escalation 

As the expected outcome is meant for the future, all the numerical fields should be based on predictive computation as per historical data for each supplier.

Sample data set - 

{

   "Supplier Name": "Infosys",

   "Region": "APAC",

   "Country”: “India”,

   "Function": "IT & Infrastructure",

   "Service": "Applications Development",

   "Avg. Cost($)": "100k",

   "Rating": "90",

   “Average Delivery Time”: "90",

   “Number of Escalations”: "5",

   “Year”: "2018",

   “Resources”: "10000"

}

{

   "Supplier Name": "Genpact",

   "Region": "North America",

   "Country”: “United States”,

   "Function": "Consulting",

   "Service": "Applications Development & Maintenance",

   "Avg. Cost($)": "150k",

   "Rating": 80,

   “Average Delivery Time”: "180",

   “Number of Escalations”: "40",

   “Year”: "2017"

   “Resources”: "6000"

}

{

   "Supplier Name": "IBM",

   "Region": "North America",

   "Country”: “United States”,

   "Function": "IT & Infrastructure",

   "Service": "Mainframe services",

   "Avg. Cost($)": "150k",

   "Rating": 85, 

   “Average Delivery Time”: "180",

   “Number of Escalations”: "100",

   “Year”: "2014"

   “Resources”: "8000",

}

{

   "Supplier Name": "Capgemini",

   "Region": "Europe",

   "Country”: “France”,

   "Function": "HR",

   "Service": "Service Desk",

   "Avg. Cost($)": "100k",

   "Rating": 85,

   “Average Delivery Time”: "270",

   “Number of Escalations”: "150",

   “Year”: "2016"

   “Resources”: "5000",

}

There are a few things to keep in mind:

  1. There are 500,000 supplier records
  2. Each supplier will have mandatory following fields in every record:
    • Supplier Name
    • Country
    • Period [Calendar year]
  3. Other attributes are optional such as Cost, Rating. Most of the records will have these values. In case relevant values are not there, those records can be ignored.
  4. Weightage can be given for each attribute (Sum of all attributes for a supplier should add to 100)
  5. Each attribute will have only one value. So, there can be multiple records for each supplier for different services, regions, duration.
  6. You can expect outcome to be dependent on maximum of 5 attributes
Scheduler

There is a multitasking scheduler system available, which can execute tasks/jobs in parallel at a given execution (1000) capacity. The system receives jobs, which need to be scheduled on the system. Each job is associated with Start DateTime, Finish DateTime, Value (1 to 100), Required Capacity (1 to 80), Frequency (in hours), DesiredStartDatetime and Execution Time(in Minutes)

Every job has to be started within 2 hours of DesiredStartDatetime. It is anticipated that jobs are already scheduled in the system, which may be again rescheduled to accommodate new jobs with higher value. Only those job instances can be rescheduled, which have not started.

Design a solution that will give maximum value for any given day. The solution should take care of job starvation and should provide basic reporting such as JobsForDay, ScheduledDaysForJob, and CapacityUtilizationForDay.

There are a few things to keep in mind:

  1. All calendar days are relevant for scheduling jobs
  2. The solution should generate alert messages once scheduler system capacity is utilized at 70%+ level.
  3. There are 100 different types of jobs. You can configure Required Capacity (1 to 80) and Value (1 to 100)
  4. It should pick a CSV file for importing jobs into the system for processing
  5. If at any instant, execution capacity falls short, generate alerts in the next available time window.

Prizes INR 4,00,000 in prizes

Main Prizes
1st Prize
INR 2,00,000
2nd Prize
INR 1,25,000
3rd prize
INR 75,000

Social Share

Notifications
View All Notifications

?