Comments (5)
That's a good and interesting question. Let's assume we know the following information:
- requester's user-id (because he is logged in) or IP address (less concise but better than nothing)
- estimated time to read (ETR)
- time spend on the article page
When a show the article page to a requester, we count a new view.
When the same requester requests the same article within a time span which is shorter than (say) 2x the article's ETR, we ignore the view.
Requests after the 2x ETR duration will increase the counter again.
We could refine this strategy with the time spend (TS) on the article page. For instance, if an article with an ETR of 10 minutes is shown 7 minutes to a requester, then we count 0.7 views. However, a single view measurement won't exceed 1.0 (e.g. requester leaves the article open for hours).
What do you think?
from lightread.
Alternatively, we could also distinguish between views and reads. Views would then simply be the number of article requests while reads is the summation of the TS/ETR values.
from lightread.
I prepared our database accordingly...
from lightread.
I agree with the first part of your proposal, to count all requests except for some reasons (same user / IP within a certain time frame).
I have doubts about the measure of "time spent" (TS). Since we are operating statelessly it is not trivial to figure out how long the user spent on the site reading. We only know when we delivered it, and when he requested some other page. But he could also just close the browser window (so he quit reading but we don't know for sure when) or open another page in a different tab (could look as he went to another page but might still be reading it somewhere else). Without sophisticated client side tracking code this approach is not feasible in my opinion. I, therefore, recommend to chose an approach that is viable statelessly.
from lightread.
done
from lightread.
Related Issues (20)
- Update database field tbl_invoice.fld_invc_payreq to varchar(500) HOT 3
- Backend administrators HOT 2
- Implement withdrawals (special type of entity invoice)
- New database tables HOT 1
- tbl_Attachment HOT 1
- version control on articles HOT 2
- Implement transaction overview
- Levels of users verification
- user defined preview lenght of an article HOT 1
- Database changes HOT 4
- Full Text Search HOT 4
- Article Tagging using Keywords HOT 1
- Category Assignment to Articles
- Background Image on Article View HOT 1
- Category Selector on Article Drafts View HOT 3
- Documentation HOT 2
- Emtpy Keyword Tags
- Show more articles when scrolling to the page's end
- Force publisher to withdraw funds using a maximum balance threshold
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lightread.