Skip to content

LittleGreenViper/RecovrrStats

Repository files navigation

RECOVRR STATISTICS VIEWER APP

An iOS app designed to read and interpret the anonymized logfile generated by the server component of the Recovrr.org iOS app.

Overview

The app is a very simple, one-screen SwiftUI app, displaying statistics as a table (summary), or simple bar charts.

NOTE: This app is not designed for release via the App Store. It is an internal tool, for use by the Recovrr.org team.

It reads the Recovrr.org app stats file (described below), does some interpretation, and allows the user to view a historical overview of the Recovrr.org app's user population, and administrative action.

Everything is completely anonymized. No indvidual user or administrative information is stored or accessible.

Operation

The app is quite simple. Upon opening, it reads in the latest stats file from the server, and prepares the Summary Screen, and the Stats Chart Screens, to reflect the current stats file.

NOTE: The Stats File is updated every twelve hours (at midnight and noon), so it may not reflect the app state as it is, right now. The first sample was taken at midnight, on October 15, 2024.

The charts can be zoomed (pinch and spread to zoom). This zooms into the horizontal axis (date). Once a chart is zoomed, all the other charts will display in the same time window. You can zoom out (pinch in from spread), or open the Summary Screen, which resets the zoom to the full date range.

You can swipe across the chart, to select individual days, and the values for the selected day is displayed over the chart.

Screens

The App and the Summary Screen

Light Mode Dark Mode
Figure 1 Figure 2
Figure 1: The App Figure 2: The App
Figure 3 Figure 4
Figure 3: The Summary Screen Figure 4: The Summary Screen

The Charts (All Light Mode)

User Totals User Totals (Zoomed In)
Figure 5 Figure 6

This screen shows the total number of users, at the time the sample was taken. Each day is the noon measurement.

Signup Activity Account Deletions
Figure 7 Figure 8

The first screen is a record of signup requests, and their administrative resolution. Administrators may approve a signup request (green), or deny it (orange).

The second screen is a record of accounts that were deleted by administrators. We have a policy that New User accounts (not yet logged in), cannot be older than thirty days, and active user accounts must be used at least once per year.

User Activity (In the Last 24 Hours) User Activity (In the Last Week)
Figure 9 Figure 10

The first screen shows how how many users were active (logged in), at least once, during a 24-hour period.

The second screen shows how many users logged in at least once, between 24 hours previous, and seven days (a week). It does not include users that logged in with the 24-hour period.

User Activity (In the Last 30 Days) User Activity (90 Days or More)
Figure 11 Figure 12

These screens behave similarly, for users that have logged in during a 30-day period, or have logged in, from 90 days, up to a year (at which time they get deleted).

The Stats File

File URL: https://recovrr.org/recovrr/log/stats.csv

The file is a "snapshot" CSV log of a system that has users logging into a central server.

The file is generated on the server end, reflecting user status and administrative actions, with snapshots taken every 12 hours, at midnight (00:00:00), and noon (12:00:00), server time (East Coast US).

Users of the Recovrr.org app can have a location (long/lat), associated with their account. It is possible for them to not select a location. If they do have a location, it is possible for them to hide their location from other users.

All the statistics are anonymized and aggregated. Every 12 hours, a new row is appended to the end of the CSV file.

The Recovrr.org system has a "gatekeeper" administrator, that reviews and approves (or rejects) signup requests.

Users request a signup from the Recovrr.org app, and administrators are notified, when a signup request is made.

Unless a signup is approved, the user cannot log in.

Once a signup has been approved, the user is considered a "New User," until they have logged in, at least once. At that time, they are considered an "Active User."

"New Users" have limited discoverability by other users of the Recovrr.org app.

User States

These are the following basic states for users (or potential users) of the system:

  • Open Signup Request

    A potential user has requested an account for the system, and a signup request has been added to the end of a queue. An administrator must either approve or reject the signup request.

  • Approved Signup Request

    An administrator has approved a signup request. This means that a new user has been added to the system, and the request has been removed from the signup request queue.

  • Rejected Signup Request

    An administrator has rejected a signup request. The request is removed from the signup request queue, and no new user is added to the system.

  • New User

    This is a new user that has been created in response to an approved signup request. The user has not yet logged into the system, but has been sent an email, with their login details. A new user has 30 days from approval, to log in. Otherwise, their account may be deleted by an administrator.

  • Active User

    This is a user that has logged in at least once, after approval. We keep track of their last login. An active user must log in once a year (or more frequently). Otherwise, their account may be deleted by an administrator. Active users can delete their own accounts, which completely removes them from the system. We do not track these deletions, but they can be inferred, from the totals in the file.

Column Legend

These are the actual CSV columns in the file. All values are positive integers.

  • sample_date

    This is the date the sample was taken, in UNIX Epoch Time (Seconds since 1970-01-01 00:00:00).

  • total_users

    This is the current total of active and new users on the system. This does not include signup requests. It is a current (non-cumulative) total.

  • new_users

    This is the current total of new users on the system. It is a current (non-cumulative) total. It does not include signup requests. New users have had their signup request approved, but have never logged in, since having it approved.

    NOTE: In order to calculate active users (users that have logged in, at least once), simply subtract new_users from total_users.

  • never_set_location

    This is the current total of users (both active and new) that have never set a location. It is a current (non-cumulative) total. This is different from hiding their location; In which case, there is no location at all.

  • total_requests

    This is the total number of requests for signups (open, approved, or rejected). It is a cumulative total.

  • accepted_requests

    This is the total number of requests for signups That have been approved by an administrator. It is a cumulative total.

  • rejected_requests

    This is the total number of requests for signups That have been rejected by an administrator. It is a cumulative total.

  • open_requests

    This is the current (non-cumulative) total of signup requests that exist on the signup request queue (have yet to be addressed by an administrator).

  • active_1

    This is the total number of active users that have logged in at least once, within the last 24 hours.

  • active_7

    This is the total number of active users that have logged in at least once, within the last 7 days.

  • active_30

    This is the total number of active users that have logged in at least once, within the last 30 days.

  • active_90

    This is the total number of active users that have logged in at least once, within the last 90 days.

  • active_avg

    This is a simple average of the time since last login, for active users (in days).

  • deleted_active

    This is the cumulative total of active users that have been explicitly deleted by an administrator.

  • deleted_inactive

    This is the cumulative total of new users that have been explicitly deleted by an administrator.

LICENSE

This is a source-available proprietary app. The Recovrr-developed portions are not licensed for reuse.

About

iOS App for Reading Anonymized User Logs

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages