Instructions to use this template:
- Use this template to write the Product Requirements Document (PRD) for a single User JTBD or Initiative.
- Each workflow within the PRD will correspond to an Epic in JIRA. Each User Story will correspond to a Story in JIRA that will be part of the Epic.
- Each section in the template has instructions, with examples explaining the type of content to be written in that section.
- You may start typing into the section by eliminating the instructional text, or delete the instructional text after you have entered all content for the section.
- Repeat from section <Use Case 1> Overview for every use case in the User JTBD or Initiative
Introduction
This report provides details of Diksha usage in terms of QR code Scans and , Unique devices, and Content play for each district of that a state are shown. All the graphs show the usage status per month. Usage status will be displayed in the graphs with a weekly basis and monthly basis. This report is updated on date 1st of every month for a monthly basis graph and every 1st day (Monday) of the week for weekly basis graph. The data and dashboards are state state-specific.
JTBD
- Jobs To Be Done: As a state admin, I want to have a look at the performance of each district of the state such as consumption, failures in ETB on a monthly basis should be monitored.
- User Personas: The logged-in users who have State Admin role, report viewer role can access this report.
- System or Environment: works on for desktops with Chrome browser only.
District-wise Weekly Report over time
Description:
District Name\Week
Week 1
week 2
Week 3
Week 4
District 1
District 2
District 3
District 4
Note: Each district unique devices count is captured on a weekly basis for that state. This is for overtime and all the districts of that state are shown in the table and in the graph as well.
JIRA Ticket ID
Localization Requirements
Telemetry Requirements
Non-Functional Requirements
Impact on other Products/Solutions
Impact on Existing Users/Data
This report will provide only 2 months of consumption data for every state and also help the state admin to identify the performance of each district in that state and tell how many new users are using the Diksha every month and also It gives a better understanding of users using Diksha from that state. This report should get updated on a monthly basis.
This report shows 2 fields i.e; graph and Table.
Graph:
a. District-Wise devices:In the first graph, we will be displaying 2 bar charts with district's rank and the number of unique devices from each district in that state for the last month and before last month.b. District wise Scans: In the second graph, we will be displaying 2 bar charts with district's rank and the number of scans from each district in that state for the last month and before last month.
Details: In this report, we will be displaying 2 months of data i.e; Last month and before last month. Based on device Geo data we will be calculating how many users used Diksha and scanned the QR code in that district for that month, Number of unique device count and Overall Scans are captured and displayed in the graph and table for all districts of that state and according to that unique devices count and overall scans, the ranking should be allocated in the same order of first bar chart.
In the second bar chart of graph 1&2, based on the before last month data, the ranking should be allocated with the number of unique devices and the overall scans to the district of that state in the same order of first bar chart of the graph 1.
This report should be generated with both the graphs on every month 1st with the latest last month data and before to last month data.
Latest last month data should be aligned in the ascending order of district ranks of that state.
Graph 1:District-Wise unique devices
Graph 2: District wise Scans
In this report, we should create 2 bar charts based on the device geo data the scans need to be calculated. Ranking and number of scans should be displayed for the district in that state for last month and the before last month.
Table:
Second Last Month
Last Month
Unique Devices
Total Scans
Unique Devices
Total Scans
District 1
7888
District 2
2000
District 3
District 4
887
District 5
District wise unique devices count and total scans counts of each district in that state are recorded for the last month and second last month.
Fields:
- Unique Device: Unique devices for the district in that month for a state.
- Logic: Based on the device location data how many of the devices are linked to that specific district in the state for a specific month.
- Rank: The ranking is given to all the districts in the state.
- Logic: Based on the unique devices count the ranking should be allocated.
- Total Scans: Count of scans from each district in that state
- Logic: Based on the device location data, overall how many QR scans got in that district for a specific month.
District-wise Unique Devices over time
Description:
This graph shows unique devices count for every week( i.e; from Monday to Sunday ) in DIKSHA overtime and should be generated on every Monday on a weekly basis for that state.
Details: In this report, we will be displaying the user devices data on a weekly basis for that state. This data is calculated by the district wise.
Whenever the user goes on to the graph, they will be able to see overall data of the state. District wise filter should be enabled and the user should be able to get the data by filtering the district name whenever needed.
If no district is selected in the filter, Overall data should be displayed.
- This data is calculated based on the device location data.
Graph :
Table :
graph provides overall consumption data on a weekly basis (i.e; from Monday to Sunday ) over a period of one year and should be generated every Monday for that state.
Details: In this report, we will be displaying the total QR scans data (portal + app) on a weekly for that state. This data is calculated by the district wise.
- This report provides 3 consumption datasets
- Total no of QR Code Scans
- Unique devices in that district for that state.
- Total no of content plays
- For each dataset, the Graph should be created and it should have a district-wise filter option.
- This report should be calculated over a period of time.
- If no district is selected in the filter, Overall data should be displayed.
- This data is calculated based on the user location
Definition of User Location:
System should use the following data in the given order of priority to get the location data. This applies to both Mobile App and Portal:
If user is an anonymous user: Use the state, district information explicitly provided by the user
If usage is by a logged in user: Use the state, district information in user profile
In either of the above two cases, if there is no state, district information: Use IP based state/town information from MaxMind + (City to District Mapping given by States)
Graph:
Graph description:
- The x-axis should represent the last date (Sunday) of the week and in Y-axis should represent a total count.
- Whenever the users go on to the graph, they will be able to see overall data of the state. District wise filter should be enabled and the user should be able to get the data by filtering the district name whenever needed.
- All the district values should be shown in the dropdown.
Table:
Total unique devices that used Diksha App | Total unique devices that used Diksha Portal | Total unique devices that used Diksha on (APP + Portal) | Total no of QR codes scans on APP | Total no of QR code access via Portal | Total no of QR codes scans (APP + Portal) | To no of content Plays on App | To no of content Plays on Portal | Total no of content plays on both (APP+ Portal) | Data as on Last day (Sunday) of the week | |
District 1 | 1000 | 47 | 1047 | 678 | 10 | 688 | 10000 | 500 | 10500 | |
Unknown | 1678 | 67 | 1742 | 589 | 40 | 629 | 20000 | 5000 | 25000 | |
ALL | 2678 | 114 | 2789 | 1267 | 50 | 1317 | 30000 | 5500 | 35500 | |
District 1 | 1000 | 47 | 1047 | 678 | 10 | 688 | 10000 | 500 | 10500 | |
Unknown | 1678 | 67 | 1742 | 589 | 40 | 629 | 20000 | 5000 | 25000 | |
ALL | 2678 | 114 | 2789 | 1267 | 50 | 1317 | 30000 | 5500 | 35500 |
Table description:
District Name: All the districts in the state should be shown.
Unique Devices: Total no of unique devices opened Diksha in that district from that state
Logic
- APP: Total no of unique devices used Diksha APP in that week from that district in that state.
- Portal: Total no of unique devices used Diksha portal on the web (i.e; in Desktop and mobile web) in that week from that district in that state.
- Total: APP + Portal
Total no of QR code scans: Total no of QR code scans which include both APP and portal.
Logic
- APP: Total no of QR code scans (from Diksha or different app) from those unique devices of that week from that district in that state.
- Portal: Total no of QR code scans from those devices in GET page (i.e; in Desktop and mobile web) in that week from that district in that state.
- Total: APP + Portal
NOTE: Total scans include both Successful scans and Failed scans.
Total no of content plays: Total no of content plays which include both APP and portal.
Logic
- APP: Total no of content plays of both (Online and Download play) from those unique devices in that week from that district in that state.
- Portal: Total no of content plays from those unique devices (i.e; in Desktop and mobile web) in that week from that district in that state.
- Total: APP + Portal
Updated on: The date when the data got updated
Points to be considered
- In this table, each week data should be added next to the previous week data and so on.
- In case, If there is no mapping available for any of the city to the district, the district cell will display as "Unknown". However corresponding data will be shown in week cell.
Logic
Data Source: Druid
Start Date, End Date and State Name are programmatically replaced in the script.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"queryType": "groupBy",
"dataSource": {
"type": "table",
"name": "telemetry-events"
},
"intervals": {
"type": "intervals",
"intervals": [
"start_date/end_date"
]
},
"filter": {
"type": "and",
"fields": [
{
"type": "selector",
"dimension": "actor_type",
"value": "User",
"extractionFn": null
},
{
"type": "in",
"dimension": "context_pdata_id",
"values": [
"prod.diksha.app",
"prod.diksha.portal"
],
"extractionFn": null
},
{
"type": "selector",
"dimension": "device_loc_state",
"value": "state_name",
"extractionFn": null
}
]
},
"granularity": {
"type": "all"
},
"dimensions": [
{
"type": "default",
"dimension": "device_loc_district",
"outputName": "District",
"outputType": "STRING"
},
{
"type": "default",
"dimension": "context_pdata_id",
"outputName": "Platform",
"outputType": "STRING"
}
],
"aggregations": [
{
"fieldName": "context_did",
"type": "distinctCount",
"name": "Unique Devices"
}
],
"postAggregations": [],
"having": null,
"limitSpec": {
"type": "NoopLimitSpec"
},
"context": {},
"descending": false
} |
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"queryType": "groupBy",
"dataSource": {
"type": "table",
"name": "telemetry-events"
},
"intervals": {
"type": "intervals",
"intervals": [
"start_date/end_date"
]
},
"filter": {
"type": "and",
"fields": [
{
"type": "selector",
"dimension": "eid",
"value": "SEARCH",
"extractionFn": null
},
{
"type": "not",
"field": {
"type": "selector",
"dimension": "edata_filters_dialcodes",
"value": null
}
},
{
"type": "in",
"dimension": "context_pdata_id",
"values": [
"prod.diksha.app",
"prod.diksha.portal"
],
"extractionFn": null
},
{
"type": "selector",
"dimension": "device_loc_state",
"value": "state_name",
"extractionFn": null
}
]
},
"granularity": {
"type": "all"
},
"dimensions": [
{
"type": "default",
"dimension": "device_loc_district",
"outputName": "District",
"outputType": "STRING"
},
{
"type": "default",
"dimension": "context_pdata_id",
"outputName": "Platform",
"outputType": "STRING"
}
],
"aggregations": [
{
"type": "count",
"name": "Number of QR Scans"
}
],
"postAggregations": [],
"having": null,
"limitSpec": {
"type": "NoopLimitSpec"
},
"context": {},
"descending": false
} |
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"queryType": "groupBy",
"dataSource": {
"type": "table",
"name": "summary-events"
},
"intervals": {
"type": "intervals",
"intervals": [
"start_date/end_date"
]
},
"filter": {
"type": "and",
"fields": [
{
"type": "in",
"dimension": "dimensions_pdata_id",
"values": [
"prod.diksha.app",
"prod.diksha.portal"
],
"extractionFn": null
},
{
"type": "selector",
"dimension": "dimensions_mode",
"value": "play"
},
{
"type": "selector",
"dimension": "dimensions_type",
"value": "content"
},
{
"type": "selector",
"dimension": "device_loc_state",
"value": "state_name"
}
]
},
"granularity": {
"type": "all"
},
"dimensions": [
{
"type": "default",
"dimension": "device_loc_district",
"outputName": "District",
"outputType": "STRING"
},
{
"type": "default",
"dimension": "dimensions_pdata_id",
"outputName": "Platform",
"outputType": "STRING"
}
],
"aggregations": [
{
"type": "count",
"name": "Number of Content Plays"
}
],
"postAggregations": [],
"having": null,
"limitSpec": {
"type": "NoopLimitSpec"
},
"context": {},
"descending": false
} |
JIRA Ticket ID
Jira Legacy server System JIRA serverId 2207a759-5bc8-39c5-9cd2-aa9ccc1f65dd key SB-13069
Localization Requirements
N/A
Telemetry Requirements
N/A
Non-Functional Requirements
N/A
Impact on other Products/Solutions
N/A
Impact on Existing Users/Data
N/A