Skip to content

Commit

Permalink
adding CPM calculations
Browse files Browse the repository at this point in the history
  • Loading branch information
gked committed Oct 9, 2024
1 parent 712f391 commit 1d12a4a
Show file tree
Hide file tree
Showing 9 changed files with 88 additions and 65 deletions.
14 changes: 7 additions & 7 deletions vuepress-starter/docs/.vuepress/.cache/deps/_metadata.json
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
{
"hash": "680eee46",
"hash": "811059f0",
"configHash": "ef91ecb6",
"lockfileHash": "c87d22ed",
"browserHash": "87dbf101",
"lockfileHash": "647c4151",
"browserHash": "a27d6945",
"optimized": {
"@vue/devtools-api": {
"src": "../../../../node_modules/@vue/devtools-api/lib/esm/index.js",
"file": "@vue_devtools-api.js",
"fileHash": "be0727ee",
"fileHash": "0cd402fc",
"needsInterop": false
},
"@vuepress/shared": {
"src": "../../../../node_modules/@vuepress/shared/dist/index.js",
"file": "@vuepress_shared.js",
"fileHash": "9ae4f614",
"fileHash": "33b29d11",
"needsInterop": false
},
"vue": {
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
"fileHash": "a0a75ee8",
"fileHash": "15f5234e",
"needsInterop": false
},
"vue-router": {
"src": "../../../../node_modules/vue-router/dist/vue-router.esm-bundler.js",
"file": "vue-router.js",
"fileHash": "e58a3644",
"fileHash": "fef20e50",
"needsInterop": false
}
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import comp from "/home/user/projects/bastyon/documentation/vuepress-starter/docs/.vuepress/.temp/pages/en/user-docs/advertisement-cpm-calculation.html.vue"
const data = JSON.parse("{\"path\":\"/en/user-docs/advertisement-cpm-calculation.html\",\"title\":\"CPM Derivation\",\"lang\":\"en-US\",\"frontmatter\":{},\"headers\":[{\"level\":2,\"title\":\"STEPS TO CALCULATE CPM ON Bastyon\",\"slug\":\"steps-to-calculate-cpm-on-bastyon\",\"link\":\"#steps-to-calculate-cpm-on-bastyon\",\"children\":[]}],\"git\":{\"updatedTime\":null,\"contributors\":[]},\"filePathRelative\":\"en/user-docs/advertisement-cpm-calculation.md\"}")
const data = JSON.parse("{\"path\":\"/en/user-docs/advertisement-cpm-calculation.html\",\"title\":\"CPM Derivation\",\"lang\":\"en-US\",\"frontmatter\":{},\"headers\":[{\"level\":3,\"title\":\"Bastyon.com Usage\",\"slug\":\"bastyon-com-usage\",\"link\":\"#bastyon-com-usage\",\"children\":[]},{\"level\":3,\"title\":\"Desktop App Usage\",\"slug\":\"desktop-app-usage\",\"link\":\"#desktop-app-usage\",\"children\":[]},{\"level\":3,\"title\":\"Android Usage\",\"slug\":\"android-usage\",\"link\":\"#android-usage\",\"children\":[]},{\"level\":3,\"title\":\"iOS Usage\",\"slug\":\"ios-usage\",\"link\":\"#ios-usage\",\"children\":[]},{\"level\":3,\"title\":\"CPM Calculation\",\"slug\":\"cpm-calculation\",\"link\":\"#cpm-calculation\",\"children\":[]}],\"git\":{\"updatedTime\":1728440694000,\"contributors\":[{\"name\":\"gked\",\"email\":\"[email protected]\",\"commits\":1}]},\"filePathRelative\":\"en/user-docs/advertisement-cpm-calculation.md\"}")
export { comp, data }

if (import.meta.webpackHot) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
<template><div><h1 id="cpm-derivation" tabindex="-1"><a class="header-anchor" href="#cpm-derivation"><span>CPM Derivation</span></a></h1>
<h2 id="steps-to-calculate-cpm-on-bastyon" tabindex="-1"><a class="header-anchor" href="#steps-to-calculate-cpm-on-bastyon"><span>STEPS TO CALCULATE CPM ON Bastyon</span></a></h2>
<p>Bastyon has about 1.68 MILLION unique visitors a month. Average visitor visits 5 times per month, and English language feed is 10% of Bastyon, so TOTAL NUMBER OF MONTHLY VISITS = 840,000</p>
<p>1.68M visits are distributed across various platforms:</p>
<p>Bastyon has about 1.63 MILLION unique visitors a month. Average visitor visits 5 times per month, and English language feed is 10% of Bastyon, so TOTAL NUMBER OF MONTHLY VISITS = 1.65M * 10% * 5 = 815,000.<sup>1</sup></p>
<p>1.63M visits are distributed across various platforms:</p>
<table>
<thead>
<tr>
<th>Platform</th>
<th>Platform <sup>2</sup></th>
<th>Users</th>
</tr>
</thead>
Expand All @@ -24,27 +23,31 @@
</tr>
</tbody>
</table>
<p>STEP 1.</p>
<h3 id="bastyon-com-usage" tabindex="-1"><a class="header-anchor" href="#bastyon-com-usage"><span>Bastyon.com Usage</span></a></h3>
<p>1.4M is on Bastyon.com (SEMRUSH data)</p>
<p><img src="@source/en/user-docs/semrush-bastyon-data.png" alt="alt text"></p>
<p>STEP 2.
Number of active android users is 130,000+</p>
<p>STEP 3.
Number of desktop app users is 150,000+
(After every app update users gradually update desktop app, approx. Half of users updates one week after update)</p>
<p><img src="@source/en/user-docs/bastyon-desktop-browser.png" alt="alt text"></p>
<p>https://github.com/pocketnetteam/pocketnet.gui
*this screen shows that 76 thousand users updated their apps immediately on day one, only half of the people update so quickly, so the real number is 150k users approximately</p>
<p>STEP 4.
Calculate CPM
Every boost ad runs for 3 hours. So, we divide total monthly visits by 30 days and by 8 to get 3 hour intervals
Total monthly visits = 8.4 million
Total daily visits = 28,000
English feed has 10% of all visitors
Total visits in 3 hour interval = 28,000/8= 3500
Average cost of ad is $1
CPM = $. 28
28 cents on average is a very low CPM</p>
<h3 id="desktop-app-usage" tabindex="-1"><a class="header-anchor" href="#desktop-app-usage"><span>Desktop App Usage</span></a></h3>
<p>Number of desktop app users is 150,000+.<sup>3</sup></p>
<p><a href="https://github.com/pocketnetteam/pocketnet.gui" target="_blank" rel="noopener noreferrer"><img src="@source/en/user-docs/bastyon-desktop-browser.png" alt="alt text"></a></p>
<h3 id="android-usage" tabindex="-1"><a class="header-anchor" href="#android-usage"><span>Android Usage</span></a></h3>
<p>Number of active android users is 130,000+</p>
<h3 id="ios-usage" tabindex="-1"><a class="header-anchor" href="#ios-usage"><span>iOS Usage</span></a></h3>
<p>[todo]</p>
<h3 id="cpm-calculation" tabindex="-1"><a class="header-anchor" href="#cpm-calculation"><span>CPM Calculation</span></a></h3>
<ol>
<li>Every boost ad runs for 3 hours. So, we divide total monthly visits by 30 days and by 8 to get 3-hour intervals</li>
<li>Total monthly visits = 815 thousand</li>
<li>Total daily visits = 27,100</li>
<li>English feed has 10% of all visitors</li>
<li>Total visits in 3 hour interval = 27,100/8 = 3395</li>
<li>Average cost of ad is $1</li>
<li>CPM = $. 29</li>
<li>29 cents on average is a very low CPM</li>
</ol>
<hr>
<p><sup>1</sup>Based on December 2022 data.</p>
<p><sup>2</sup> iOS was not initially included in the calculations</p>
<p><sup>3</sup> After every app update users gradually update desktop app, approx. Half of users updates one week after update. The image shows that 76 thousand users updated their apps immediately on day one, only half of the people update so quickly, so the real number is 150k users approximately</p>
</div></template>


Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import comp from "/home/user/projects/bastyon/documentation/vuepress-starter/docs/.vuepress/.temp/pages/en/user-docs/get-started-user.html.vue"
const data = JSON.parse("{\"path\":\"/en/user-docs/get-started-user.html\",\"title\":\"Ways to Monetize\",\"lang\":\"en-US\",\"frontmatter\":{},\"headers\":[{\"level\":2,\"title\":\"Advertisers\",\"slug\":\"advertisers\",\"link\":\"#advertisers\",\"children\":[]},{\"level\":2,\"title\":\"Authors: Content Creators\",\"slug\":\"authors-content-creators\",\"link\":\"#authors-content-creators\",\"children\":[]},{\"level\":2,\"title\":\"Node Runners\",\"slug\":\"node-runners\",\"link\":\"#node-runners\",\"children\":[]}],\"git\":{\"updatedTime\":1727538088000,\"contributors\":[{\"name\":\"gked\",\"email\":\"[email protected]\",\"commits\":1}]},\"filePathRelative\":\"en/user-docs/get-started-user.md\"}")
const data = JSON.parse("{\"path\":\"/en/user-docs/get-started-user.html\",\"title\":\"Ways to Monetize\",\"lang\":\"en-US\",\"frontmatter\":{},\"headers\":[{\"level\":2,\"title\":\"Advertisers\",\"slug\":\"advertisers\",\"link\":\"#advertisers\",\"children\":[]},{\"level\":2,\"title\":\"Authors: Content Creators\",\"slug\":\"authors-content-creators\",\"link\":\"#authors-content-creators\",\"children\":[]},{\"level\":2,\"title\":\"Node Runners\",\"slug\":\"node-runners\",\"link\":\"#node-runners\",\"children\":[]}],\"git\":{\"updatedTime\":1728440694000,\"contributors\":[{\"name\":\"gked\",\"email\":\"[email protected]\",\"commits\":2}]},\"filePathRelative\":\"en/user-docs/get-started-user.md\"}")
export { comp, data }

if (import.meta.webpackHot) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import comp from "/home/user/projects/bastyon/documentation/vuepress-starter/docs/.vuepress/.temp/pages/get-started.html.vue"
const data = JSON.parse("{\"path\":\"/get-started.html\",\"title\":\"Get Started\",\"lang\":\"en-US\",\"frontmatter\":{},\"headers\":[{\"level\":2,\"title\":\"Overview\",\"slug\":\"overview\",\"link\":\"#overview\",\"children\":[]},{\"level\":2,\"title\":\"Quick Start Guide\",\"slug\":\"quick-start-guide\",\"link\":\"#quick-start-guide\",\"children\":[{\"level\":3,\"title\":\"Installation\",\"slug\":\"installation\",\"link\":\"#installation\",\"children\":[]},{\"level\":3,\"title\":\"Contribution\",\"slug\":\"contribution\",\"link\":\"#contribution\",\"children\":[]},{\"level\":3,\"title\":\"Documentation\",\"slug\":\"documentation\",\"link\":\"#documentation\",\"children\":[]}]},{\"level\":2,\"title\":\"How to Leave Feedback on Bastyon\",\"slug\":\"how-to-leave-feedback-on-bastyon\",\"link\":\"#how-to-leave-feedback-on-bastyon\",\"children\":[]},{\"level\":2,\"title\":\"FAQs\",\"slug\":\"faqs\",\"link\":\"#faqs\",\"children\":[]}],\"git\":{\"updatedTime\":1727538088000,\"contributors\":[{\"name\":\"gked\",\"email\":\"[email protected]\",\"commits\":1}]},\"filePathRelative\":\"get-started.md\"}")
const data = JSON.parse("{\"path\":\"/get-started.html\",\"title\":\"Get Started\",\"lang\":\"en-US\",\"frontmatter\":{},\"headers\":[{\"level\":2,\"title\":\"Overview\",\"slug\":\"overview\",\"link\":\"#overview\",\"children\":[]},{\"level\":2,\"title\":\"Quick Start Guide\",\"slug\":\"quick-start-guide\",\"link\":\"#quick-start-guide\",\"children\":[{\"level\":3,\"title\":\"Installation\",\"slug\":\"installation\",\"link\":\"#installation\",\"children\":[]},{\"level\":3,\"title\":\"Contribution\",\"slug\":\"contribution\",\"link\":\"#contribution\",\"children\":[]},{\"level\":3,\"title\":\"Documentation\",\"slug\":\"documentation\",\"link\":\"#documentation\",\"children\":[]}]},{\"level\":2,\"title\":\"How to Leave Feedback on Bastyon\",\"slug\":\"how-to-leave-feedback-on-bastyon\",\"link\":\"#how-to-leave-feedback-on-bastyon\",\"children\":[]},{\"level\":2,\"title\":\"FAQs\",\"slug\":\"faqs\",\"link\":\"#faqs\",\"children\":[]}],\"git\":{\"updatedTime\":1728440694000,\"contributors\":[{\"name\":\"gked\",\"email\":\"[email protected]\",\"commits\":2}]},\"filePathRelative\":\"get-started.md\"}")
export { comp, data }

if (import.meta.webpackHot) {
Expand Down
2 changes: 1 addition & 1 deletion vuepress-starter/docs/.vuepress/.temp/pages/index.html.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 12 additions & 1 deletion vuepress-starter/docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,17 @@ export default defineUserConfig({

navbar: ['/', '/get-started'],
}),
plugins: [
[
'vuepress-plugin-mathjax',
{
target: 'svg',
macros: {
'*': '\\times',
},
},
],
],

bundler: viteBundler(),
})
})
66 changes: 37 additions & 29 deletions vuepress-starter/docs/en/user-docs/advertisement-cpm-calculation.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,54 @@
# CPM Derivation


## STEPS TO CALCULATE CPM ON Bastyon
Bastyon has about 1.63 MILLION unique visitors a month. Average visitor visits 5 times per month, and English language feed is 10% of Bastyon, so TOTAL NUMBER OF MONTHLY VISITS = 1.65M * 10% * 5 = 815,000.<sup>1</sup>

Bastyon has about 1.68 MILLION unique visitors a month. Average visitor visits 5 times per month, and English language feed is 10% of Bastyon, so TOTAL NUMBER OF MONTHLY VISITS = 840,000
1.63M visits are distributed across various platforms:

1.68M visits are distributed across various platforms:


| Platform | Users |
| Platform <sup>2</sup> | Users |
|------------------|---------|
| Bastyon.com | 1.4M |
| Android | 130k |
| Desktop app | 100k |
| Desktop app | 100k |



STEP 1.
### Bastyon.com Usage

1.4M is on Bastyon.com (SEMRUSH data)

![alt text](semrush-bastyon-data.png)

STEP 2.
### Desktop App Usage

Number of desktop app users is 150,000+.<sup>3</sup>

[![alt text](bastyon-desktop-browser.png)](https://github.com/pocketnetteam/pocketnet.gui)

### Android Usage

Number of active android users is 130,000+

STEP 3.
Number of desktop app users is 150,000+
(After every app update users gradually update desktop app, approx. Half of users updates one week after update)

![alt text](bastyon-desktop-browser.png)

https://github.com/pocketnetteam/pocketnet.gui
*this screen shows that 76 thousand users updated their apps immediately on day one, only half of the people update so quickly, so the real number is 150k users approximately

STEP 4.
Calculate CPM
Every boost ad runs for 3 hours. So, we divide total monthly visits by 30 days and by 8 to get 3 hour intervals
Total monthly visits = 8.4 million
Total daily visits = 28,000
English feed has 10% of all visitors
Total visits in 3 hour interval = 28,000/8= 3500
Average cost of ad is $1
CPM = $. 28
28 cents on average is a very low CPM

### iOS Usage

[todo]


### CPM Calculation

1. Every boost ad runs for 3 hours. So, we divide total monthly visits by 30 days and by 8 to get 3-hour intervals
2. Total monthly visits = 815 thousand
3. Total daily visits = 27,100
4. English feed has 10% of all visitors
5. Total visits in 3 hour interval = 27,100/8 = 3395
6. Average cost of ad is $1
7. CPM = $. 29
8. 29 cents on average is a very low CPM

***

<sup>1</sup>Based on December 2022 data.

<sup>2</sup> iOS was not initially included in the calculations

<sup>3</sup> After every app update users gradually update desktop app, approx. Half of users updates one week after update. The image shows that 76 thousand users updated their apps immediately on day one, only half of the people update so quickly, so the real number is 150k users approximately
3 changes: 2 additions & 1 deletion vuepress-starter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"@vuepress/theme-default": "^2.0.0-rc.11",
"sass-embedded": "^1.79.3",
"vue": "^3.4.0",
"vuepress": "^2.0.0-rc.7"
"vuepress": "^2.0.0-rc.7",
"vuepress-plugin-mathjax": "^1.2.8"
}
}

0 comments on commit 1d12a4a

Please sign in to comment.