Releases: jansorg/marketplace-stats-kotlin
Releases · jansorg/marketplace-stats-kotlin
v0.21.4
v0.21.3
v0.21.2
What's Changed
- fix: fetch 1 month of sales and trials instead of 3 months at once by @jansorg in #103
- fix: the most recent sales and trials were not loaded after 30 minutes by @jansorg in #102
- chore: add missing requests to the marketplace client by @jansorg in #104
- fix: reorder columns of license table for better readability by @jansorg in #105
- fix: tooltip on plugin rating value by @jansorg in #106
Full Changelog: v0.21.1...v0.21.2
v0.21.1
v0.21.0
It's now possible to configure a display currency. Sales and numbers based on it can now be displayed in your local currency, e.g. EUR
, JPY
, ILS
, or similar. Currency amounts are converted with the exchange rates provided by the European Central Bank.
This release also changes existing functionality:
- trial conversion rate is now based on the plugin's configured trial length. The displayed conversion rates of the most recent months can change as long as there are active trials by users. Previously, the conversion only included trials which ended in the displayed month and the value was too low.
- there were a few more fixes for mrr/arr calculation, it should be (almost?) accurate now. Sales are now tracked per currency, which should be more accurate than using the USD amounts.
What's Changed
- Improve MRR and ARR, support display currency by @jansorg in #66
- Change "Converted Trials" to the number of trials converted within the configured trial duration by @jansorg in #70
- Improve performance of initial load and page rendering by @jansorg in #71
- feat: extend tooltip on trial conversion rate of overview table by @jansorg in #72
- feat: show error page when requests to the JetBrains Marketplace fail by @jansorg in #90
- regression: fix missing items in trial funnel table by @jansorg in #91
- fix: request less sales info and trials info at once to prevent gateway timeouts by @jansorg in #92
- fix: show the no vale placeholder for zero trials in the year summary table by @jansorg in #93
- fix: show "Individual" instead of "Personal" for customer type by @jansorg in #94
- fix: sort order of "Today" and "Yesterday" is now fixed by @jansorg in #95
- regression: don't expose sales between plugins by @jansorg in #96
- feat: better caching of Marketplace data by @jansorg in #97
- fix: drop cached exchange rates on refresh by @jansorg in #98
- fix: if two licenses are processed for mrr/arr in the same date range, keep the one with the later end by @jansorg in #99
- chore: cache fixes by @jansorg in #100
Full Changelog: v0.19.0...v0.21.0
v0.19.0
v0.18.0
This PR contains experimental changes for MRR and ARR values.
The calculation of MRR and ARR is implemented like this:
- the current base price of the plugin is fetched
- all licenses active in a month or year are fetched
- for all of the licenses the continuity discount of the next month or year is calculated
- for all of the licenses the other applied discounts are retained and applied again when added to the MRR/ARR value
- for each license, 85% (i.e. the paid amount after JetBrains comnission) of base price - continuity discount - other discounts is added to the MRR/ARR value
Important for MRR/ARR:
- Over time, MRR/ARR can decrease even with the same customers because a higher continuity discount may be applied
- Monthly invoices can be different to the MRR value because users could prepay, for example. If a user prepays, the invoice would be higher than the MRR in the first month, but lower than the MRR in the next months (until the next payment)
- This is still experimental. Be careful with the numbers and double-check :)
- If you changed the base price of your plugin, then MRR/ARR values calculated for the past before the change are based on the new prices. I'm considering a setting to provide the historic plugin prices because they're unavailable in the API.
- The values are currently calculated based on the USD base price. Currency exchange rates etc. are not part of the calculation. Currently, for customers in the EU (with prices in EUR) the used base price is still USD.
What's Changed
- Add missing requests in the API client by @jansorg in #59
- feat: implement pricing page by @jansorg in #60. This page is subject to change. Please let me know if you find it useful or not. It provides a overview what customers are charged incl. taxes, for example.
- feat: show summary of past 7 days instead of current week by @jansorg in #61
- feat: experimental values for MRR and ARR. Likely to change. by @jansorg in #62
- The summary of months now shows active licenses and active, paid licenses instead of customers. The number of customers is misleading, e.g. when a company buys many licenses.
- The churn rates are already based on licenses.
- The fee column was dropped from the summary of months to gain more space.
- Please report an issue if you need any of the removed or changed numbers
Full Changelog: v0.17.0...v0.18.0
v0.17.0
What's Changed
- feat: join tables of countries and trial countries by @jansorg in #52
- feat: show default sort order indicator for sorted tables by @jansorg in #53
- fix: rendering issues of "top countries" on the main page by @jansorg in #54
- fix: don't show type of trial for "Trials Today". by @jansorg in #55
- fix: tables "Today" and "Yesterday" did not refresh the day after the server was launched by @jansorg in #56
- feat: show trials in overview tables "Today" and "Yesterday", drop table "Trials Today" by @jansorg in #57
- fix: regression in "Top Trial Countries" table display by @jansorg in #58
Full Changelog: v0.16.0...v0.17.0