coderdojo.jp icon indicating copy to clipboard operation
coderdojo.jp copied to clipboard

未集計の Dojo で集計が難しい Dojo も追加したい

Open yasulab opened this issue 7 years ago • 19 comments

関連: 未集計の Dojo で集計可能な Dojo を追加したい #236

Facebook/Doorkeeper/connpass ではないけれど、統計をとっている Dojo に直接訪ねて聞きました ✅

  • 柏の葉: 29回
  • 南柏: 3回
  • 柏湘南: 4回
  • 小平: 63回 ( https://coderdojo-kodaira.connpass.com/ )

静的に追加する方法があれば、それで上記の値をDBに記録したい (今のところはない、という認識です💦)

関連 Issue: #191

実装方法: 静的なデータは yaml で追加

  • static_event_histories.yaml的なのに保存しておいてaggregationのrake task実行時に取り込む
  • そうすれば dojos.yml のように誰でも更新できる
  • 集計バッチが走るタイミングにならないと反映されないが、インタフェース的にはその方がスッキリ

yasulab avatar Nov 07 '17 23:11 yasulab

静的に追加する方法があれば、それで上記の値をDBに記録したい (今のところはない、という認識です💦)

なにかしらインタフェースを作ったほうが良い気はしています。 Googleフォームだったり自前のフォームだったりで管理されている場合や、 過去はそういう運用だったっていうケースのイベント履歴はどこからも取得できないので、 レコード相当のstaticなデータを何処かに持ってしまってevent_historiesテーブルに流し込める形式が良さそうかなーと思っています。

nalabjp avatar Nov 08 '17 03:11 nalabjp

static_event_histories.yaml的なのに保存しておいてaggregationのrake task実行時に取り込む、 みたいなのだとどうでしょうかね?🤔

nalabjp avatar Nov 08 '17 03:11 nalabjp

static_event_histories.yaml的なのに保存しておいてaggregationのrake task実行時に取り込む、 みたいなのだとどうでしょうかね?🤔

おー!いいアイデアですね!そうすれば dojos.yml のようにこちら側で更新することもできますし、各Dojoにそれぞれ更新してもらうことができそうですね ;)

yasulab avatar Nov 08 '17 03:11 yasulab

はい、PRベースで動く方が良いかなと。 集計バッチが走るタイミングにならないと反映されないですけど、 インタフェース的にはその方がスッキリするイメージがあります😌

nalabjp avatar Nov 08 '17 04:11 nalabjp

ですね! description に追記しておきました! 📝 💨

実装方法: 静的なデータは yaml で追加

  • static_event_histories.yaml的なのに保存しておいてaggregationのrake task実行時に取り込む
  • そうすれば dojos.yml のように誰でも更新できる
  • 集計バッチが走るタイミングにならないと反映されないが、インタフェース的にはその方がスッキリ

yasulab avatar Nov 08 '17 04:11 yasulab

横からスミマセン。Kataなどで「(各Dojo側で)こういうフォーマットで情報をまとめていてくれると、統計データの取得などデータの二次利用・三次利用がしやすい」という情報などあげて頂けると、Dojo側からも情報提供しやすいかなと思いました。そうすると、Dojo側でデータをまとめる協力者を集めたりもできるかな、ともです。 現状、日々の運営に手一杯で情報の整理ができておらず、それはそれでよくないなぁと思っているのですが…^^;

togazo avatar Nov 13 '17 16:11 togazo

こういうフォーマットで情報をまとめていてくれると、統計データの取得などデータの二次利用・三次利用がしやすい

まだ yaml ファイルのフォーマットを決めていないので、おいおい詰めていきますね 🔧 💨

現状ではすべての Dojo が統計情報をまとめる必要はなく、例えば Facebook Event や connpass, Doorkeeper でイベント管理している Dojo はAPI経由で統計情報を取得できるので、特に何かをする必要はありません 🙆 また、自前でイベント管理をしている柏の場合は、独自の API を実装する方法で話が進んでいます。ただしこちらは例外的なケースのため、他の道場にも同じようなことをやってもらう予定はありません ;)

上記のいずれにも該当しないケースについては、先ほど議論に上がったように次のような形で対応しようと考えています ✅

実装方法: 静的なデータは yaml で追加

  • static_event_histories.yaml的なのに保存しておいてaggregationのrake task実行時に取り込む
  • そうすれば dojos.yml のように誰でも更新できる
  • 集計バッチが走るタイミングにならないと反映されないが、インタフェース的にはその方がスッキリ

yasulab avatar Nov 14 '17 01:11 yasulab

丁寧にありがとうございます。 私も全てのDojoがまとめる必要はないと思いますが、何かしら協力できることがあれば可能な範囲でお手伝いしますよ〜という位なので、色々決まったらまた情報公開していただけるとありがたいです!

togazo avatar Nov 14 '17 04:11 togazo

統計情報のページを実装していて気づいたんですが、「いつイベントが開催されたか?」や「そのイベントに何人来たか?」という情報がないと EventHistory が作り込めなさそうですね 🤔

screen shot 2018-01-08 at 13 23 59

https://coderdojo.jp/stats

これらの情報を yaml ファイルに書き出すのは流石に一苦労だと思うので (少なくとも手動でやる場合は)、合計数には乗せられても、上記の統計テーブルに組み込むのは厳しいのかもしれないなぁと考えています 😓

あと、合計数には静的な数字を含めて、統計テーブルには含めないとなると「あれ、統計テーブルの情報と合計数の数が離れすぎていないか? (この統計本当にあってるの?)」という疑念に繋がるかもしれない、という懸念もあります 😥

今のところ何か解決策を思いついているわけではないですが、とりあえず気づいた点をこちらに挙げておきます 📝

yasulab avatar Jan 08 '18 04:01 yasulab

#191 の温度感からそのあたりのデータはお願いすれば提供してもらえるのかなぁと想像していたのですが、なかなか難しい感じでしょうか?

過去分の詳細データがない or エクスポートが楽に出来ない、というような環境だと仰る通り整合性が取りづらい状況になりそうだなと思います。

一方で、googleフォームを利用しており提供可能な場合はエクスポートしたcsv -> yamlにすれば良いので、エクスポートをどうやるかみたいな部分だけの問題かなとも思います。

  • エクスポートしたデータに個人情報が入っていないか
  • エクスポートしたデータが要求を満たしているか
  • エクスポート作業自体を行う余裕があるか

など。 独自フォームでそういうのは厳しい、だと苦戦しそうですね😭

nalabjp avatar Jan 08 '18 04:01 nalabjp

googleフォームを利用しており提供可能な場合はエクスポートしたcsv -> yamlにすれば良いので、エクスポートをどうやるかみたいな部分だけの問題かなとも思います。

ですね。手動でやるのはキツそうだなと思いましたが、エクスポートしたファイルを import する分には大丈夫かなと思います🤔

当初は「(export/import ではなく) 手動で集計した結果をを yaml ファイルに追加」と考えていたのですが、テーブルを実際に作ってみて「あ、これ手動だと現実的ではないな」と感じた次第です 😅

僕が観測した範囲だと Google Form が多いので、まずは Google Form のサンプルデータがあると検討もしやすそうですね 🤔

@togazo さん、上記の背景からサンプルデータがあると嬉しいのですが、 Google Form から export した結果ってもらうことできますかね? >< 💦 (Facebook Message などでも大丈夫です!)

yasulab avatar Jan 08 '18 04:01 yasulab

代替案

@nalabjp さん、もう1つ思いついたアイデアとしては、毎年一回世界中の CoderDojo に向けてアンケートが配布されるのですが、恐らくその結果が CoderDojo API のデータベースに反映されているはずなので、API 経由で情報を拾ってくるというやり方もあるかもしれません 💭 (要: API 経由でどこまで情報を取得できるか確認)

Pros/Cons

(CoderDojo API 経由で年次の情報が取得できるという前提で)

  • APIを叩けば良いので自動化が楽
  • 年次で集計されているはずなので、月次での集計はできない
  • 回答していない Dojo もそこそこあるので、どの程度補足できるかはわからない

yasulab avatar Jan 08 '18 04:01 yasulab

ディスカッションのポイントが Issue の表題とずれて来たと思うので、Issue の表題の方を修正しました 🔧 💨

- Statically add Dojo events for 柏の葉/南柏/柏湘南/小平
+ 未対応のサービスでイベント管理している Dojo も集計したい

yasulab avatar Jan 08 '18 05:01 yasulab

先ほど気づいたんですが、CoderDoko Kodaira のイベントは connpass を通して既に集計対象に含まれているんですね ;) https://coderdojo-kodaira.connpass.com/ 🤔.oO(参加者の集計はできなさそうですが、イベント開催回数は問題なく取れていそう)

https://github.com/coderdojo-japan/coderdojo.jp/blob/39821925c83e7a6163475046f6cf9ba07c0c9040/db/dojo_event_services.yaml#L101-L105

yasulab avatar Jan 25 '18 04:01 yasulab

横から恐縮です。connpassは通常以外のイベントの募集につかったりしていてあまり参考になりません…というか、通常「以外」の募集目的で使うコトが多く…(大汗

togazo avatar Jan 25 '18 05:01 togazo

@yasulab 小平のデータですが、参加者の数字と日時だけ正確で良ければ2014年の設立時から現在まで全てのデータをまとめましたのでご活用くださいませ(使いにくかったらスミマセン https://drive.google.com/open?id=15oTUF20IBQ99taJb3BO10Xpbn0tR-c_xmTJQUwH2M38

togazo avatar Jan 25 '18 08:01 togazo

@togazo 情報ありがとうございます! サンプルがあると議論が進みやすくて助かります ;)

@nalabjp 上記のスプレッドシートを見ながら static_event_histories.yaml に書き込んでみているんですが、1つずつ追加するのは結構辛そうですね 💦 毎年ぐらいの間隔でも追加できると良さそうですが、とはいえエッジケースな気もするので、優先順位をあげるのもどうかなぁ... というのが正直な気持ちです 😓 (統計情報的にはHighChartsでグラフ化する方が優先度は高そう🤔)

# 小平
- dojo_id: 13
  evented_at: 2018/1/10
  participants: 9
# ... 上記のようなイベントを 1 Dojo あたり数十回書き込む...? 🤔

特に解決策がある訳ではないのですが、現状の所感です 😅

yasulab avatar Jan 26 '18 04:01 yasulab

手作業はツライのでyamlを生成するスクリプト書こうかなと思います!

nalabjp avatar Jan 26 '18 08:01 nalabjp

@yasulab @nalabjp 御手数おかけしてスミマセン。いまはGoogleDocsをフル活用する流れでやっている都合でこんな方法でしかデータをお出し出来ないのですが、他のメンターにさくらのクラウドの活用方法を検討してもらったりしているので、時間はかかると思いますが今後もうちょっと使い勝手良いデータをお出しできるように善処しますね^^;

togazo avatar Jan 27 '18 02:01 togazo