# 「사용자 참여 통계」 쿼리의 통계 값이 일치하지 않음

**URL:** https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569
**Category:** Data & reporting
**Tags:** sql-query
**Created:** [11월 14, 2022, 9:01오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569 "2022-11-14T21:01:30Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![michellefs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/michellefs/32/234543_2.png) [@michellefs](https://meta.discourse.org/u/michellefs)
#### Post date: [11월 14, 2022, 9:01오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/1 "2022-11-14T21:01:30Z")

</div>

왜 제 리포트가 몇 달째 동일한 결과를 보여주고 있나요? 커뮤니티 시작 이후의 활동 기준으로 리포트를 실행하고 있습니다. 그동안 커뮤니티의 활동은 점점 더 활발해졌는데도 말이죠.

예를 들어, 한 사용자는 쿼리 결과에서 **271** 개의 토픽을 조회한 것으로 나타나지만, 해당 사용자의 프로필 요약에는 **1.2k** 개의 토픽을 조회한 것으로 표시되어 있습니다.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [11월 15, 2022, 6:58오전 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/2 "2022-11-15T06:58:15Z")

</div>

여기에서 쿼리를 간단히 실행해 보니 ‘기간’ 값을 변경할 때 통계가 업데이트되므로, 어딘가에서 멈추고 있지는 않은 것으로 보입니다. 또한 90일 기간으로 실행해 보고, 해당 기간 내에 주요 활동이 있었던 비교적 신규 사용자와 비교해 보았는데, 해당 사용자의 통계가 요약 정보와 일치했습니다.

재현을 위해 추가로 확인할 수 있는 사항이 있을까요?

---

<div class="post-metadata">

### Author: ![michellefs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/michellefs/32/234543_2.png) [@michellefs](https://meta.discourse.org/u/michellefs)
#### Post date: [11월 15, 2022, 6:01오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/3 "2022-11-15T18:01:10Z")

</div>

혹시 한 가지 설명을 요청할 수 있을까요?

439일 전부터 시작하는 쿼리를 실행해 보고 있습니다(테스트로 특정 사용자의 가입일을 기준으로 하고 있습니다). 기간도 같은 439일로 설정했습니다. 이렇게 하면 가입 이후의 모든 참여 데이터가 포함될 줄 알았지만, 실제 데이터는 그렇지 않습니다.

이를 어떻게 구현할 수 있을까요?

---

<div class="post-metadata">

### Author: ![michellefs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/michellefs/32/234543_2.png) [@michellefs](https://meta.discourse.org/u/michellefs)
#### Post date: [11월 15, 2022, 6:29오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/4 "2022-11-15T18:29:44Z")

</div>

또한, 439일 전부터 현재까지의 사용자 참여 통계 쿼리는 해당 시점에 이미 가입되어 활동 중이었던 회원만 포함하는 것으로 보입니다. 그 이후에 가입하여 해당 기간 내에 활동한 회원들의 참여 데이터는 포함되지 않습니다.

필요한 데이터를 포착할 수 있도록 보고서를 커스터마이징하는 데 도움을 주실 수 있나요? SQL은 기초 수준만 알고 있습니다.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [11월 15, 2022, 6:39오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/5 "2022-11-15T18:39:22Z")

</div>

보고서를 살펴보면 `visits` 순서로 정렬되어 있고, 방문 횟수가 가장 많은 항목이 상단에 표시되는 것 같습니다. 따라서 선택한 시간 범위 중간에 가입한 사용자는 목록의 하단에 위치하게 됩니다(표시되는 목록은 1,000개로 제한되어 있지만, 결과를 CSV로 내보내면 10,000개까지 가져올 수 있다고 생각합니다).

다만, 맞춤형 쿼리를 작성해 드릴 수 있습니다. 👍 정확히 어떤 데이터를 찾고 계신가요?

---

<div class="post-metadata">

### Author: ![michellefs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/michellefs/32/234543_2.png) [@michellefs](https://meta.discourse.org/u/michellefs)
#### Post date: [11월 15, 2022, 7:21오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/6 "2022-11-15T19:21:20Z")

</div>

> [@JammyDodger](#):
>
> 결과를 CSV로 내보내면 10,000건을 가져올 수 있을 것 같아요

아직 회원 수가 그 정도는 안 되는데… 어쨌든 그 점은 괜찮습니다.

> [@JammyDodger](#):
>
> 다만, 맞춤형 쿼리를 작성해 볼 수는 있습니다.

_좋아요!_

> [@JammyDodger](#):
>
> 정확히 어떤 데이터를 찾고 계신가요?

확인해 주시면 좋은 점은 각 열(column)이 어떻게 계산되는지입니다. CSV와 회원의 프로필 요약(Profile Summary) 페이지에 표시된 데이터 사이에 불일치가 있습니다. (참고: 쿼리 날짜가 회원 가입 기간과 일치하는 경우에만 이 두 가지 서로 다른 데이터 집합을 비교하고 있습니다.)

1. 쿼리 기간 중 언제 가입했든, 1회 이상 방문한 모든 회원의 참여 통계
2. 새 커뮤니티 출시 이후 누적 참여도를 보여주기 위해 매월 말에 통계를 가져옵니다.

쿼리의 _:from\_days\_ago_ 및 _:duration\_days_ 시간 범위를 고려할 때, 우리가 원했던 데이터가 이 방식으로 생성된 것이라고 생각했습니다.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [11월 16, 2022, 12:11오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/7 "2022-11-16T12:11:25Z")

</div>

> [@michellefs](#):
>
> 각 열이 어떻게 계산되는지 명확히 하면 도움이 될 것 같습니다. CSV 파일과 멤버의 프로필 요약 페이지에 표시된 데이터 사이에 불일치가 있습니다(참고: 쿼리 날짜가 멤버의 가입 기간과 일치하는 두 가지 다른 데이터 세트만 비교했습니다).

오늘 아침에 더 많은 정보를 찾아보기 위해 살펴보고 있었습니다. 제 경우 498일 전(제 시작 날짜 🙂)으로 돌아가면 타임아웃이 발생하지만, 1년 치 데이터를 가져오는 데는 성공했으므로 User Stats와 대략적으로 비교할 수 있습니다. 👍 (몇 시간 치의 데이터 차이 정도는 있을 수 있습니다)

 ![image](https://global.discourse-cdn.com/meta/original/4X/5/b/b/5bb6e96211240047ee3aefa263a722f5b529515f.png)

 ![image](https://global.discourse-cdn.com/meta/original/4X/d/2/d/d2d9b4d537952da152807079ee11111e05e20c91.png)

두 데이터 사이에는 `posts_created`, `topics_created`, `likes_given`, `likes_received`에 차이가 있습니다. SQL을 자세히 살펴보니 User Participation Statistics 쿼리가 삭제된 게시물, 속삭임, PM을 제외하지 않는 것 같으며, 이것이 차이의 원인이 될 수 있습니다.

반면 `topics_viewed`와 `posts_viewed`는 두 경우 모두 꽤 정확한 것 같습니다. 👍

왜 일부 사용자들이 표시되지 않는지 모르겠습니다. 제가 볼 수 있는 유일한 제외 기준은 시간 창 내에서 0개 이상의 게시물을 읽어야 한다는 점인데, 이는 스테이지드(검토 대기) 사용자가 아니라면 거의 모든 사람을 포함해야 합니다.

```sql

pr AS (
    SELECT user_id, COUNT(1) AS visits,
        SUM(posts_read) AS posts_read
    FROM user_visits, t
    WHERE posts_read > 0
        AND visited_at > t.START
        AND visited_at < t.END
    GROUP BY
        user_id

```

더 많은 것을 찾아낼 수 있도록 계속 조사해 보겠습니다. 🙂 👍

---

<div class="post-metadata">

### Author: ![michellefs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/michellefs/32/234543_2.png) [@michellefs](https://meta.discourse.org/u/michellefs)
#### Post date: [11월 16, 2022, 4:52오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/9 "2022-11-16T16:52:18Z")

</div>

저의 불일치는 그 반대입니다. 쿼리 번호가 더 크지 않고 더 작습니다.

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/5/5/255d45c60def211f5b8f4c63f5ae49bdc69dc4a1.png)

**:from\_days\_ago** 에 441, **:duration\_days** 에 441을 입력하면 아래 결과가 나옵니다. 같은 기간에 대한 이 보고서(적어도… 하이라이트된 사용자의 경우)와 비교해 보십시오.

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/2/a/22aeddef79a80e83042537153bb564c253fa6c8e.png)

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [11월 16, 2022, 5:16오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/10 "2022-11-16T17:16:19Z")

</div>

오늘부터 441일 전까지의 기간을 원하신다면, 값을 0과 441로 설정해야 한다고 생각합니다.

---

<div class="post-metadata">

### Author: ![michellefs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/michellefs/32/234543_2.png) [@michellefs](https://meta.discourse.org/u/michellefs)
#### Post date: [11월 16, 2022, 5:24오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/11 "2022-11-16T17:24:28Z")

</div>

🤦🏽‍♀️ 답변을 주시려는 바로 몇 분 전에야 깨달았어요, 하하. 인내해 주셔서 감사합니다.

…

**:from\_days\_ago** 를 0으로 바꾸니 모든 게 다 이해가 되네요!! 🥳

제 뇌가 :duration\_days에 대해 시간 순서대로 작동하고 있었던 것 같아요. :from\_days\_ago가 쿼리가 데이터를 가져오는 첫 번째 날이라고 생각했고, 그 후로 시간 순서대로 진행될 것이라 여겼거든요(즉, 441일 전, 440일 전, 439일 전의 데이터부터 현재까지). 그런데 역순으로 데이터를 가져오는 거였네요. 이제 알겠어요!

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [11월 16, 2022, 5:47오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/12 "2022-11-16T17:47:07Z")

</div>

하하. 걱정 마. 🙂 그 보고서를 공부하면서 꽤 많이 배웠으니까, 그래도 꽤 유용했어. 🙂

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [12월 16, 2022, 5:48오후 UTC](https://meta.discourse.org/t/inconsistent-stats-from-the-user-participation-statistics-query/245569/13 "2022-12-16T17:48:05Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
