Thank you to every one who responded!  You can see a report of the ten responses received here.

https://shorturl.at/bnqvR

While the human brain can by-and-large handle ten records all on its own, I could not resist downloading the results as CSV and querying them with Drill.  Here are the outcomes that I obtained.

1. 90% feel the meetup frequency should be every one (50%) or two (40%)
   months.  Since meetups are optional things I think we can schedule
   one monthly and whoever feels like joining in a particular month can
   do so.
2. By a majority of 70%, we will not simply retain Tuesday 10am PDT,
   but tally votes for a new time slot.
3. Tuesday and Friday are tied day of week winners according to the
   Minimax Condorcet (MC) method for ranked voting, but Friday pips
   Tuesday by 25 to 23 by Borda count.  The winner is *Friday*.
4. 6am and 8am PDT are tied winners according to MC while 8am just wins
   on Borda count.  The winner is *8am PDT* (modulo minor nudges
   backwards or forwards as might be helpful).
5. Zoom is the MC method winner with Google Meet in second, while
   Google Meet wins on Borda count.  The winner is *Zoom* with Google
   Meet as the backup.

Feel free to respond with any questions, but I will proceed to update the Drill website and send a final message with the last bits of info after I have.  The voting Drill code is below for anyone who might be interested.  I did note that I had to reach for Pandas to "melt" the wide form data I got back from Google. We might be missing a trick not having such "melt" and "pivot" operations in Drill (or is it just *me* missing a trick!?).

James

|-- Provided schema for CSV||
||create or replace schema (||
||id int,||
||question varchar,||
||option varchar,||
||rank int) for table dfs.tmp.`meetup_survey`;||
||
||-- Minimax Condorcet||
||with||
||  question as||
||  (select *||
||   from dfs.tmp.`meetup_survey`||
||   where question = 'tod' ),||
||  pairwise as||
||  (select||
||     s1.option option_1,||
||     s2.option option_2,||
||     count(distinct case||
||                        when coalesce(s1.rank, 9) < coalesce(s2.rank, 9) then s2.id||
||                    end) option_1_pref||
||   from question s1||
||   join question s2 on s1.id = s2.id||
||   and s1.option <> s2.option||-- could improve <> to < with a little more work
||   where coalesce(s1.rank, s2.rank) is not null||
||   group by||
||     option_1,||
||     option_2)||
||select||
||  option_1,||
||  min(option_1_pref) min_pref||
||from pairwise||
||group by option_1||
||order by min_pref desc;||
||
||
||-- Borda count||
||with indiv_count as (||
||select||
||  option,||
||  7 - rank() over (partition by id||
||                       order by rank nulls last) borda_count||
||from dfs.tmp.`meetup_survey`||
||where question = 'tod'||
||  and rank is not null)||
||select||
||   option,||
||   sum(borda_count) borda_total||
||from||
||    indiv_count||
||group by option||
||order by borda_total desc;||
|


On 2021/11/09 11:15, James Turton wrote:
Hello Apache Drill community member!

It's been a few years since the last community meetup which means that the next one is *cough* more than a little overdue.  I've made a short form that will help us to arrange meetups in way that works for many of us, please take two minutes to respond and please forward it to anyone you know who might be interested in joining us.  The form does not require any login.

https://forms.gle/57KuDcVPJpQrGY5w7

I'll be in touch again once the responses are in.  We look forward to seeing you.

James Turton
Apache Drill Committer
null

Reply via email to