You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**NEW!** Try out our new standalone [bitmapist-server](https://github.com/Doist/bitmapist-server), which improves memory efficiency 443 times and makes your setup much cheaper to run (and more scaleable). It's fully compatiable with bitmapist that runs on Redis.
5
+
# Bitmapist: a powerful analytics library for Redis
7
6
8
-
# bitmapist: a powerful analyticslibrary for Redis
7
+
Bitmapist makes it possible to implement real-time, highly scalable analytics. The library is very easy to use, enabling you to create reports easily.
9
8
10
-
This Python library makes it possible to implement real-time, highly scalable analytics that can answer following questions:
9
+
Leveraging Redis bitmaps, you can store events for millions of users using a very little amount of memory (megabytes).
11
10
12
-
* Has user 123 been online today? This week? This month?
13
-
* Has user 123 performed action "X"?
14
-
* How many users have been active this month? This hour?
15
-
* How many unique users have performed action "X" this week?
16
-
* How many % of users that were active last week are still active?
17
-
* How many % of users that were active last month are still active this month?
18
-
* What users performed action "X"?
11
+
> [!TIP]
12
+
> Instead of Redis as a backing store, consider using [bitmapist-server](https://github.com/Doist/bitmapist-server).
13
+
>
14
+
> It is our custom data store that exposes a (partial) Redis-compatible API, fully compatible with Bitmapist. It is 443x more memory efficient for this particular use case, improving scalability and cost-effectiveness.
19
15
20
-
This library is very easy to use and enables you to create your own reports easily.
16
+
## Use cases
21
17
22
-
Using Redis bitmaps you can store events for millions of users in a very little amount of memory (megabytes).
23
-
You should be careful about using huge ids as this could require larger amounts of memory. Ids should be in range [0, 2^32).
18
+
Bitmapist can answer questions like:
24
19
25
-
Additionally bitmapist can generate cohort graphs that can do following:
26
-
* Cohort over user retention
27
-
* How many % of users that were active last [days, weeks, months] are still active?
28
-
* How many % of users that performed action X also performed action Y (and this over time)
29
-
* And a lot of other things!
20
+
- Has user 123 been online today? This week? This month?
21
+
- Has user 123 performed action "X"?
22
+
- How many users have been active this month? This hour?
23
+
- How many unique users have performed action "X" this week?
24
+
- How many % of users that were active last week are still active?
25
+
- How many % of users that were active last month are still active this month?
26
+
- What users performed action "X"?
30
27
31
-
If you want to read more about bitmaps please read following:
28
+
Additionally, it can generate cohort graphs that can do following:
When using Bit Operations (ie `BitOpAnd`) you can (and probably should) delete the results unless you want them cached. There are different ways to go about this:
With bitmapist cohort you can get a form and a table rendering of the data you keep in bitmapist. If this sounds confusing [please look at Mixpanel](https://mixpanel.com/retention/).
302
290
303
291
Here's a simple example of how to generate a form and a rendering of the data you have inside bitmapist:
292
+
304
293
```python
305
294
from bitmapist import cohort
306
295
@@ -328,14 +317,22 @@ This will render something similar to this:
0 commit comments