yeref 0.24.75__py3-none-any.whl → 0.24.77__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
yeref/yeref.py CHANGED
@@ -16528,9 +16528,22 @@ async def return_retention_metrics(bot, PROJECT_USERNAME, EXTRA_D, BASE_P):
16528
16528
  row.append(f"{row_sum:.1f}")
16529
16529
  writer.writerow(row)
16530
16530
 
16531
+ # вычисляем средний NRR-множитель (геометрическое среднее факторов роста)
16532
+ import math
16533
+ factors = []
16534
+ for c in cohort_months:
16535
+ for i in range(1, max_offset + 1):
16536
+ prev_rev = rev_by_cohort[c].get(i - 1, 0.0)
16537
+ curr_rev = rev_by_cohort[c].get(i, 0.0)
16538
+ if prev_rev > 0 and curr_rev > 0:
16539
+ factors.append(curr_rev / prev_rev)
16540
+ avg_multiplier = math.prod(factors) ** (1 / len(factors)) if factors else 1.0
16541
+
16542
+ writer.writerow([])
16543
+ writer.writerow([f"NRR ~ ×{avg_multiplier:.2f} monthly"])
16544
+
16531
16545
  thumb = types.FSInputFile(os.path.join(EXTRA_D, "parse.jpg"))
16532
16546
  await bot.send_document(chat_id=my_tid, document=types.FSInputFile(path), thumbnail=thumb)
16533
-
16534
16547
  except Exception as e:
16535
16548
  logger.info(log_ % str(e))
16536
16549
  await asyncio.sleep(round(random.uniform(0, 1), 2))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yeref
3
- Version: 0.24.75
3
+ Version: 0.24.77
4
4
  Summary: desc-f
5
5
  Author: john smith
6
6
  Dynamic: author
@@ -0,0 +1,8 @@
1
+ yeref/__init__.py,sha256=Qpv3o6Xa78VdLcsSRmctGtpnYE9btpAkCekgGhgJyXM,49
2
+ yeref/l_.py,sha256=LMX_olmJwq-tgoALJCnhV_fGrL_i_43yBLkLIcEVqGo,1176743
3
+ yeref/tonweb.js,sha256=Jf6aFOQ1OIY4q7fINYz-m5LsI3seMus124M5SYYZmtE,443659
4
+ yeref/yeref.py,sha256=ka1maF69m7NWWK0UjGjci1EFQn3CvnQhXisGddf0Ao4,1054032
5
+ yeref-0.24.77.dist-info/METADATA,sha256=SH2OItSohRofMdNzOSI2IpEUObp07pn8tgEepSgtvlE,119
6
+ yeref-0.24.77.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
7
+ yeref-0.24.77.dist-info/top_level.txt,sha256=yCQKchWHbfV-3OuQPYRdi2loypD-nmbDJbtt3OuKKkY,6
8
+ yeref-0.24.77.dist-info/RECORD,,
@@ -1,8 +0,0 @@
1
- yeref/__init__.py,sha256=Qpv3o6Xa78VdLcsSRmctGtpnYE9btpAkCekgGhgJyXM,49
2
- yeref/l_.py,sha256=LMX_olmJwq-tgoALJCnhV_fGrL_i_43yBLkLIcEVqGo,1176743
3
- yeref/tonweb.js,sha256=Jf6aFOQ1OIY4q7fINYz-m5LsI3seMus124M5SYYZmtE,443659
4
- yeref/yeref.py,sha256=kvDM8DViQJMT3WPDYBw2loFt1twrnA1Tec86WSuIplE,1053319
5
- yeref-0.24.75.dist-info/METADATA,sha256=UJirxHsM6wl6rsp_aFHQBpf0JYb8wLO6OZWfy7jqzto,119
6
- yeref-0.24.75.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
7
- yeref-0.24.75.dist-info/top_level.txt,sha256=yCQKchWHbfV-3OuQPYRdi2loypD-nmbDJbtt3OuKKkY,6
8
- yeref-0.24.75.dist-info/RECORD,,