Share This Post


Instantly predict final charting status of indian railways



Hi guys,


need your valuable feedback for a website i built to ease a customer painpoint of waitlisted tickets.


pnr prediction tool predicts the final charting status given a valid pnr number. I do this by looking at the historic data of the train, class and quota


there is a new feature which advises whether to book a railway ticket or not. It will help to eliminate unnecessary train bookings.


please give feedback for this pet project of mine


A little info about me


I am Salil working as a marketing analyst in Bangalore. my idea of creating this website came when i found out that there was no website which would predict whether my train tickets will get confirmed or not. Sure, there were some crowd sourced prediction websites, but mostly they were incorrect. I also believe that crowd sourcing is not a scientific solution to prediction. we can have better platforms which analyze more data and predict with greater accuracy.


I must also credit this particular post for giving some inspiration


Share This Post


  1. Hi all

    I would greatly appreciate feedback about this. both negative and positive

  2. Hi,

    I think you will going to forecast previous historic data for few years and predict the Status.
    Its really a good idea, You can use the various parameters for this say DOW, MOY, etc.
    It will require good OR and mathematical experts.
    Hope to see it live 🙂


  3. Pretty good idea! Alas, got internal server error in my first attempt. Here’s what I tried for To_book_or_not :- 17316, 3A, GNWL,240,15. Assuming these are initial hiccups, this could be a great idea. 🙂

  4. hi salil,

    alok has shared your post across his social media 

    pls check out the comments on fb. check the twitter trail as well – @rodinhood

  5. why doesnt this work Salil?

  6. hI  

    thank you for bringing this to notice

    its running now. will debug why it went down initially

  7. Hi guys

    fixed that problem. will have to see in depth on why it happened

  8. Hi 

    that is the idea

    i need to get more data to increase my accuracy. 

  9. hi 

    thanks for bringing to the notice alok.

    couldn’t handle the traffic i suppose. will work on increasing its efficiency 

  10. Hi Salil

    another Site does the same thing which you are planning.I have also studied this pnr thing and I thing historic data may not help much as the railway system and the pressure on it has considerably changed over the years.In each train a specified no. f tickets are for tatkal and various quotas which get released just prior to charting depending upon demand from these based on historic data a prediction I believe would not be very true.for e.g. there are RLWL,PQWL,WL,etc types of waiting list which are dependent on other factors as on trains long distance passengers are given first weightage and then short distance as far as I know. so keeping in mind all this I think first we should carry ut a research with the railways and understand how these quotas and RLWLs ae filled up and then form a model for this prediction tool.

  11. Hi arpit

    thanks for your feedback

    1. does pnr prediction by making people vote. one can never get an instant answer from the site. i think that is where can help people
    2. i know that i am not going to make a 100% foolproof product. sites like like indianrailinfo, have a prediction accuracy which varies from 50-65%. i want to improve on that and hit a respectable 80% success ratio.

    but i completely agree, if we can get more insight into how wl changes, we can have a much better prediction system. but i highly doubt irctc or indian railways will ever release that kind of information

  12. Hi Salil,

    Here are a few references which should be helpful for you for either Comparison or Improvement or Collaboration!! 🙂

    Sanket Saurav
    Co-founder at CampusHash
    Lives in Jamshedpur

    Vishal Gupta
    Founder/Developer at
    Lives in Bangalore


  13. Hi 

    thanks darshan. 🙂

  14. Hi all

    i am simply overwhelmed by the amount of reaction i got. 

    two important feedback that i received was about the site was about accuracy and the site being down

    1. i have written a new algorithm which has increased the accuracy from around 60 to 76%
    2. i have re written the prediction part so that, it will restart itself if it goes down

    please share your thoughts

  15. Hi Salil,

    Timing couldn’t have been better for me. last night only I have booked a ticket in waiting list. I was overwhlemed to see your post and couldn’t resist my temptation to check if my ticket would be confirmed or not. 

    1st time I got the error saying, some error with server and try again. When I tried again I did get correct status and prediction too. I will validate the status on same post. 

  16. This is what I got when I tried the PNR confirmation tool.

    passenger 2 : no prediction possible for passenger

    Never the less great idea, considering the number of queries on rail bookings. Suggest you take a direct feed from irctc in Delhi. Talk to them…this might be useful.

  17. HI pawan

    thanks for the feedback. was your ticket in waiting list status?

  18. Still is RAC

  19. i consider rac to be a valid ticket as you can board the train 🙂

  20. Good one…just curious how you get that data? Suggestion: Please put a link, explaining how this works…at a very high level… 🙂 I know its already mentioned….we analyze data but how you get this data and all that stuff(at a high level).

    Cheers Buddy and Best of luck.


  21. Hi

    I will update the site with that data 🙂

  22. salil,

    am sharing the link of your recent post where you have thanked all these wonderful rodinhooders for their feedback 🙂

    many congrats. keep rodinhooding!

    Hi Rodinhoods

    i first published pnr prediction on rodinhoods and got tremendous positive feedback. the resulting feedback helped me to fine tune the algorithms and make the site better.

    The positive feedback encouraged me to participate in the THack event organized by Tnooz. This was a travel specific hackathon sponsored by cleartrip, tripfactory and others

    As luck would have it, i ended up winning the hackathon. here is the extract from Tnooz:

    “For the first time in India, a travel vertical focused hackathon (THack) took place in the country’s own Silicon Valley – Bangalore.

    THack Bangalore was planned to be slightly different from the other THacks we have been doing for a few years.

    In our regular hackathons (recent ones in SFOBostonSydney), we make travel APIs available to developers in advance. Participants are given eight (sometimes more) days to build hacks/products on top of the APIs and, finally, present at a showcase on the final day.

    However, THack Bangalore (hosted at Cleartrip‘s Bangalore office) turned the idea around, with no travel branded APIs made available – rather, a 48-hour, open hackathon concluding on midday Sunday 12 pm on November 10.

    The event attracted 60 developers forming 22 teams. One team among the 22 included students, the remaining 21 teams were developers and engineers working at various companies.

    Participants came from a string of organisations including AmadeusNibodha TechnologiesRedBusC-soft TechnologiesTripThirstyOLA CabsCleartripYahooArmor TechnologiesFindMyCarrots and PayPal.


    Amadeus had two teams involved in the event – one developed a service which alerts a traveller about local events during his/her travel. The other team developed a trip recommendation engine based on user’s social media data.

    The team from Armor built NFC-based use cases for the airline industry. For example: A traveller browsing and buying inflight products and food using NFC technology.

    Yahoo hackers built a marketplace for finding information regarding destination related souvenirs – browse, read, customize and buy souvenirs.

    Teams from RedBus built crowd-sourced location tracking engine for buses and cars. A number of travel planning hacks were also built in the event.

    The judging team – Mahesh Murthy, founder of SeedFund; Ram Badrinathan, CEO of GlobalTHEN; Mukund Mohan, head of  Microsoft Ventures – focused on four areas: creativity, originality, technical proficiency, and business purpose/revenue scope.

    Every team was given four minutes to present their final product to the judges and fellow participants, followed by two minutes of Q&A (these turned out on a number of occasions to live consulting sessions).

    Third place

    The third place was shared by two teams.

    Hack 1: This team of three from Nibodha Technologies built a trend-based travel opportunity creation engine. Depending on a local trend, the engine creates automatic posts with travel content in it that can be posted to a company’s social media pages.

    Example: Sachin Tendulkar’s last test match (before he retires) that is scheduled to happen in Mumbai is a local trend. The hack engine picks this trend, validates a travel opportunity, and creates a post something like this – “Travel to Mumbai to watch Sachin’s last test match, hotels in Mumbai starting at $50, book here: <a link>”.

    Hack 2: This team of two from OLA Cabs built a personalized destination recommendation platform by retrieving data from Facebook friends. The team says:

    “We were developing Facebook app for the first time. We spent nearly half the event time in figuring out auth-token and FQL. Best thing we did was we kept going, kept the spirits up. We didn’t know then, but others were struggling as well.”

    Second place

    This team of two from RedBus built a real-time group trip planning service – bringing people who wish to travel together into a closed group where they can discuss their travel ideas, share details, and create a travel plan.

    All searches and destination suggestions by people (in a group) gets pinned to the group’s wall. Each pin can be upvoted or downvoted by group users. All of these activities happen realtime so that group users get an update.

    The team used technologies like Node.js and Redis to enable real time communication between users. Also, Wikipedia pages were scraped and Google APIs like search, images, maps, places were used to aggregate a lot of information into pins.

    The team also wrote an algorithm to find the best possible order of locations in cities to help users who do not have much knowledge about the location.

    The team says:

    “This was our first experience in a hackathon and it was a memorable one. From sleepless nights to Redbulls to long hours of coding and designing, it was fun and a good learning experience. We interacted with other teams and were able to understand and learn a lot. Also we got to know about a lot of interesting ideas that we never thought could help solve problems in travel.”

    The winner

    All three judges unanimously picked Salil Panikkaveettil. Working on his own, Panikkaveettil built a prediction service which will work out if an Indian railway’s wait-list ticket will be confirmed or not.

    The Indian Railway is the fourth biggest train network in the world. Considering this fact and the technically challenged railway reservation service, there exists a good chance for a user to end up in wait-list status.

    Panikkaveettil built, a service which tells in advance whether a waiting list ticket will be confirmed or not with 75% accuracy, (a kind of Big Data hack). Panikkaveettil works as an online marketing analyst at BankBazaar.

    Panikkaveettil was awarded Rs 50,000 for winning the THack, the second team was awarded Rs 30,000, and the third place teams were awarded Rs 10,000 each.

    Judges pointed out that a number of the products had very good solution developed as hacks, but they lacked a real business problem which needed solving

    They also pointed out that a hack always need not result in a big product/company, and only 2% of the hacks developed make it to become a big company.”

    you can read more here –

    thank you rodinhoods for the amazing support

  23. Your algorithm is too simple and funny, I mean you are just using hours before departure. Like if the hours before departure is 240 hr then your site will tell me book the ticket if the WL is below 240 or else it will say don’t book. Train number, class and quota have no role in prediction! 

    So if I have 48 hours before departure and the waiting list is 49 you will say NO, but in actual it’s very likely that the ticket will be confirmed. Work on your algo!

  24. Hi Ayush

    I can vouch that definitely is not my algorithm. I am always trying to improve the accuracy and will update once i do that

  25. Hi Salil,

    Of course, it is! Go to fill any train number, class and quota. Now enter 48 in hours in departure and 48 or greater than it in waiting list, you will get “Don’t book the ticket. Your ticket will not be confirmed” Now change WL to 47 or anything lesser than it you will get “Go ahead, book the ticket. Your ticket will be confirmed”. I took 48 for an example, you can use any other number too.

    Clearly there is no role of any past statistics nor this is a scientific approach. I am sorry to say but you didn’t deserve first place in THack

  26. Hi Ayush

    Can you kindly provide an example. I have personally tested around 10 train numbers and i could not get this trend as you were mentioning

  27. Hi Ayush

    I have been trying very hard to reproduce the scenario you mentioned without any success. can you please provide me more details?. did you give a correct train number?

  28. Wow Salil, you just changed the coding. The results now are varying with changing quota and class but still train number has no effect. Your algorithms are thought randomly and are no where realistic.

    I analysed and found that now you are multiplying a fixed number to hours before departure and predicting the limits of WL. For SL class and GNWL quota that number is close to 0.627, take for example hours before departure is 100 then multiply it with 0.627 you will get 62.7 floor it down it comes 62, now if the WL is 62 or below it you will say YES or else NO. Take any other number like 455, so 455 * 0.627= 285.28 i.e 285 the same can be verified on your site.

    Ofcourse now you will change your coding again, so I am not going to reply any further but please stop misleading others!

  29. Haha! You changed the coding then how will you be able to reproduce which I told earlier. Read my new reply, and yeah I gave valid train numbers as well as invalid ones too but results were same.

  30. Hi Ayush

    I will explain to you how the prediction works. I think that way you will realize the reason why you found patterns in prediction.

    I try to find previous data which match the condition you gave – train number, class, quota. now this can result in following different outcomes

    1. no data point
    2. one data point
    3. multiple data points

    for case 1 :

    I will relax the criteria, lets say i omit the train number and get data which matches class and quota. I will repeat till i have case 2 or case 3

    for case 2 :

    This is a special case and most probably the one that you faced today. I will try to fit a linear curve for this data point. As you know, you will have a slope and a fixed coefficient for a linear curve. After obtaining the slope, i will use that linear curve to predict what the final charting status of the given query would be and give it as prediction

    for case 3 :

    You have multiple data points. I will use the same method as case 2 except here i would take the majority opinion. ie lets say there were 10 data points. 7 curves predicted that ticket will get confirmed and 3 predicted it would not. My prediction would be that the ticket will be confirmed. 

    As you can see, taking the majority opinion is like combining the 10 different curves to one and predicting the result. ie you can find a linear relation for this prediction too

    This is how the current algorithm works. Now you may dispute that waiting list change is not like a linear curve and hence the prediction would be incorrect. I would then lead you to the prediction accuracy where i have achieved almost 73% accuracy

    having said that, I am always working to fine tune the algorithm and increase the accuracy further. My personal target would be to achieve around 90% accuracy.

    i sincerely appreciate your feedback though. very few would have gone through the pain of analyzing the prediction and finding a pattern to it. I would urge you to validate what i am saying and you will realize that i am actually telling the truth. 

    waiting for you to reply

  31. Hi Ayush

    You might have given query about a train, class, quota about which i have very little data. If that is the case multiple requests might actually get same result. 

  32. I too check(7 hours before) as said by Ayush Pateria  by entering  48 hours and 46 waiting list, It said “book your ticket”. But when i checked the same scenario now it says dont.(only for 29 waiting list it says to book)  How the prediction analysis changed so much for a train in a span of 7 hrs.? 

  33. Hi Siva

    I continuously update database with new entries. There can be a new entry in the database within these 7 hours which must have affected the prediction. let me elaborate

    lets say for the given query for which you got the above mentioned prediction, i had no data. i would try to predict by loosening my criteria.

    now lets say after 7 hours, i have a credible data point added to database. my prediction would be solely based on this data

  34. Interesting on a conceptual level.

    We are an Angel Investing Firm.

    Do look us up at

    if you can think of some use of this in our sweet spot, shoot us a mail.


  35. Hi Arun

    Thanks for your interest. I will definitely inform you when we are looking to scale this up

  36. It is a very interesting idea and given by the interest that is evident in all things related to Big Data, it could make for a great opportunity in future valuation. My only advise is to put together an algorithm which does not bother about causality and picks up from as much historical data that you can acquire(which is the tough part).

  37. hey salil,

    how are things in pnr-land?! do update us on your journey (pun intended!) we’d love to know how the site is doing!

Leave a Reply

Lost Password