Clustering algorithm for time tracking (python) - 3 winner challenge
New here? Learn about Bountify and follow @bountify to get notified of new bounties! x

We have a systemic issue tracking time related to slack activities. We have managers and developers in various slack channels for what seems to be hours a day. We don’t have a great way to track the time in slack for reconciling our project tracking. I’d like to develop an algorithm that will help.

We would export all chats for a channel to csv. It would be shaped something like

Person | timestamp | characters of text | text

We would attempt to creat clusters of chat which take in to account a continuous conversation with another people or persons. For example if I chat and you read and reply a minute later, we should assume you were involved for 2 minutes. Not just the 10 seconds you chatted something. Whereas if I chat and then you chat 15 minutes later and then I chat 15.1 minutes later we probably assume these are two discrete events call adding it all together and saying we were chatting 15 minutes. So to some extent duration of the pause, qty of text and some of these other factors should be taken in to account. The output of the algo should be something like

Person | total chats | total conversations | total conversation time

I’d like to evolve this a bit over time to take in to account more complex speech like if a code snippet is in the chat or a file then it would have a bigger impact on the cluster since likely more time was needed to compose it than just the raw count of characters.

Deliverable should be in repl - - So it’s easy to run. Should be python so it’s easier to do more advanced language processing and data analysis later.

I’ll award three winners here
Top winner - $100 - best performant system and logical proof articulated that solves our challenge
2nd winner - $50 - second place.
3rd place - $25 - third place

For a person that only replied once to a one-hour conversation of some people, do we say the person have that one-hour conversation time? One might be following the conversation from beginning to the end, even though just replied only once, or not replying at all. I think it'll be more accurate to track user activities using some tool like, I haven't use it on slack but have been using it for years on Visual Studio Code to track my coding time.
farolanfaisal 30 days ago
I’d say it’s not an hour but we could have time for the single chat they had and then maybe use some algo to figure out how much time it takes to read the rest of the conversation. The second part feels more complex so I think it would be out of our primary scope here so they should just get time for the single chat. Without a second chat from them it would be hard to form any sort of cluster to justify it being larger without more complexity. Thx for the suggestion on the other tool. It’s not the direction we want to head.
Qdev 30 days ago
23 days ago

Crowdsource coding tasks.

0 Solutions