Загальна кількість, унікальні користувачі й пастки підрахунку
Чому той самий тиждень даних дає різну кількість «активних користувачів» і як рахувати правильно.
Урок 2 з 32~22 хв навчанняЗ них ~13 хв на запитання та завдання
Зміст1 із 39 кроків
Maya
Ви
Alex Tutor
Alex Tutor
Набір даних · 147 рядків
Лог подій Halves, 1–7 червня (147 рядків)
Усі події за минулий тиждень у порядку часу. Час в UTC.
- Стовпці
- event_time
- Коли це сталося, в UTC
- user_id
- Хто: акаунт у Halves
- event
- Що сталося: app_opened, expense_added або settle_up_recorded
- platform
- Де записано подію: ios, android або server
- entry_method
- Лише для expense_added: manual, receipt_scan або recurring (створює сервер)
- amount_usd
- Сума в доларах США для витрат і розрахунків
- settlement_id
- Лише для settle_up_recorded: до якого розрахунку належить рядок
Дані
| event_time | user_id | event | platform | entry_method | amount_usd | settlement_id |
|---|---|---|---|---|---|---|
| 2026-06-01T06:00:00Z | u001 | expense_added | server | recurring | 420 | |
| 2026-06-01T06:00:00Z | u005 | expense_added | server | recurring | 420 | |
| 2026-06-01T06:00:00Z | u015 | expense_added | server | recurring | 55 | |
| 2026-06-01T06:01:00Z | u001 | expense_added | server | recurring | 38 | |
| 2026-06-01T06:01:00Z | u015 | expense_added | server | recurring | 650 |
Показати ще 142 рядки
| 2026-06-01T06:41:00Z | u008 | app_opened | ios | |||
| 2026-06-01T06:44:00Z | u007 | app_opened | ios | |||
| 2026-06-01T06:46:00Z | u007 | expense_added | ios | receipt_scan | 116 | |
| 2026-06-01T07:29:00Z | u019 | app_opened | ios | |||
| 2026-06-01T07:30:00Z | u019 | expense_added | ios | manual | 1 | |
| 2026-06-01T07:38:00Z | u002 | app_opened | android | |||
| 2026-06-01T07:39:00Z | u002 | expense_added | android | manual | 1 | |
| 2026-06-01T09:39:00Z | u002 | app_opened | android | |||
| 2026-06-01T09:40:00Z | u002 | expense_added | android | receipt_scan | 1 | |
| 2026-06-01T09:43:00Z | u019 | app_opened | ios | |||
| 2026-06-01T09:44:00Z | u019 | expense_added | ios | manual | 1 | |
| 2026-06-01T15:32:00Z | u008 | app_opened | ios | |||
| 2026-06-01T16:36:00Z | u020 | app_opened | android | |||
| 2026-06-01T16:38:00Z | u020 | expense_added | android | manual | 35 | |
| 2026-06-01T22:09:00Z | u009 | app_opened | ios | |||
| 2026-06-01T22:11:00Z | u009 | expense_added | ios | manual | 19 | |
| 2026-06-02T02:39:00Z | u018 | app_opened | ios | |||
| 2026-06-02T07:11:00Z | u002 | app_opened | android | |||
| 2026-06-02T07:12:00Z | u002 | expense_added | android | manual | 1 | |
| 2026-06-02T07:25:00Z | u019 | app_opened | ios | |||
| 2026-06-02T07:26:00Z | u019 | expense_added | ios | manual | 1 | |
| 2026-06-02T08:31:00Z | u016 | app_opened | ios | |||
| 2026-06-02T09:44:00Z | u019 | app_opened | ios | |||
| 2026-06-02T09:45:00Z | u019 | expense_added | ios | receipt_scan | 1 | |
| 2026-06-02T09:46:00Z | u002 | app_opened | android | |||
| 2026-06-02T09:47:00Z | u002 | expense_added | android | manual | 1 | |
| 2026-06-02T15:05:00Z | u018 | app_opened | ios | |||
| 2026-06-02T16:07:00Z | u014 | app_opened | ios | |||
| 2026-06-02T16:09:00Z | u014 | expense_added | ios | manual | 31 | |
| 2026-06-02T16:49:00Z | u004 | app_opened | ios | |||
| 2026-06-02T16:51:00Z | u004 | expense_added | ios | manual | 34 | |
| 2026-06-02T18:49:00Z | u014 | app_opened | ios | |||
| 2026-06-02T19:11:00Z | u004 | app_opened | ios | |||
| 2026-06-02T19:13:00Z | u004 | expense_added | ios | manual | 69 | |
| 2026-06-02T20:50:00Z | u020 | app_opened | android | |||
| 2026-06-02T23:10:00Z | u012 | app_opened | android | |||
| 2026-06-02T23:13:00Z | u012 | expense_added | android | manual | 19 | |
| 2026-06-02T23:14:00Z | u010 | app_opened | android | |||
| 2026-06-02T23:16:00Z | u010 | expense_added | android | receipt_scan | 8 | |
| 2026-06-03T02:30:00Z | u011 | app_opened | ios | |||
| 2026-06-03T02:33:00Z | u011 | expense_added | ios | manual | 89 | |
| 2026-06-03T07:14:00Z | u002 | app_opened | android | |||
| 2026-06-03T07:15:00Z | u002 | expense_added | android | manual | 1 | |
| 2026-06-03T07:53:00Z | u019 | app_opened | ios | |||
| 2026-06-03T07:54:00Z | u019 | expense_added | ios | manual | 1 | |
| 2026-06-03T09:19:00Z | u002 | app_opened | android | |||
| 2026-06-03T09:20:00Z | u002 | expense_added | android | manual | 1 | |
| 2026-06-03T09:37:00Z | u019 | app_opened | ios | |||
| 2026-06-03T09:38:00Z | u019 | expense_added | ios | manual | 1 | |
| 2026-06-03T10:02:00Z | u004 | app_opened | ios | |||
| 2026-06-03T10:04:00Z | u004 | expense_added | ios | manual | 105 | |
| 2026-06-03T10:07:00Z | u004 | settle_up_recorded | ios | 152 | s002 | |
| 2026-06-03T15:46:00Z | u018 | app_opened | ios | |||
| 2026-06-03T15:48:00Z | u018 | expense_added | ios | manual | 66 | |
| 2026-06-03T16:39:00Z | u021 | app_opened | ios | |||
| 2026-06-04T01:40:00Z | u017 | app_opened | ios | |||
| 2026-06-04T01:43:00Z | u017 | expense_added | ios | manual | 59 | |
| 2026-06-04T02:31:00Z | u008 | app_opened | ios | |||
| 2026-06-04T02:33:00Z | u008 | expense_added | ios | manual | 49 | |
| 2026-06-04T07:08:00Z | u019 | app_opened | ios | |||
| 2026-06-04T07:09:00Z | u019 | expense_added | ios | manual | 1 | |
| 2026-06-04T07:35:00Z | u002 | app_opened | android | |||
| 2026-06-04T07:36:00Z | u002 | expense_added | android | receipt_scan | 1 | |
| 2026-06-04T09:03:00Z | u002 | app_opened | android | |||
| 2026-06-04T09:04:00Z | u002 | expense_added | android | receipt_scan | 1 | |
| 2026-06-04T09:24:00Z | u019 | app_opened | ios | |||
| 2026-06-04T09:25:00Z | u019 | expense_added | ios | manual | 1 | |
| 2026-06-04T10:35:00Z | u020 | app_opened | android | |||
| 2026-06-04T12:22:00Z | u013 | app_opened | ios | |||
| 2026-06-04T12:27:00Z | u013 | settle_up_recorded | ios | 185 | s004 | |
| 2026-06-04T18:10:00Z | u020 | app_opened | android | |||
| 2026-06-04T18:12:00Z | u020 | expense_added | android | manual | 91 | |
| 2026-06-04T18:15:00Z | u020 | settle_up_recorded | android | 67 | s008 | |
| 2026-06-04T21:19:00Z | u013 | app_opened | ios | |||
| 2026-06-04T21:21:00Z | u014 | app_opened | ios | |||
| 2026-06-04T21:22:00Z | u014 | settle_up_recorded | ios | 185 | s004 | |
| 2026-06-04T23:48:00Z | u010 | app_opened | android | |||
| 2026-06-04T23:50:00Z | u010 | expense_added | android | manual | 95 | |
| 2026-06-05T02:13:00Z | u018 | app_opened | ios | |||
| 2026-06-05T02:15:00Z | u018 | expense_added | ios | manual | 36 | |
| 2026-06-05T06:24:00Z | u008 | app_opened | ios | |||
| 2026-06-05T06:26:00Z | u008 | expense_added | ios | manual | 101 | |
| 2026-06-05T07:17:00Z | u019 | app_opened | ios | |||
| 2026-06-05T07:18:00Z | u019 | expense_added | ios | manual | 1 | |
| 2026-06-05T07:21:00Z | u002 | app_opened | android | |||
| 2026-06-05T07:22:00Z | u002 | expense_added | android | receipt_scan | 1 | |
| 2026-06-05T09:11:00Z | u002 | app_opened | android | |||
| 2026-06-05T09:12:00Z | u002 | expense_added | android | manual | 1 | |
| 2026-06-05T09:40:00Z | u019 | app_opened | ios | |||
| 2026-06-05T09:41:00Z | u019 | expense_added | ios | receipt_scan | 1 | |
| 2026-06-05T12:36:00Z | u013 | app_opened | ios | |||
| 2026-06-05T12:37:00Z | u016 | app_opened | ios | |||
| 2026-06-05T12:39:00Z | u016 | expense_added | ios | manual | 40 | |
| 2026-06-05T12:44:00Z | u016 | app_opened | ios | |||
| 2026-06-05T14:27:00Z | u021 | app_opened | ios | |||
| 2026-06-05T14:29:00Z | u021 | expense_added | ios | manual | 11 | |
| 2026-06-05T15:23:00Z | u008 | app_opened | ios | |||
| 2026-06-05T15:25:00Z | u008 | expense_added | ios | receipt_scan | 84 | |
| 2026-06-05T18:05:00Z | u014 | app_opened | ios | |||
| 2026-06-05T18:30:00Z | u014 | app_opened | ios | |||
| 2026-06-05T18:32:00Z | u014 | expense_added | ios | manual | 64 | |
| 2026-06-05T21:03:00Z | u013 | app_opened | ios | |||
| 2026-06-05T21:05:00Z | u013 | expense_added | ios | manual | 17 | |
| 2026-06-06T00:05:00Z | u011 | app_opened | ios | |||
| 2026-06-06T00:08:00Z | u011 | expense_added | ios | manual | 73 | |
| 2026-06-06T05:40:00Z | u012 | app_opened | android | |||
| 2026-06-06T05:43:00Z | u012 | expense_added | android | manual | 21 | |
| 2026-06-06T08:32:00Z | u013 | app_opened | ios | |||
| 2026-06-06T14:21:00Z | u008 | app_opened | ios | |||
| 2026-06-06T14:23:00Z | u008 | expense_added | ios | receipt_scan | 16 | |
| 2026-06-06T16:08:00Z | u006 | app_opened | ios | |||
| 2026-06-06T16:10:00Z | u006 | expense_added | ios | receipt_scan | 41 | |
| 2026-06-06T18:05:00Z | u006 | app_opened | ios | |||
| 2026-06-06T18:07:00Z | u006 | expense_added | ios | receipt_scan | 22 | |
| 2026-06-06T18:10:00Z | u006 | settle_up_recorded | ios | 131 | s003 | |
| 2026-06-06T18:22:00Z | u013 | app_opened | ios | |||
| 2026-06-06T18:24:00Z | u013 | expense_added | ios | manual | 8 | |
| 2026-06-06T18:27:00Z | u013 | settle_up_recorded | ios | 138 | s005 | |
| 2026-06-06T19:01:00Z | u020 | app_opened | android | |||
| 2026-06-06T19:03:00Z | u020 | expense_added | android | manual | 6 | |
| 2026-06-07T02:38:00Z | u018 | app_opened | ios | |||
| 2026-06-07T02:40:00Z | u018 | expense_added | ios | manual | 32 | |
| 2026-06-07T02:43:00Z | u018 | settle_up_recorded | ios | 158 | s007 | |
| 2026-06-07T06:28:00Z | u003 | app_opened | ios | |||
| 2026-06-07T06:37:00Z | u007 | app_opened | ios | |||
| 2026-06-07T06:38:00Z | u007 | settle_up_recorded | ios | 158 | s007 | |
| 2026-06-07T10:04:00Z | u016 | app_opened | ios | |||
| 2026-06-07T10:05:00Z | u016 | settle_up_recorded | ios | 131 | s003 | |
| 2026-06-07T12:50:00Z | u021 | app_opened | ios | |||
| 2026-06-07T12:52:00Z | u021 | expense_added | ios | manual | 51 | |
| 2026-06-07T14:25:00Z | u018 | app_opened | ios | |||
| 2026-06-07T14:27:00Z | u018 | expense_added | ios | manual | 69 | |
| 2026-06-07T18:29:00Z | u003 | app_opened | ios | |||
| 2026-06-07T18:31:00Z | u003 | expense_added | ios | manual | 37 | |
| 2026-06-07T18:34:00Z | u003 | settle_up_recorded | ios | 69 | s001 | |
| 2026-06-07T19:14:00Z | u014 | app_opened | ios | |||
| 2026-06-07T19:16:00Z | u014 | app_opened | ios | |||
| 2026-06-07T19:18:00Z | u014 | expense_added | ios | manual | 15 | |
| 2026-06-07T19:21:00Z | u014 | settle_up_recorded | ios | 110 | s006 | |
| 2026-06-07T20:37:00Z | u022 | app_opened | ios | |||
| 2026-06-07T21:17:00Z | u022 | app_opened | ios | |||
| 2026-06-07T21:19:00Z | u022 | expense_added | ios | manual | 39 |
Alex Tutor
Набір даних · 22 рядки
Користувачі Halves у лозі (22 рядки)
Один рядок на кожен акаунт, що трапляється в лозі подій.
- Стовпці
- user_id
- Акаунт у Halves
- signup_date
- Дата створення акаунта
- platform
- Платформа телефона користувача: ios або android
- acquisition_channel
- Звідки користувач прийшов у Halves: invite, app_store_search, paid_social, referral_link або staff
- timezone
- Домашній часовий пояс користувача
- is_internal
- true для акаунта команди, false для клієнта; заповнено не завжди
Дані
| user_id | signup_date | platform | acquisition_channel | timezone | is_internal |
|---|---|---|---|---|---|
| u001 | 2026-04-23 | ios | invite | Europe/Kyiv | false |
| u002 | 2026-02-10 | android | staff | Europe/Kyiv | |
| u003 | 2026-05-10 | ios | paid_social | Europe/Kyiv | false |
| u004 | 2026-05-22 | ios | paid_social | Europe/Kyiv | false |
| u005 | 2026-04-20 | android | app_store_search | Europe/Kyiv | false |
Показати ще 17 рядків
| u006 | 2026-05-16 | ios | invite | Europe/Kyiv | false |
| u007 | 2026-05-08 | ios | referral_link | Asia/Bangkok | false |
| u008 | 2026-05-08 | ios | app_store_search | Asia/Bangkok | false |
| u009 | 2026-05-04 | ios | paid_social | Europe/Lisbon | false |
| u010 | 2026-05-29 | android | invite | America/New_York | false |
| u011 | 2026-05-28 | ios | invite | America/New_York | false |
| u012 | 2026-05-30 | android | invite | Asia/Bangkok | false |
| u013 | 2026-05-11 | ios | paid_social | Europe/Lisbon | false |
| u014 | 2026-05-30 | ios | referral_link | Europe/Kyiv | false |
| u015 | 2026-03-13 | android | invite | Europe/Kyiv | false |
| u016 | 2026-05-14 | ios | paid_social | Europe/Lisbon | false |
| u017 | 2026-06-01 | ios | paid_social | America/New_York | false |
| u018 | 2026-05-27 | ios | app_store_search | Asia/Bangkok | false |
| u019 | 2026-02-10 | ios | staff | Europe/Kyiv | true |
| u020 | 2026-05-06 | android | referral_link | Europe/Kyiv | false |
| u021 | 2026-05-12 | ios | app_store_search | Asia/Bangkok | false |
| u022 | 2026-05-11 | ios | app_store_search | Europe/Lisbon | false |
Ви
Alex Tutor
Alex Tutor
Питання 1
u014 уже відкривав Halves цього тижня. Наступного тижня та сама людина відкриває його на 10 разів більше, ніж зазвичай. Правда чи ні: зростуть і загальна кількість подій, і кількість унікальних користувачів.
Alex Tutor
platform = server, entry_method = recurring.Maya
Alex Tutor
Alex Tutor
Питання 2
Скористайся логом подій. Скільки унікальних користувачів хоча б раз відкрили застосунок (app_opened) за тиждень?
Одиниці: користувачів
Ви
Alex Tutor
Maya
is_internal. Відфільтруй за нею.Alex Tutor
is_internal порожній, бо хтось забув його заповнити. Видає його інша колонка у файлі користувачів.Alex Tutor
Питання 3
Тепер прибери всі акаунти команди, з позначкою чи без. Скільки реальних користувачів хоча б раз за тиждень відкрили застосунок?
Одиниці: користувачів
Theo
expense_added. Можна писати 60?Alex Tutor
Ви
recurring та обидва акаунти команди й рахую рядки?Alex Tutor
Alex Tutor
Питання 4
Theo потрібно «витрат, доданих людьми за минулий тиждень». Скільки з 60 рядків expense_added додали реальні користувачі в застосунку, без регулярних рахунків і акаунтів команди?
Одиниці: витрат
Ви
settle_up_recorded — 11.Alex Tutor
settlement_id.Maya
Alex Tutor
Alex Tutor
Питання 5
У лозі 11 рядків settle_up_recorded. Скільки розрахунків (платежів) вони описують?
Одиниці: розрахунків
Alex Tutor
Alex Tutor
Maya
Alex Tutor
Ви
Alex Tutor
Питання 6Коротка відповідь · Завдання з перевіркою ШІ
Напиши Maya 2–3 речення: чому «22 активні користувачі» за минулий тиждень — неправильне число і яке число поставити на слайд натомість, разом із визначенням.
Напишіть відповідь і отримайте оцінку та відгук від нашого ШІ-рецензента.
Увійдіть, щоб отримати відгук ШІAlex Tutor
Alex Tutor
На цьому все. Ви відповіли на всі завдання — чудова робота.