Churn Reports

The purpose of the Churn report is to flag certain changes in values where based on past experiences, the changes can be disruptive from platform experiences on Windows, Android, iOS, Chromium, etc..., (based on customer and developer feedback).
The scope of the Churn report is limited to a subset of data. It's available from CLDR v38 release and can be found in github CLDR-Stagingfor example, see v38 Churn.tsv.  

The scope of paths included in churn reports are as the following. (Referenced from CLDR-13177 and CLDR-14266)

  1. Core data

    1. Main Exemplar characters: //ldml/characters/exemplarCharacters

    2. Number system:

      1. Default: //ldml/numbers/defaultNumberingSystem

      2. Native: //ldml/numbers/otherNumberingSystems/native 

  2. Territory and Language names 

    1. Country/Region names

      1. English names: LocaleDisplayName\Territory (en.xml)

      2. Native name: ldml/localeDisplayNames/territories/territory

      3. Only the defaults are included in the report and Alts (\@alt) are excluded.

    2. Language names (English and Native)

      1. English names: LocaleDisplayname\Language (en.xml)

      2. Native names: /ldml/localeDisplayNames/languages/language (match the type=”xx” of each xml to identify the Native. Eg. type=ko if ko.xml)

      3. We can exclude the Alts.

    3. New Locale (this is in BRS A33.1. If we can integrate somehow into this report, great. If not, leave it separate)

  3. Date 

    1. Fields

      1. Era://ldml/dates/fields/field[@type="era"]/displayName

      2. Year: //ldml/dates/fields/field[@type="year"]/displayName

      3. Month: //ldml/dates/fields/field[@type="month"]/displayName

      4. Week: //ldml/dates/fields/field[@type="week"]/displayName

      5. Day: //ldml/dates/fields/field[@type="day"]/displayName

      6. Hour: //ldml/dates/fields/field[@type="hour"]/displayName

      7. Minute: //ldml/dates/fields/field[@type="minute"]/displayName

      8. Second: //ldml/dates/fields/field[@type="second"]/displayName

  4. Standard date formats (Short, Long, Full, some flexible) First focus on gregorian:
    1. Full: //ldml/dates/calendars/calendar[@type="gregorian"]/dateFormats/dateFormatLength[@type="full"]/dateFormat[@type="standard"]/pattern[@type="standard"]
    2. Long: //ldml/dates/calendars/calendar[@type="gregorian"]/dateFormats/dateFormatLength[@type="long"]/dateFormat[@type="standard"]/pattern[@type="standard"]
    3. Medium: //ldml/dates/calendars/calendar[@type="gregorian"]/dateFormats/dateFormatLength[@type="medium"]/dateFormat[@type="standard"]/pattern[@type="standard"]
    4. Short: //ldml/dates/calendars/calendar[@type="gregorian"]/dateFormats/dateFormatLength[@type="short"]/dateFormat[@type="standard"]/pattern[@type="standard"]
    5. MMMEd: //ldml/dates/calendars/calendar[@type="gregorian"]/dateTimeFormats/availableFormats/dateFormatItem[@id="MMMEd"]
    6. MEd: //ldml/dates/calendars/calendar[@type="gregorian"]/dateTimeFormats/availableFormats/dateFormatItem[@id="MEd"]
  5. Time

    1.  Standard time format (Short, Long, Full, some flexible)

      1. Full: //ldml/dates/calendars/calendar[@type="gregorian"]/timeFormats/timeFormatLength[@type="full"]/timeFormat[@type="standard"]/pattern[@type="standard"]

      2. Long: //ldml/dates/calendars/calendar[@type="gregorian"]/timeFormats/timeFormatLength[@type="long"]/timeFormat[@type="standard"]/pattern[@type="standard"]

      3. Medium: //ldml/dates/calendars/calendar[@type="gregorian"]/timeFormats/timeFormatLength[@type="medium"]/timeFormat[@type="standard"]/pattern[@type="standard"]

      4. Short: //ldml/dates/calendars/calendar[@type="gregorian"]/timeFormats/timeFormatLength[@type="short"]/timeFormat[@type="standard"]/pattern[@type="standard"]

    2. AM wide formatting: //ldml/dates/calendars/calendar[@type="gregorian"]/dayPeriods/dayPeriodContext[@type="format"]/dayPeriodWidth[@type="wide"]/dayPeriod[@type="am"]

    3. AM Abbreviate formatting: //ldml/dates/calendars/calendar[@type="gregorian"]/dayPeriods/dayPeriodContext[@type="format"]/dayPeriodWidth[@type="abbreviated"]/dayPeriod[@type="am"]

    4. PM wide formatting: //ldml/dates/calendars/calendar[@type="gregorian"]/dayPeriods/dayPeriodContext[@type="format"]/dayPeriodWidth[@type="wide"]/dayPeriod[@type="pm"]

    5. PM Abbreviated formatting: //ldml/dates/calendars/calendar[@type="gregorian"]/dayPeriods/dayPeriodContext[@type="format"]/dayPeriodWidth[@type="abbreviated"]/dayPeriod[@type="pm"]

  6. Currency (English and Native)

    1. English (en.xml /ldml/numbers/currencies/currency)

    2. Native (Match the Currency of the Territory)

      1. Currency name: //ldml/numbers/currencies/currency[@type="KRW"]/displayName

      2. Currency Symbol: //ldml/numbers/currencies/currency[@type="KRW"]/symbol

      3. Currency Symbol narrow (if available): //ldml/numbers/currencies/currency[@type="KRW"]/symbol[@alt="narrow"]

  7. Currency Formats

    1. Latin: //ldml/numbers/currencyFormats[@numberSystem="latn"]/currencyFormatLength/currencyFormat[@type="standard"]/pattern[@type="standard"]

    2. Arabic: //ldml/numbers/currencyFormats[@numberSystem="arab"]/currencyFormatLength/currencyFormat[@type="standard"]/pattern[@type="standard"]

  8. Number Symbols

    1. Minimum Grouping: //ldml/numbers/minimumGroupingDigits

    2. Latin:

      1. Decimal symbol: //ldml/numbers/symbols[@numberSystem="latn"]/decimal

      2. Thousand separator //ldml/numbers/symbols[@numberSystem="latn"]/group

    3. Arabic

      1. Decimal: //ldml/numbers/symbols[@numberSystem="arab"]/decimal

      2. Thousand separator: //ldml/numbers/symbols[@numberSystem="arab"]/group

  9. Number formats:

    1. Latin

      1. Standard decimal: //ldml/numbers/decimalFormats[@numberSystem="latn"]/decimalFormatLength/decimalFormat[@type="standard"]/pattern[@type="standard"]

      2. Standard percent: //ldml/numbers/percentFormats[@numberSystem="latn"]/percentFormatLength/percentFormat[@type="standard"]/pattern[@type="standard"]

      3. Accounting: //ldml/numbers/currencyFormats[@numberSystem="latn"]/currencyFormatLength/currencyFormat[@type="accounting"]/pattern[@type="standard"]

    2. Arabic

      1. Standard decimal: //ldml/numbers/decimalFormats[@numberSystem="arab"]/decimalFormatLength/decimalFormat[@type="standard"]/pattern[@type="standard"]

      2. Standard percent:  //ldml/numbers/percentFormats[@numberSystem="arab"]/percentFormatLength/percentFormat[@type="standard"]/pattern[@type="standard"]

  10. First day of week: The start of the first day of week based on region. : /suppliemental.xml firstDay=” “Territories. Reference: UTS #35: Unicode first day identifier

  11. First week of year: Defining what the first week would be considered.  /supplementalData/weekData/firstDay. Reference: UTS #35: Week data

  12. ISO Currency Code: SupplementalData.xml <region iso3166> for the current or historic currency.
  13. Currency symbol: SupplementalData.xml Currency symbol and alt="narrow". 
  1. Symbol: //ldml/numbers/currencies/currency[@type="CNY"]/symbol

  2. Currency Symbol Narrow //ldml/numbers/currencies/currency[@type="CNY"]/symbol[@alt="narrow"]

Comments