Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Instructions to use this template:

  1. Use this template to write the Product Requirements Document (PRD) for a single User JTBD or Initiative. 
  2. 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.
  3. Each section in the template has instructions, with examples explaining the type of content to be written in that section. 
  4. 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.
  5. Repeat from section <Use Case 1> Overview for every use case in the User JTBD or Initiative
Table of Contents


Table of Contents
outlinetrue


Introduction

This report provides details of Diksha usage in terms of QR code Scans, Unique devices, and Content play for each district of a state. 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-specific.

JTBD

  • Jobs To Be Done: As a state admin, 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

Weakly

Weekly Report over time

Description:

This 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 device location data.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:

  1. If user is an anonymous user: Use the state, district information explicitly provided by the user

  2. If usage is by a logged in user: Use the state, district information in user profile

  3. 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 AppTotal unique devices that used Diksha PortalTotal unique devices that used Diksha on (APP + Portal)Total no of QR codes scans on APPTotal no of QR code access via Portal Total no of QR codes scans (APP + Portal)To no of  content Plays on AppTo no of  content Plays on PortalTotal no of  content plays on both (APP+ Portal)Data as on Last day (Sunday) of the week
District 11000471047678106881000050010500
 
Unknown16786717425894062920000500025000
 
ALL26781142789126750131730000550035500 
District 11000471047678106881000050010500
 
Unknown16786717425894062920000500025000
 
ALL26781142789126750131730000550035500 

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
languagejs
titleUnique Devices Query
linenumberstrue
collapsetrue
{
  "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
languagejs
themeConfluence
titleQR Scans
linenumberstrue
collapsetrue
{
  "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
languagejs
themeConfluence
titleContent Plays
linenumberstrue
collapsetrue
{
  "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
serverSystem JIRA
serverId2207a759-5bc8-39c5-9cd2-aa9ccc1f65dd
keySB-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


Key Metrics