写真AC雑記帳

写真ACのあれこれを書く予定

写真AC:ダウンロードの多い順の謎、あるいはDL数は正しく集計されているのか?

写真AC:ダウンロードの多い順の謎、あるいはDL数は正しく集計されているのか?

写真ACクリエイターの皆様は、頻繁に「投稿写真一覧」画面を表示しているのではないでしょうか。投稿した写真のタグを編集したり、ダウンロード数の確認のために閲覧することが多いのではないかと思います。そこで「あれ、おかしいぞ」と不思議に思った経験はないでしょうか?

どうやら写真ACのソート機能には奇妙な点があるようです。

 

 

問題:「ダウンロードの多い順」の謎 

投稿写真一覧画面を表示した時、4種類のソート種別を選択できます。

・登録の新しい順

・登録の古い順

・ダウンロードの多い順

・ダウンロードの少ない順

このうち「登録」順の2種類に関しては違和感を覚えたことはありません。純粋に登録した順に並んでいます。

 

一方、ダウンロード順はどうでしょうか。

ダウンロード数が数えるほどだった頃は気付きませんでしたが、どうやら単純なダウンロード数の並び順ではないようです。たとえば「ダウンロード数の多い順」でソートしても、何件もDLされている画像より1件しかDLされていない画像が上に来る場合があります。下画像のようなケースです。

f:id:daphniaP:20170919095704j:plain

上から順に、DL数2→4→1件*1です。ここだけ見ると、何順のソートなのか判断がつかないですね。

「ダウンロードの多い順」なのに「ダウンロード数順」でないことは確かです。ぜひ4件→2件→1件の順に並んでほしいところです。これはソート機能の不具合なのでしょうか。それならまだいいです。いちユーザーとしては、DL数が正しく集計されているのか心配になります。

なお「ダウンロードの少ない順」のソートですが、単純に「ダウンロードの多い順」をひっくり返した順序にはなりません*2

この謎はいったん見なかったことにし、ダウンロードの多い順に並ばない原因について憶測を並べ立ててみたいと思います。

 

検討:ソート順に関係するかもしれない項目

各写真ごとに表示されているデータには、以下のものがあります。

・ID

・アクセス数

・ダウンロード数

・NICE!数

 

このうちIDは、まず登録順ソートの時に利用されていると思います。IDは重複しないでしょうから他の条件を併用せずにIDの大小だけでソートできるはずです。

アクセス数は常に0件表示で、マスクデータのようなものであり、影響があるとしても判断のしようがありません。通算のPV数はランキング画面で表示できるのだから、集計自体は機能していると思われますが……。怪しいといえば怪しいです。

ダウンロード数は間違いなくソート順に影響しているわけです。なぜ必ずしもダウンロード数順に並ばないのかが問題なわけです。IDだけで並べられる登録順ソート(必ず1番,2番,3番…と並ぶ)と比べると、ダウンロード数は数値の重複(ある画像は2件DL、次の画像も2件DL、次も…)を想定しているでしょうから、DL数が同値である場合に仕事をするソート条件があるはずです。そのソート条件がDL数条件より優先されてしまう場合があって、ソートの乱れが生じている可能性もあります。個人的にはDL数が同値ならばIDで順序を判断すればよいと思うのですが、現実のソート結果を見るとそのような方法は採用していないようです。

 NICE!数はおそらく全く影響しないものと思われます。単なるNICE!数順には並びませんし、DL数+NICE!数といった順序でもありません。NICE!が増えたからといって、ソート順が変動することもありません。

これらの数字のうちで影響を与えているとしたら、ダウンロード数はもちろんとして、もしかするとアクセス数が何か関与しているかもしれません。ただし、アクセス数の影響については事実上検証不可能な状態です。写真ACチャットボット*3の説明によると、アクセス数の表示は不具合として扱われているようなので、いずれご対応頂きたいものです。

現時点では、表示されている数字だけに注目しても、納得のいく結論は得られそうにありません。

 

検討:DL数が変化してもソート順位が変動しない場合がある

DL数が0→1に変動したときに、きちんとソート順に反映される場合と、順位が変わらない場合があります。印象論でしかありませんが、投稿して早くにダウンロードされた画像は、正しいソート順が反映されやすいように思います。逆に初回ダウンロードまで時間を要した画像は、ソート時の順位が変動しにくいように見えます。実例としてDL数が3件に達したにも関わらず、DL数0件の画像に埋もれている場合さえありました。

時系列が影響しているとすればIDに注目したいところなのですが、前述したようにDL数が同値ならID順に並ぶというわけでもありません。

 

検討:ソート順の変動タイミング

ソート順が変更されるタイミングにも気になるところがあります。ソート順の変更が生じるのは、ほぼ間違いなく実際にダウンロードが実行されたタイミングです。DLされた写真のページを閲覧すると「○○分前にダウンロードされました」と表示されますが、表示上のDL件数は変動せず、ソート時の表示順のみが変化します。この状況では、一時的にソート後の並びとDL件数表示は一致しなくなります。DL件数の表示が更新されるのはダウンロード当日深夜のようです。なお、本稿サンプル画像のケースは、ダウンロードから数日経過しており、一時的な不一致というわけではありません。

ただ、表示上のDL数と実際のDL数が必ずしも一致しないケースがあるということは、並び順の謎を解く上でヒントになるかもしれません。

 

行動:分からなければ直接確かめてみよう

いったいどのようにソート順位が決められているのか?

DL数は正しく反映されているのか?

判断材料に乏しいため、下記のように問い合わせをしてみることにしました。

投稿写真一覧で「ダウンロードの多い順」に並び替えた時、必ずしもダウンロード数の順に並びませんが、どういった条件でのソートが行われているのでしょうか? ※ダウンロード数が1件でもダウンロード数2~3件の写真より上に来たり、0件の写真より下の場合がある。

問い合わせ時期は8月上旬でしたが、今の時点で返答はありません。ただ、別件の問い合わせで、もしかするとヒントになるかもしれない回答がありました。

ダウンロード数は、集計期間内に同じユーザーから同じデータの素材をダウンロードされている場合、2枚目以降はカウントされません。

2枚目以降はカウントされないというところが気になります。

ダウンロードは実行されているものの数字には表れないということですね。

 

推測による結論:隠れたDL数がある?

同じユーザーに繰り返しダウンロードして頂いた場合、表示上のDL数に表れない隠れDL数とでもいうべき変数が発生しているのかもしれません。隠れDL数をカウントしてのソートであるとしたら、通常期待する結果とズレが生じてしまうのもわかる気がします。例えばサンプル画像の例であれば表面上は2→4→1件ですが、同じユーザーによるDL数を勘定に入れると実は4→4→4件とか5→4→3件という状態なのかもしれません。ユーザーには知る術がないだけで。

これは仮説の域を出ませんが、もしも正解なのであれば、有効でないDL数を集計に含めてソートする必然性はないですから、ユーザー観点的に不具合ないし改善点として扱うべきだと思います。実際に表示されるDL数の並びになるよう、ソートすればいいわけですから。

この隠れDL数仮説を肯定するならば、並び順の謎の原因は、DL数じたいは仕様通り正しく集計されユーザーに提示されているものの、ソート時に限り無視すべきDL数が無視されていないということになりそうです。

実際には、この仮説にも当てはまりそうにないケースとして、たくさんDLされているのに順位が低いという状況があります。何らかの理由(アクセス数や投稿からの時間経過)により隠れDL数にマイナスが付与されると仮定すれば、一応説明できるのかなあという程度です。実際に5件DLされたのに、隠れDL数を考慮すると1件として扱われる感じですかね。これは隠れDL数というより、ユーザーには見えないソート順決定用の変数があると考えるべきかもしれません。

 

他の可能性は?

隠れDL数仮説だと無理やりながら説明はつくのですが、その状況をそのまま放置する意味が分からないので、実際には複雑なソート条件があって、早々修正できないような内容である可能性が高そうです。公式からの回答があるまで特定は難しいと思います。

何か気付きがあれば、追記します。

 

ダウンロードの多い順にソートができるようになりました!(11/14追記)

意図的に修正したのか不具合として修正したのかわかりませんが、ダウンロードの数字通りソートできるようになったようです。この記事が影響したかどうか定かではありませんが、甲斐があったような気がします。

 

 

*1:ちなみに見切れているID:1136488はDL数1件

*2:「ダウンロードの少ない順」に0なら0、1なら1のまとまりを作り、そのまとまりじたいを件数順に並べたような順序(バケットソートの考え方に見える)です。例えば上記サンプル画像の4画像は、ダウンロードの少ない順のソートでも全く同じ順序で表示されます。逆の順序にはなっていないのです。推測が正しければ、サンプル画像の4画像は同じ件数のグループ(バケツ)として扱われているということでしょう。問題の核心は、違うDL数の画像がなぜか同じDL数のグループとしてソートされるケースがある。ということなのかな?

*3:お困りですか?