Systems and methods for advanced competitive virtual sports competitions

Methods and systems for creating an advanced virtual sports platform over a computer network by establishing and storing input data sources for a real-world competition; receiving, querying, and storing user account credentials from users; querying and generating user leagues the one real-world competition; receiving and storing user teams for the competition user league; operating a live draft for the competition user leagues and teams, including draft timer and nonresponse autopick features; querying and receiving stage data for the competition from input data sources; establishing bonus specifiers for the user leagues; outputting stage data scores; assigning user team points based on the output stage data scores; generating rankings for the user teams; and displaying rankings for the user teams. Other aspects include analyzing the platform data for significant variations between expected and actual performance.

TECHNICAL FIELD

This novel technology relates to the field of digital sports competitions. More specifically, the present technology is in the technical field of advanced competitive virtual sports competitions based on cycling events.

BACKGROUND

A great deal of time and money is spent attending, support, and otherwise being entertained by sports around the world. However, not every person can attend a sporting match, know every player's statistics, or even watch every game for lack of time, distance from a match, or just general lack of resources; however, fans still wish to keep abreast of these socially binding and entertaining activities.

To this end, some video game developers created sports-themed video games, allowing players to play as their favorite football, basketball, soccer, and hockey teams on their video game consoles. Other developers built upon this concept with video games allowing sports gamers to create their own characters and play as themselves in the games. Still others allowed players to compete against their friends playing as their favorite teams over the Internet and compete throughout the sports season against their friends. These video games are limited by what the game developer, and often the sports league itself, will allow for variation and creativity.

Fantasy sports leagues have started developing over the past few years as well to try to allow more creativity, allowing mock draft picks and leagues; however, such games and leagues are greatly limited by geographic location; availability of other league participants; understanding of mock league rules and barriers to entry; and selection for lesser popularity sports and leagues. Thus, what is needed is a more diverse and dynamic platform that affords greater inclusivity and lower barriers to entry for such sports fans, while increasing retention and immersion.

The present novel technology addresses these needs.

DETAILED DESCRIPTION

Before the present methods, implementations, and systems are disclosed and described, it is to be understood that this invention is not limited to specific synthetic methods, specific components, implementation, or to particular compositions, and as such may, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular implementations only and is not intended to be limiting.

As used in the specification and the claims, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Ranges may be expressed in ways including from “about” one particular value, and/or to “about” another particular value. When such a range is expressed, another implementation may include from the one particular value and/or to the other particular value. Similarly, when values are expressed as approximations, for example by use of the antecedent “about,” it will be understood that the particular value forms another implementation. It will be further understood that the endpoints of each of the ranges are significant both in relation to the other endpoint, and independently of the other endpoint.

“Optional” or “optionally” means that the subsequently described event or circumstance may or may not occur, and that the description includes instances where said event or circumstance occurs and instances where it does not. Similarly, “typical” or “typically” means that the subsequently described event or circumstance often though may not occur, and that the description includes instances where said event or circumstance occurs and instances where it does not. Additionally, “generates,” “populates,” “generating,” and “populating” mean that the advanced sports platform105, client, end user (user, system user), and/or module may produce some event or cause some event element to be produced. For example, a webpage may receive data to display in whole or in part to display a fantasy sports league, users of sports platform105, current standings for one or more leagues, and/or the like; the webpage may pull such data from a source other than the advanced sports platform105(e.g., other servers, intermediaries, etc.); or the advanced sports platform105may entirely provide the valuation estimate to be produced on the webpage.

FIG. 1is a block diagram of an example environment100in which advanced sports platform105may exist. Environment100may typically include advanced sports platform105; network110; website(s)115; end user device(s)120; resource(s)130; search system135; search index140; queries145; search result(s)150; and system database(s)180. Advanced sports platform105may facilitate creation and use of an advanced virtual/fantasy sports platform, which typically may be focused on real-world cycling competitions. Example environment100also includes network110, such as a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof. Network110may connect websites115, end user device(s)120, and/or advanced sports platform105. Example environment100may potentially include many thousands of website(s)115and/or end user device(s)120.

Website(s)115may be one or more resources130associated with a domain name and hosted by one or more servers. An example website(s)115may be a collection of webpages formatted in hypertext markup language (HTML) that may contain text, images, multimedia content, and programming elements, such as scripts. Each website(s)115may be maintained by a publisher, which may be an entity that controls, manages, and/or owns each website(s)115. Such websites115may include sports data, sports news, competition rules, weather forecasts, historical data, and/or the like.

Resource(s)130may be any data that may be provided over the network110. A resource(s)130may be identified by a resource address (e.g., a URL) that may be associated with the resource(s)130. Resources130include HTML webpages, word processing documents, and portable document format (PDF) documents, images, video, and feed sources, to name only a few. Such resources130may include content, such as words, phrases, images and sounds, that may include embedded information—such as meta-information in hyperlinks—and/or embedded instructions, such as JAVASCRIPT scripts (JAVASCRIPT is a registered trademark of Sun Microsystems, Inc., a Delaware corporation, located at 4150 Network Circle Santa Clara, Calif. 95054). Units of content—for example, data files, scripts, content files, or other digital data—that may be presented in (or with) resources may be referred to as content items.

End user devices120may be electronic devices that may be under the control of an end user and may be capable of requesting and receiving resources130over network110. Example end user devices120include personal computers, mobile communication devices, and other devices that may send and receive data over the network110. End user devices120typically include a user application, such as a web browser, to facilitate the sending and receiving of data over the network110. As user-devices120typically may be operated by users, such may be referred to as interchangeable in some cases.

In some implementations, websites115(apps, client services; hereinafter simply “websites” for ease of use), end user devices120, and system105may directly intercommunicate, excluding the need for the Internet from the scope of a network110. For example, the websites115, end user devices120, and the advanced sports platform105may directly communicate over device-to-device (D2D) communication protocols (e.g., WI-FI DIRECT (WI-FI DIRECT is a registered trademark of Wi-Fi Alliance, a California corporation, located at 10900-B Stonelake Boulevard, Suite126, Austin, Tex. 78759); Long Term Evolution (LTE) D2D (LTE is a registered trademark of Institut Européen des Normes; a French nonprofit telecommunication association, located at 650 route des Lucioles, F-06921, Sophia Antipolis, France), LTE Advanced (LTE-A) D2D, etc.), wireless wide area networks, and/or satellite links thus eliminate the need for the network110entirely. In other implementations, the websites115, end user devices120, and system105may communicate indirectly to the exclusion of the Internet from the scope of the network110by communicating over wireless wide area networks and/or satellite links. Further, end user devices120may similarly send and receive search queries145and search results150indirectly or directly.

In wireless wide area networks, communication primarily occurs through the transmission of radio signals over analog, digital cellular, or personal communications service (PCS) networks. Signals may also be transmitted through microwaves and other electromagnetic waves. At the present time, most wireless data communication takes place across cellular systems using second generation technology such as code-division multiple access (CDMA), time division multiple access (TDMA), the Global System for Mobile Communications (GSM) (GSM is a registered trademark of GSM MoU Association, a Swiss association, located at Third Floor Block 2, Deansgrande Business Park, Deansgrande, Co Dublin, Ireland), Third Generation (wideband or 3G), Fourth Generation (broadband or 4G), personal digital cellular (PDC), or through packet-data technology over analog systems such as cellular digital packet data (CDPD) used on the Advance Mobile Phone System (AMPS).

The terms “wireless application protocol” and/or “WAP” mean a universal specification to facilitate the delivery and presentation of web-based data on handheld and mobile devices with small user interfaces. “Mobile Software” refers to the software operating system that allows for application programs to be implemented on a mobile device such as a mobile telephone or PDA. Examples of Mobile Software are JAVA and JAVA ME (JAVA and JAVA ME are trademarks of Sun Microsystems, Inc. of Santa Clara, Calif.), BREW (BREW is a registered trademark of Qualcomm Incorporated of San Diego, Calif.), WINDOWS Mobile (WINDOWS is a registered trademark of Microsoft Corporation of Redmond, Wash.), PALM OS (PALM is a registered trademark of Palm, Inc. of Sunnyvale, Calif.), SYMBIAN OS (SYMBIAN is a registered trademark of Symbian Software Limited Corporation of London, United Kingdom), ANDROID OS (ANDROID is a registered trademark of Google, Inc. of Mountain View, Calif.), and IPHONE OS (IPHONE is a registered trademark of Apple, Inc. of Cupertino, Calif.). “Mobile Apps” refers to software programs written for execution with Mobile Software.

The advanced sports platform105may use one or more modules to perform various functions including, but not limited to, searching, analyzing, querying, interfacing, etc. A “module” refers to a portion of a computer system and/or software program that carries out one or more specific functions and may be used alone or combined with other modules of the same system or program. For example, a module may be located on the advanced sports platform105(e.g., on the servers of system105, i.e., server-side module), on end user devices120, or on an intermediary device (e.g., the client server, i.e., a client-side module; another end user device(s)120; a different server on the network110; or any other machine capable of direct or indirect communication with system105, websites115, the search system135, and/or the end user devices120.)

In some implementations, the system105may be performed through a system105module. For example, a user may install a program to interface with a system105server to communicate data, interactions, etc. from the virtual cycling platform105to the user's end user device(s)120. In some other implementations, the system105may be installed on a user's machine and operate—in whole or in part—independently of system105WAN and/or LAN components. For example, the system105software may be deployed to a user's computer as a standalone program that interfaces with the user's computer, creates and maintains sports leagues and user profiles, generates standings, parses third-party data, etc. In another example, the system105may interact with and/or be installed as an Internet browser extension. For example, the system105may be a program installed as an extension, add-on, and/or plugin of GOOGLE CHROME (GOOGLE CHROME is a registered trademark of Google, Inc., a Delaware corporation, located at 1600 Amphitheatre Parkway, Mountain View, Calif. 94043); MOZILLA FIREFOX (MOZILLA and FIREFOX are registered trademarks of the Mozilla Foundation, a California non-profit corporation, located at 313 East Evelyn Avenue, Mountain View, Calif. 94041); APPLE SAFARI (APPLE and SAFARI are registered trademarks of Apple, Inc., a California corporation, located at 1 Infinite Loop, Cupertino, Calif. 95014), etc. The browser extension may query an entered league/athlete, query and match for the league/athlete, communicate with data store(s), analyze standings and season status, communicate with secondary data store(s) for potential extrapolated standing figures, generate expected standings, present the user(s) with a generated standing list and user positions, etc.

Typically, modules may be coded in JAVASCRIPT, PHP, or HTML, but may be created using any known programming language (e.g., BASIC, FORTRAN, C, C++, C #, PERL (PERL is a registered trademark of Yet Another Society DBA The Perl Foundation, a Michigan nonprofit corporation, located at 340 S. Lemon Ave. #6055, Walnut, Calif. 91789)) and/or package (e.g., compressed file (e.g., zip, gzip, 7zip, RAR (RAR is a registered trademark of Alexander Roshal, an individual, located in the Russian Federation AlgoComp Ltd., Kosareva 52b-83, Chelyabinsk, Russian Federation 454106), etc.), executable, etc.).

In some implementations, the advanced sports platform105may be packaged, distributed, scripted, installed by a technician of system105, and/or otherwise deployed to a client server location such that system105exists within the client server and/or client server network, either in whole or in part. For example, the advanced sports platform105may be scripted and/or packaged into an executable package and downloaded by a client administrator; the client administrator then installing system105software package(s) onto the client server(s). Such setups may allow the advanced sports platform105to operate all system105operations entirely within the client server(s) and/or client network, excluding the need to interface with system105provider's servers for some or all system105functions. Such an implementation may, for example, be used to reduce bandwidth, latency, complexity of network management, etc. In some other implementations, the client servers may facilitate only some of system105functions and interface with system105servers (over a network or directly) to enable those remaining functions. Still other implementations may link to system105servers to obtain updates, patches, and/or other modifications to system105distributions.

Advanced sports platform105software distributions may, in some implementations, be installed in a virtual environment (e.g., HYPER-V (HYPER-V is a registered trademark of Microsoft, a Washington Corporation, located at One Microsoft Way, Redmond, Wash. 98052); VIRTUALBOX (VIRTUALBOX is a registered trademark of Oracle America, Inc., a Delaware corporation, located at 500 Oracle Parkway, Redwood Shores, Calif. 94065); VMWARE (VMWARE is a registered trademark of VMWare, Inc., a Delaware corporation, located at 3401 Hillview Ave., Palo Alto, Calif. 94304), etc.).

In other implementations, advanced sports platform105software may be installed in whole or in part on an intermediary system that may be separate from the client and system105servers. For example, advanced sports platform105software may be installed by an intermediary worker, a client worker, and/or a system105worker onto a hosting service (e.g., AMAZON WEB SERVICES (AWS) (AWS is a registered trademark of Amazon Technologies, Inc., a Nevada corporation, located at PO Box 8102, Reno, Nev. 89507), RACKSPACE (RACKSPACE is a registered trademark of Rackspace US, Inc., a Delaware corporation, located at 1 Fanatical Place, City of Windcrest, San Antonio, Tex. 78218), etc. The client may then connect to the intermediary and/or system105servers to access system105functions. Such implementations may, for example, allow distributed access, redundancy, decreased latency, etc.

End user device(s)120may request resources130from website(s)115. In turn, data representing resource(s)130may be provided to end user device(s)120for presentation by end user device(s)120. Data representing resource(s)130may also include data specifying a portion of the resource(s)130or a portion of a user display—for example, a small search text box or a presentation location of a pop-up window—in which advertisements or third-party search tools may be presented.

To facilitate searching of resource(s)130, environment100may include a search system135that identifies resource(s)130by crawling and indexing resource(s)130provided by publishers on website(s)115. Data about resource(s)130may be indexed based on resource(s)130to which the data corresponds. The indexed and, optionally, cached copies of resource(s)130may be stored in, for example, search index140.

End user device(s)120may submit search queries145to search system135over network110. In response, search system135accesses search index140to identify resource(s)130that may be relevant to search query145. Search system135identifies the resources130in the form of search result(s)150and returns the search result(s)150to end user devices120in search results webpages. A search result(s)150may be data generated by the search system135that identifies a resource(s)130that may be responsive to a particular search query, and includes a link to the resource(s)130. An example search result(s)150may include a webpage title, a snippet of text or a portion of an image extracted from the webpage, and the URL of the webpage.

Users that may be interested in a particular subject may perform a search by submitting one or more queries145to search system135in an effort to identify related information. For example, a user that may be interested sports may submit queries145such as “news,” “sports,” or “technology.” In response to each of these queries145, the user may be provided search result(s)150that have been identified as responsive to the search query—that is, have at least a minimum threshold relevance to the search query, for example, based on cosine similarity measures or clustering techniques. The user may then select one or more of the search result(s)150to request presentation of a webpage or other resource(s)130that may be referenced by a URL associated with the search result(s)150.

Other implementations of the advanced sports platform105may allow for a game-like components, or gamification, aspect to interaction with system105. For example, tangible (e.g., money, goods, etc.) and/or intangible (e.g., account badges, user name flair, etc.) rewards may be given to users who donate money to system105, users voted most active on system105, etc.

When search result(s)150are requested by an end user device(s)120, the advanced sports platform105may receive a request for data to be provided with the resource(s)130or search results150. In response to the request, the advanced sports platform105selects data that are determined to be relevant to the search query. In turn, the selected data are provided to the end user device(s)120for presentation with the search results150.

The environment100may also include a system database(s)180to receive and record information regarding the advanced sports platform105, website(s)115, end user devices120, and/or any other data useful to environment100. For example, information regarding end user devices120and end user identifiers may be stored and analyzed to determine user activity on website(s)115and/or system105.

In some implementations, data that may be stored in the system database(s)180may be anonymized to protect the identity of the user with which the user data may be associated. For example, user identifiers may be removed from the user data to provide to third-party clients. Alternatively, the user data may be associated with a hash value of the user identifier to anonymize the user identifier. In some implementations, data are only stored for users that opt-in to having their data stored. For example, a user may be provided an opt-in/opt-out user interface that allows the user to specify whether they approve storage of data associated with the user.

While system105may operate with only one of each component (e.g., one system105, one website115, one end user, one end user device120, etc.), system105may be benefitted by multiple of these components (and/or in some instances greatly benefitted by a mass amount of said components). For example, the existence and activity of a plurality of users on system105may foster greater creativity and flexibility of feedback to system105as compared to creative and intellectual stagnation that may typically occur with a small user base. Additionally, features such as game-like interaction of system105may be difficult or impossible without at least a small plurality of active competitors on system105; however, as the number of active users increases, the likelihood of a successful ecosystem for the game-like system105features also increases and may tend to lead to greater success of system105and user activity (quantity and quality) compared to a small user base.

FIG. 2is a block diagram of an example computer system200that may be used to provide virtual sports platform105, as described above. The system200may typically include processor(s)210; memory220; storage device(s)230; system input(s)/output(s)240; system bus(es)250; and input/output device(s)260. Each of the components210,220,230, and240typically may be interconnected, for example, using system bus(es)250. Processor(s)210may be capable of processing instructions for execution within the system200. In one implementation, processor(s)210may be a single-threaded processor. In another implementation, processor(s)210may be a multi-threaded processor. In yet another implementation, processor(s)210may be a single-core processor, a multiple-core processor, and/or multiple processors (i.e., more than one socketed processor). Processor(s)210typically may be capable of processing instructions stored in the memory220and/or on the storage device(s)230.

Memory220stores information within system200. In one implementation, memory220may be a computer-readable medium. In one other implementation, memory220may be a volatile memory unit. In another implementation, memory220may be a nonvolatile memory unit.

Storage device(s)230may be capable of providing mass storage for the system200. In one implementation, storage device(s)230may be a computer-readable medium. In various different implementations, storage device(s)230may include, for example, a hard disk device, a solid-state disk device, an optical disk device, and/or some other large capacity storage device.

System input(s)/output(s)240provide input/output operations for the system200. In one implementation, system input(s)/output(s)240may include one or more of a network interface devices, for example an Ethernet card; a serial communication device, for example an RS-232 port; and/or a wireless interface device, for example an IEEE 802.11 card. In another implementation, system input(s)/output(s)240may include driver devices configured to receive input data and send output data to other input/output device(s)260, for example keyboards, printers, display devices, and/or any other input/output device(s)260. Other implementations, however, may also be used, such as mobile computing devices, mobile communication devices, set-top box television client devices, etc.

Although an example processing system has been described inFIG. 1, implementations of the subject matter and the functional operations described in this specification may be implemented in other types of digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.

Embodiments of the subject matter and the operations described in this specification may be implemented as a method, in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification may be implemented as one or more computer programs—that is, one or more modules of computer program instructions encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions may be encoded on an artificially-generated propagated signal, for example a machine-generated electrical, optical, or electromagnetic signal, which may be generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium may be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium may not be a propagated signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially-generated propagated signal. The computer storage medium may also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).

The operations described in this specification may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may also be performed by, and apparatus may also be implemented as, special purpose logic circuitry, for example an FPGA or an ASIC.

To provide for interaction with a user, embodiments of the subject matter described in this specification may be implemented on a computer having a display device (e.g., a cathode ray tube (CRT), liquid crystal display (LCD), or organic light-emitting diode (OLED) monitor), for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user may provide input to the computer. These may, for example, be desktop computers, laptop computers, smart TVs, etc. Other mechanisms of input may include portable and or console entertainment systems such as GAME BOY and/or NINTENDO DS ((GAME BOY, GAME BOY COLOR, GAME BOY ADVANCE, NINTENDO DS, NINTENDO 2DS, and NINTENDO 3DS are registered trademarks of Nintendo of America Inc., a Washington corporation, located at 4600 150th Avenue NE, Redmond, Wash. 98052), IPOD (IPOD is a registered trademark of Apple Inc., a California corporation, located at 1 Infinite Loop, Cupertino, Calif. 95014), XBOX (e.g., XBOX, XBOX ONE) (XBOX and XBOX ONE are a registered trademarks of Microsoft, a Washington corporation, located at One Microsoft Way, Redmond, Wash. 98052), PLAYSTATION (e.g., PLAYSTATION, PLAYSTATION 2, PS3, PS4, PLAYSTATION VITA) (PLAYSTATION, PLAYSTATION 2, PS3, PS4, and PLAYSTATION VITA are registered trademarks of Kabushiki Kaisha Sony Computer Entertainment TA, Sony Computer Entertainment Inc., a Japanese corporation, located at 1-7-1 Konan Minato-ku, Tokyo, 108-0075, Japan), OUYA (OUYA is a registered trademark of Ouya Inc., a Delaware corporation, located at 12243 Shetland Lane, Los Angeles, Calif. 90949), WII (e.g., WII, WII U) (WII and WII U are registered trademarks of Nintendo of America Inc., a Washington corporation, located at 4600 150th Avenue NE, Redmond, Wash. 98052), etc.

Some embodiments of the subject matter described in this specification may be implemented in a computing system200that includes a back-end component (e.g., a data server) or that includes a middleware component (e.g., an application server) or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an implementation of the subject matter described in this specification) or any combination of one or more such back-end, middleware, or front-end components. The components of the computing system200may be interconnected by any form or medium of digital data communication, for example a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad-hoc peer-to-peer, direct peer-to-peer, decentralized peer-to-peer, centralized peer-to-peer, etc.).

FIG. 3depicts league selection screen300, which may typically include league event selector310, user leagues listings320, user league330, user league name340, league event350, user league participants360, join existing user league370, and/or create new user league380.

League selection screen300typically may be presented to a user when connecting to platform105and viewing, joining, and/or creating a user league330for a league event350. For example, as depicted inFIG. 3, a user may be presented with a league event selection dropdown310, which then typically may query databases180and populate user leagues listing320with user leagues330. User leagues330typically may be the leagues created under the event selected from selector310.

User leagues330further may display relevant information in reference to the league330, including but not limited to, user league name340, league event350, user league participants360, and/or the like. For example, a user league330may have a league name340of “The Honorable Humdingers,” with ten user league participants360, and corresponding to a league event350of “TOUR DE FRANCE,” (TOUR DE FRANCE is a registered trademark of SOCIETE DU TOUR DE FRANCE, a French corporation, located at 253 quai de la bataille de Stalingrad, Issy Les Moulineaux, France 92130), “GIRO D'ITALIA,” (GIRO D'ITALIA is a registered trademark of LA GAZZETTA DELLO SPORT SOCIETA'EDITRICE A R. L., an Italian corporation, located at Piazza Santa Maria delle Grazie, 1 Milan, Italy), “VUELTA A ESPAÑA” (VUELTA A ESPAÑA is a trademark of AMAURY SPORT ORGANISATION, a French corporation, located at Quai Ouest, 40-42 Quai du point du Jour, 92100 Boulogne Billancourt, France), and/or the like.

If a user120wishes to join an existing user league330from the user league listings320, he or she may select said league330from listing320and click, tap, and/or otherwise select join existing user league indicator370. In some implementations, this may automatically add the user to the selected user league330, direct the user to provide more information to be reviewed by the user league330before being admitted, provide a passcode to join the user league330, and/or the like.

Where a user does not see a league330that he or she wishes to join, or simply wishes to create a new user league330, he or she may select create new user league indicator380. Typically, this may direct the user to provide information about the user league330, such as user league name340, league event350, user league participants360, a user league icon, a list of members to email to join, certain rules specific to the user league330, payment information for paid leagues, and/or the like. This new user league330may then be automatically added to the platform105so that other users may view and join the new user league330and/or the league330may be submitted for review by platform105. Such review may, for example, filter out duplicates, spam, harassment, and/or the like.

FIGS. 4A-4Bdepict platform live draft features, typically including live draft screen400, user league selector405, team listings410, user team415, user team identifiers417, invitation selector420, user team drafting listing425, team drafting selector430, drafting timer435, team member search screen440, athlete listings445, and/or athlete450.

FIG. 4Atypically depicts a first example live draft screen400for a user league330selected by user league selector405(and/or selected from a listing of user leagues330on platform105in which user is joined). Live draft screen400typically acts as a turn-based, time-dependent athlete selection system for platform105for users in user league330to select team members (e.g., athletes, teams, etc.) in an organized and efficient manner. One or more team listings410are typically populated from platform datastores180and/or other data sources associated with user league330, typically including one or more user teams415. These user teams415further may be associated with a platform105user and be displayed with one or more user team identifiers417(e.g., user team name417).

In some implementations, functionality to use one or more invitation selectors420may be provided, which typically may act to invite other individuals internal and/or external to platform105to create their own user teams415in the user league330. For example, as depicted inFIG. 4A, a “Send Invites” button420may be generated and displayed to users, along with the remaining open spots in the user league330, an invitation code to find the league330, a code to join the league330, and/or the like.

In still further implementations, as depicted inFIG. 4A, one or more user team drafting listings425typically may be generated and displayed for the user during the live draft. This effectively becomes the user team415roster at the end of the live draft. The roster listing425typically may include one or more, but typically at least several, roster selectors430and drafting timer435. Typically, in some implementations, during a predetermined and/or user-league330decided time, user teams415in user league330may progress through the user leagues330, selecting one or more picks (e.g., athletes, teams, etc.), then typically looping back to the top once all user teams415have made their pick(s). Users120typically may enter their pick, select from a list of athletes/picks (e.g., on team member search screen440ofFIG. 4B), and/or otherwise select their pick within their allotted time to make his or her draft pick. This allotted time typically may be a predetermined period of time (e.g., ten seconds, thirty seconds, one minute, etc.), and may typically be generated and displayed to users (e.g., on drafting timer435).

In further implementations, in order to improve the efficiency and flow of the live draft process, which presently faces issues of user lag, nonattendance, inexperience lag, and/or other interconnection factors that occur during such live drafting, advanced sports platform105may also implement an auto-pick system, by which nonresponsive users are automatically assigned one or more picks at the end of the time limit.

For example, system105may rank potential picks according to a variety of factors (e.g., real-world rank, age, expected growth potential, salary, weather-conditioned performance, etc.) and then for assign the next-highest pick of the remaining picks. In other implementations, system105may pick the lowest-ranked picks and assign the nonresponsive user team415these low-ranked picks. In still other implementations, system105may temporarily select higher ranked picks, but allow responsive user teams415to steal those temporary picks, in some implementations unless the nonresponsive user team415verifies those picks and converts the temporary draft picks to permanent picks. Accordingly, the advanced sports platform105may implement a novel, more immersive and authentic live drafting experience than currently exists in the art, saving time and resources, increasing responsiveness of the platform105as a whole, and improving overall satisfaction and repeat involvement.

In some implementations, user leagues330may be structured to provide a first join-first pick system, a system based on historical performance of users in an associated league, a system based on cost-benefit ranking (i.e., where users pay with money or other value to have a higher rank, and thus earlier pick), and/or the like. In such an implementation, users within a user league330may jockey for the best position, increase the spirit of competition with the league330, and increase potential rewards for performance within the league330(e.g., where users are compensated according to a compensation scheme, where the scheme varies based on user involvement and investment, etc.).

In still further implementations, users may preselect one or more preference pick lists, which may select the next highest preference pick for the user. In some instances, this may allow the live draft process to be more fluid, avoiding potential draft lag. In other instances, active involvement in the live draft may be required, and the preference pick may still need to be verified by an active participant, or else the nonresponsive user team415may receive a platform105autopick.

As noted above,FIG. 4Bdepicts team member search screen440, athlete listings445, and/or picks450(e.g., teams, athletes, etc.). Search screen440may, for example, be navigated to via the platform105interface, and/or may be generated and displayed during a user league330live drafting event when a user clicks on one or more draft selectors430. Picks listing445typically may include one or more potential draft picks450that are available to be selected for user's team415. In some implementations, search list445may remove already selected picks450in league330and/or may otherwise indicate these picks' status (e.g., by being struck through, shaded, etc.).

FIG. 5typically depicts daily points screen500, which may typically include daily event505, daily event identifier510, daily event location515, daily event time520, daily event details525, day listings530, day selection535, daily points matrix540, user team rank545, user team points550, bonus point indicator555, and/or point performance differential560.

Daily points screen500typically may generate and display current standings, ranks, and points associated with user league330, typically with regard to a specific subpart in the user league330competition. As depicted inFIG. 5, such a specific subpart may be denoted as daily event505, which typically may also include information such as, but not limited to, daily event identifier510, daily event location515, daily event time520, and/or daily event details525. For example, specific event505may be a certain stage of a race (e.g., “VUELTA A ESPANA stage18” as identifier510), a start-end location identifier for event515(e.g., “Ejea de los Caballeros>Lleida”), a date/time for the event time520(e.g., “Thursday, September 13th”), and/or further details525(e.g., weather, geography, historical statistics, etc.) for event505(e.g., “180.50 km—Flat”).

Time listings530typically may depict one or more time selections535, which inFIG. 5are depicted as day listings530and day selection535. For example, where a league event is divided over multiple days, subevents, and/or the like, time selection535may be used to drill down and select one or more of those subevents.

Daily points matrix540typically may show points information for user teams415on user league330, typically with reference to one or more user team identifiers417(e.g., user team name417). User teams415typically may be ranked using one or more user team ranks545based on cumulative, and/or per stage, points (for example, as depicted with user team points550).

Score matrix540may also depict bonus point indicators555next to one or more user picks450, which typically may augment the user league330's scoring matrix so as to provide bonus points for a certain picked athlete450(bonus picking process described elsewhere in this application). Further, one or more point performance differentials560may be generated and displayed to indicate per-round gains and/or losses for the user team415, picks450, and/or the like.

FIG. 6depicts user team roster screen600, which typically may include athlete score610, athlete performance data620, and/or excluded athlete630. User roster screen600typically may generate and display picks450associated with one or more user team415, although more typically in association with one user team415. Picks450may usually be arranged by name, score (e.g., athlete score610as depicted inFIG. 6), expected:actual performance, position, and/or the like.

In some implementations, each pick450may be expanded to give more information regarding pick450's performance data620, such as their current location, points, best condition, points per stage/game, percentage contribution to user team415score, rank in real-world performance, and/or the like. Pick bonus555may also be depicted with pick450and/or performance data620, which typically may allow for fast and efficient cross reference of current bonus pick555status and potential changes needed thereto to optimize scoring potential.

Further, in some implementations, roster600may depict the current status of a pick450, including their health, expected recovery date, and/or the like. As depicted inFIG. 6, an excluded athlete pick630may indicate that pick450is injured, disqualified, and/or otherwise no longer in contention to contribute to user team415scoring.

FIG. 7depicts bonus points selection screen700, bonus selection status710, bonus selected720, and/or bonus selector730. Bonus selection screen700typically may be generated and displayed to platform105users with one or more user team415rosters for one or more user leagues315. Bonus selected720typically may denote which one or more picks450have been assigned a bonus (and/or what type of bonus is selected). Bonus selector730typically may denote other bonus selections to be made and/or alternative options to which to switch currently selected bonus selected picks450.

Bonus modifiers typically may be one or more augmentations to the scoring system used by platform105and/or user league315. For example, bonus modifiers may multiply stage points, escalate point accrual based on streaks, increase a pick450's scoring scaled against the performance (or nonperformance of another user team415's pick450), and/or the like.

In some implementations, bonuses may be static, where each user is given one or more bonus to assign to picks450. In other implementations, bonuses may be dynamic and/or rotating, where bonuses differ by user, are awarded to users based on certain rotations and/or factors (e.g., events, holidays, contributions to platform105, activity on platform105, historical performance of user, etc.). For example, a static bonus may be a two-times multiplier on points accumulated for a stage, or for a set of rounds, and a dynamic bonus might increase linearly, exponentially, and/or otherwise for a pick450's performance streak, personal records, and/or the like.

In some further implementations, one or more rewards from platform105may be used to purchase, trade, and/or otherwise acquire bonuses on platform105. For example, users may purchase bonuses with real-world currency, external digital currencies, platform105digital currencies, cryptocurrencies, and/or the like. In some implementations, such transactions may be stored in one or more blockchains and/or the like. In still further implementations, databases180may be substituted for one or more blockchains and/or the like.

FIG. 8depicts daily event results screen800, daily event result selector810, daily event result subselection820, daily event athlete listings830, and/or athlete daily event performance840.

Daily events results screen800, as depicted inFIG. 8, typically may display real-world results and scoring associated with user league330and/or user team415. For example, after selecting a subevent using selector535, platform105may query, generate, and display information relevant to that subevent.

Event result selector810typically may present one or more options to a user (depicted as a dropdown inFIG. 8to select a stage event) and then the interface typically may update event result subselection820to relevant subselections of the event350. For example, as depicted onFIG. 8, stage810subevents820may be individual performance data, mountain data, points data, and/or team data. After selecting one or more of these subselections820, platform105typically may again query, generate, and display data relevant to the selections (e.g., athlete450points, team timings, points to each user in individual portion, etc.), for example, but not limited to, in daily event performance840field as depicted inFIG. 8.

FIGS. 9A-9Bdepict event team-athlete listing screen900and event country-athlete listing screen930, which typically may include event information910, real-life team roster920, and/or real-life country-athlete listing940. Typically, listing screens900and930may be generated and displayed with respect to one or more events on platform105(e.g., GIRO D'ITALIA as depicted inFIGS. 9A and 9B).

Listing screens900and930typically may help depict and categorize athletes450for users to reference. Screen900, as depicted inFIG. 9A, organizes potential picks450by team, depicted as real-life team roster920. Such reference may, for example, be useful for users who wish to choose picks450from a club team that they hold allegiance to, a team including their favorite athlete450, and/or the like. Users may also click or otherwise select athletes450to learn more about athletes450, athlete450's historical performance, athlete450's training regimen, etc.

Event information910may also help to provide context for the real-world event itself, such as the current event plan, dates, geography, weather, timeline, and/or the like. Event information910may, for example, be useful to selecting one or more better picks450from teams having a better track record, that seem to be “up-and-coming,” and/or the like. In other implementations, weather forecasts predicting high heat, rain, snow, and/or other adverse conditions may help influence user choices towards teams that may be more likely to perform better in those adverse conditions.

Similarly, country-athlete listing screen930typically may generate and display picks450by a pick450's country. Real-life country-athlete listing940typically may be similar to roster920, except as to the sorting order. Country-athlete listing screen930may help platform105users select picks450based on their country of origin, residence, and/or other preference. In other instances, where adverse conditions may come into play (e.g., high altitudes, extreme temperatures, etc.), selecting a pick450from a correspondingly adverse youth and/or training environment may be desirable (e.g., growing up and training in the mountains may give pick450a competitive edge in a mountainous section of a bike race).

FIGS. 10-17depict process flows associated with sports platform105.FIG. 10depicts example high-level platform process flow1000, which may include steps: platform establishes input data sources and stores in platform data stores1010, receive user account credentials, query in data store or store in data store1020, query and generate competition league(s)1030, operate live draft receiving and establishing user-selected league(s)1040, query and receive stage data from the input data sources to platform data stores1050, establish and award bonus specifiers for competition stages1060, process data in data stores to output stage data scores1070, assign user points based on preestablished scoring matrix based on the output stage data stores1080, and/or after set period of time, process and analyze overall league data1090.

During platform establishes input data sources and stores in platform data stores1010step, system105typically may define, query, and/or connect to one or more input data sources, typically to connect and receive one or more resources130for use with system105as needed. For example, system105may have one or more connections via direct access, application programming interface (API), and/or the like.

These data sources (e.g., websites115, resources130) may, for instance, provide geographical information, upcoming weather condition data, historical weather condition data, historical sports performance data, current sports statistics and/or standings, current and/or predictive values for upcoming events, news sources for issues and/or health data, research articles relevant to system105analyses (e.g., statistical models, other sports competition analyses, substance analyses, and/or the like), and/or the like.

Further, during receive user account credentials, query in data store, and store in data store1020step, system105typically may receive input from one or more users120with one or more user account credentials. For example, such credentials may be a username, email, password, and/or the like. System105may then check system datastores180for matching credentials, provide secondary authentication features for access, reprompt on a nonmatch, prompt to create a new account on nonmatch, allow access on match, and/or the like. Such concepts are known in the art.

As platform105performs query and generate competition league(s)1030step, users120typically may be presented with one or more screens to search, join, and/or create user leagues330. For example, such screens may be, but are not limited to, those depicted inFIG. 3as league selection screen300.

Such screens may allow a platform105user to search for user leagues330, league events350, other users on platform105, and/or the like. For example, a new user to system105may search for TOUR DE FRANCE, the name of a user league including their friends, family, etc., the name of a coworker or family member, and/or the like. System105may then query datastores180and generate and display to the user potential results for user to browse and/or join.

In some instances, where a user may wish to create a league, such as for his or her workplace, family, etc., he or she may create a user league330by providing league information, other users to invite, and/or the like (further described elsewhere in this specification). System105may then populate this new league330for other users to query, browse, join, and/or the like.

During operate live draft receiving and establishing user-selected league(s)1040step, advanced sports platform105typically may generate and display to one or more users120in a user league330one or more screens, such asFIGS. 4A and 4B. These screens typically may serve to provide an efficient, interactive, and engaging “live draft” experience to users in user league330.

For example, as depicted inFIG. 4A, live draft screen400may be generated and displayed to the teams in the user league330LE TOUR LEAGUE, namely as team listings410to the users owning user teams415“Rough Riders” and the “Spin Cycles.” Other users120may be invited to join user league330using invite codes, links, and/or the like. For example, inviting other users to create user teams415may be accomplished using, but no limited to, invitation selector420.

Such invitations typically may be allowed until a predetermined time prior to, and/or up to, the live draft for the user league330. This predetermined time may be set per user league330, per user league330group (e.g., where geographical, time-zoned, and/or otherwise multiple leagues330may compete), and/or over the entire platform105(e.g., all live drafts begin at 12 pm GMT and/or all teams415are locked at 12 pm GMT and the live draft begins at 6 pm GMT).

Once the predetermined time arrives, the teams415in user league330typically may be locked, and the live draft itself may begin. Each user team415's one or more users120typically may be provided a roster (e.g., user team drafting listing425) containing one or more selections (e.g., athletes450corresponding to selectors430) to be made for the user team415.

Each user team415may then typically be presented with one or more countdown timers (e.g., drafting timer435) by which he or she must make a selection. This timer435typically may keep picks orderly, increase user turnout and preparation, decrease user lag, and provide for a much more engaging user experience by having more active users for the user league330live draft.

Typically, the order by which user teams415take turns in the live draft may be determined prior to the live draft. The order by which user teams415participate may be universally set on system105, set on a per league330basis, and/or otherwise modified as desired. For example, teams415may go in order of their joining the user league330, by number of points accrued on system105in past events, by activity on system105, by investment to user league330and/or system105, by alphabetical order of team name417, by age of user, by random lot, and/or the like.

In some implementations, if a user is unresponsive as to their pick at the end of the timer435period, system105may autopick one or more selections430for the nonresponsive user team415. For example, system105may query and assign the top-ranked remaining picks450based on current rankings derived from input data sources, query expected scores from data sources, query calculated aggregate scores across multiple data sources in data stores180, and/or otherwise assign rankings based on algorithmic weighting of data in data stores180to create proprietary rankings. In other implementations, system105may assign the lowest-ranked picks, a random assignment of picks, and/or other desired pick schemes. Autopick schemes may, in some implementations, be universal across platform105, universal across event types, personalized between user leagues330, and/or the like.

Next, during query and receive stage data from the input data sources to platform data stores1050step, system105typically may query, receive, and store data from input data sources, typically from step1010, for one or more stages of the event350. For example, for a bike race having twenty-three parts/stages, system105may query each of these stages to receive data regarding the stage specifications (e.g., location, date, time, historical data, etc.). Thus, system105may determine that stage six will be a mountainous climb of one hundred and fifty-seven kilometers from Mulhouse to La Planche des Belles Filles, which will occur on Thursday, Jul. 11, 2019.

In addition to the specifications of the daily event, system105may also query and receive from other input data sources the expected weather conditions, previous comparable daily events, outcomes of those previous comparable daily events, current athletes450in contention to participate in the daily event, and/or the like.

At the end of the daily event, league event350, and/or league330, system105may again query, receive, and store data regarding outcomes (e.g., athlete ranking, athlete times, personal records, actual weather conditions, and/or the like). System105typically may them use this stored data to perform daily and/or overall league and user event calculations. Such calculations may include points, trends, unexpected results, statistically significant variations from expected and/or historical data, and/or the like. Some potential calculations are discussed elsewhere in this specification.

In some implementations, during establish and award bonus specifiers for competition stages1060step, system105may take into account one or more bonus specifiers for user leagues330and/or teams415. For example, where a user selects that a particular athlete will place first, that a particular team will place in the top three places for the event350, that a pick will return from a health condition, that a team will perform worse than expected, that a pick will break a personal record, that a team will break a world record, and/or the like, these selections may be assigned one or more point modifiers to augment a normal scoring schema.

For example, where a user normally may receive fifty points for a first-place pick, forty for second-place, thirty for third-place, but the user selected a particular athlete to place first with a bonus modifier, the user may then receive double, triple, or any other modifier for the normal fifty points. In other implementations, where a user picks the same athlete to maintain a streak of first-place finishes, or achieve a streak of honors over the course of a season, the points received may initially receive a bonus modifier of one, then one and a quarter, then one and a half, then two, and so on over the streak. Conversely, in some implementations, an incorrect pick and/or streak may negatively impact the user scoring. For example, an athlete injured in the first of twenty rounds, who was selected to place first for every round, may decrease the user's points received for each round.

Further, during process data in data stores to output stage data scores1070and system105assigns user points based on preestablished scoring scheme based on the output stage data stores1080steps, system105typically may take the stage data and/or the bonus modifiers, along with one or more scoring schema from the platform105, league330, and/or the like, and calculate each user's scoring based on this scoring schema.

For example, points may be awarded for, but are not limited to, selections finishing the stage in the top ten, for placing top ten in the overall classification, for placing top ten in the mountains classification, for placing top ten in the sprint classification, for placing top five in the team classification, for placing in the top five of the overall event, for placing top three in the mountains classification for the overall event, for placing top three in the sprint classification for the overall event, for placing top two in the team classification for the overall event, and/or the like.

Scoring schemas may vary by user league330, event350type (e.g., car racing, biking, swimming, lacrosse, football, polo, and/or the like). For example, biking may assign points based on stages, football may assign match and/or round points, car racing may assign points based on laps and/or overall, and/or the like. Thus, each event350type and/or user league330may more personally define its preferences and scoring priorities.

After calculating, assigning, and storing user scores, system may then typically generate and display to users the calculated scores on one or more screens. Such an interface screen may be, for example, depicted onFIG. 5as daily points screen500. As described elsewhere in this specification, screen500may display team ranks545, stage events505, points550, bonus modifier indicators555, point differentials560, and/or the like. Such screen500typically may allow users to more specifically analyze their teams415's and their picks450's performances.

Further, after set period of time, process and analyze overall league data1090step typically may be performed after conclusion of daily event, but in some implementations, may be performed during event350. Such

FIG. 11depicts query and generate competition leagues1030step subflow, which typically may include steps: query existing leagues from data stores1100, receive user input for league(s) from data store1110, match league(s) from user input1120, and/or create league where no match in data store1130.

During query existing leagues from data stores1100step, system105typically may query datastores180on system105for existing leagues330. These typically may be stored in one or more databases of datastores180with reference to other league information, identifiers, data sources, and/or the like.

During receive user input for league(s) from data store1110and match league(s) from user input1120steps, system105may receive one or more inputs for leagues (e.g., “The Atlas Work Group League”) and then query datastores180for existing leagues330. If one or more matching and/or similar results are found in datastores180, system105typically may generate and display those results to the requesting user.

During create league where no match in data store1130step, in an instance where there is no match, or the user is instead attempting to create a new user league330, system105may then receive the user's input for the new user league330identifying information, typically verify the new league330's creation, and then store the new league for future querying and processing.

FIG. 12depicts live draft340step subflow, which may include steps: query and generate list of draft picks remaining1200, receive user selection of draft pick during predetermined time window1210, and/or autopick for user if pick not submitted within time window and assign autopick selection to nonresponsive user's team1220.

During query and generate list of draft picks remaining1200step, system105typically may query datastores180for potential athletes450that are viable to compete in a future event350. Athletes'450information typically may be queried, received, and stored from input data sources, and in some implementations may be referenced by users of system105before, during, and/or after event350. For example, athletes450that may be participating in the 2019 TOUR DE FRANCE may be associated with said datastore180entry and returned by a user's query for athletes450participating in the 2019 TOUR DE FRANCE. This pick450result list typically may be sorted by rank, age, team, home country, position, and/or the like.

Once presented with the pick list450, user may then enter and system105may receive user selection of draft pick during predetermined time window1210step, removing the need for system105to autopick for the user as being nonresponsive. For example, a user may select the first-ranked racer and the system105may receive said selection and associate the selection with the user team415. System105may then typically denote for the user league330that the pick450is no longer available for the next users in the user league330.

Then, in order to maintain the flow of the live draft process, platform105may perform autopick for user if pick not submitted within time window and assign autopick selection to nonresponsive user's team1220step. As described above, autopick schemas may be universal, semi-universal, and/or personalized, and timer435limit conditions that may also trigger autopick1220step.

FIG. 13depicts bonus specifiers1060step subflow, which may include steps: query league for bonus specifier(s) from data store1300, and/or receive user input(s) for bonus specifiers and store in data store1310.

During query league for bonus specifier(s) from data store1300, system105typically may query datastores180for one or more bonus specifier(s) associated with user league330and/or user team415. For example, a user league330may only allow a single, doubling modifier for user teams415in the league330, whereas another user league330may allow more than one type of bonus modifier for each user team415in the league330(e.g., stage, overall, streak, and/or the like).

Further the receive user input(s) for bonus specifiers and store in data store1310step, which typically may be performed on screen700, system105receives user selections for bonus modifiers. As depicted inFIG. 7, this may be by clicking a button, selecting a modifier from a dropdown, and/or other selection routines.

FIG. 14depicts output stage data processing1070step subflow, which may include steps: receive stage data from input data sources1400, process stage data and rank stage performance1410, and/or generate and display dashboard to user(s) of current league status1420.

During receive stage data from input data sources1400step, system105typically may query datastore180for input data sources associated with league event350, user team415, and/or user league330. System105may then query, receive, and/or store data returned from input data source relevant to one or more queries. For a daily event, such queries may be the stage, location, time, competitors, and/or the like, while for overall events350, such queries may be the event name, year, and/or the like. Stage data typically may be athlete times, points scored, ranking, inclusion/exclusion, records, and/or the like.

After receiving data in1400step, platform105may perform process stage data and rank stage performance1410step to further match and sort stage data from input data sources. For example, such processing may include normalizing, averaging, and/or otherwise conforming input source data. In some implementations, this may also include converting values and/or units (e.g., between imperial, metric, and/or the like) such that values in data store180that may be used for analysis do not inherently corrupt the data set. Once the data is normalized, if normalization is necessary, then system105may rank athlete450performance based on the input data. For example, such ranking may be based on time, points, placement, actual:expected placement, and/or the like. These rankings then may be associated with the event350subpart, user leagues330, and/or user teams415.

Further platform105may then perform generate and display dashboard to user(s) of current league status1420step. This dashboard typically may be depicted by, but is not limited to, those depicted inFIGS. 6-8, which are described elsewhere in this specification.

FIG. 15depicts scoring matrix1080step subflow, which may include steps: query output stage data and scoring matrix for league from data store1500, calculate and assign value based on user selections and scoring matrix1510, and/or query and amend user values based on bonus specifiers as user stage values1520.

During query output stage data and scoring matrix for league from data store1500step, system105typically may query datastores180for one or more scoring schemas associated with the event350and/or user league330. System105may then query datastores180to map the one or more scoring schema elements to one or more stored output data sets in datastores180, which may then be used for calculation and scoring of the user teams415and/or user leagues330at event350subparts (e.g., stages, rounds, etc.).

After querying1500step, platform105typically may perform calculate and assign value based on user selections and scoring matrix1510and query and amend user values based on bonus specifiers as user stage values1520steps. System105typically may use output stage data, amended by bonus modifiers, to calculate and assign user team415scores and/or ranks accordingly for stages. These stage values are then associated with users and the respective user teams415and leagues330. Such steps may be performed automatically, semi-automatically, and/or manually, depending on universal, semi-universal, and/or per-league preferences. These stage values and rankings may then be calculated and stored for query and future reference in datastores180.

FIG. 16depicts process overall data1090step subflow, which may include steps: query user stage values for league(s)1600, amend for any league or stage bonus specifiers1610, calculate and assign rankings for stages and league1620, generate and display rankings for stages and league1630, store rankings in data stores for further analysis processing1640, and/or perform further analysis processing1650.

During query user stage values for league(s)1600step, platform105typically may query calculated and stored user stage values from datastores180, which typically may be stored in steps1510and1520. After querying user stage values in1600step, system105may execute amend for any league or stage bonus specifiers1610step. This amendment1610step typically may amend the stored user scores and/or ranks based on further bonus modifiers that affect the league330and/or event stage specifically. For example, a user may be awarded a bonus for being most improved from the beginning to the end of the league330, for receiving the most bonuses over the course of league330, for inviting the most users to league330, and/or the like. In some implementations, such bonuses may be set by the platform105, league330, and/or users themselves.

During calculate and assign rankings for stages and league1620step, system105queries and calculates rankings for the user teams415of leagues330, applying bonus modifiers if necessary, and then ranking teams415and leagues330. Such ranking typically may be based on overall score, but in other implementations may be based on average stage score, specific substage event type (e.g., flats, mountains, semi-finals, finals, etc.) scores, historical score improvement, and/or the like.

Further, during generate and display rankings for stages and league1630and store rankings in data stores for further analysis processing1640steps, system105may then take the calculated and assigned rankings, and generate and display the rankings on platform105for leagues330and user teams415. In some implementations, system105may contact users with notifications (e.g., text message, email, phone call, etc.) of such finalized scores and rankings. In some further implementations, rankings and scores may be public on the platform, public to a selected subset of users (e.g., those in same geographic area, age bracket, country, etc.), or remain private to members of the user league330.

Additionally, in some implementations, system105may then execute perform further analysis processing1650step to gain further information regarding trends in the collected and/or expected data. Such additional processing and analysis typically may act to tease out further differences and trends than may be understood with a day-by-day or event-by-event reference, and are further described elsewhere in this specification.

FIG. 17depicts further analysis processing1650step subflow, which may include steps: receive, store, and query input data sources for pre-competition expectations as initial input data set1700, receive, store, and query input data sources for post-competition data set results as final input data set1710, receive, store, and query user rankings for pre-competition expectations as initial user data set1720, receive, store, and query user rankings for post-competition expectations as final user data set1730, analyze and output threshold significant variances between initial input data set and final input data set1740, analyze and output threshold significant variances between initial user data set and final user data set1750, and/or analyze and output threshold significant variances between initial input data set and final input data set1760. Such additional processing and analysis typically may act to tease out further differences and trends than may be understood with a day-by-day or event-by-event reference.

During receive, store, and query input data sources for pre-competition expectations as initial input data set1700step, system105typically may evaluate and normalize initial input data for one or more competition events350. For example, such initial input data may include, but is not limited to, expected scores, expected times, expected winners, expected placements, and/or the like. Such information is often based on historical and/or “expert” analysis from individuals knowledgeable of the competition event350, and thus may be useful in determining an “expert's opinion” for such expectations for comparison with platform105user expectations and actual outcomes.

Further, during receive, store, and query input data sources for post-competition data set results as final input data set1710step, system105typically may evaluate and normalize final competition data for one or more competition events350. For example, such final data may include, but is not limited to, actual scores, actual times, actual winners, actual placements, and/or the like. Again, such data is vital to comparison against expected results.

After input data set1710step, system105similarly may perform receive, store, and query user rankings for pre-competition expectations as initial user data set1720step and receive, store, and query user rankings for post-competition expectations as final user data set1730step for platform105user expectations. Such data may be useful in determining a “popular” or “community” expectation, which may or may not vary from the “expert” expectation. Such community data again is useful for comparing to expected values and actual values for analysis and processing.

In some implementations, system105may perform analyze and output threshold significant variances between initial input data set and final input data set1740step. System105thus may utilize the data in datastores180to analyze whether variances between the expected “expert” values and the actual outcome values. This, for example, may provide insight into whether experts overlooked one team or athlete in favor of another, whether an athlete's historical performance is not keeping pace with expected trends, and/or whether an athlete or team's performance is significantly divergent from expected expert trends.

In some more implementations, system105may perform analyze and output threshold significant variances between initial user data set and final user data set1750step. Similarly, for example, this may provide insight into whether a community as a whole is more in-tune with their favorite teams or athletes (e.g., by tendency toward the mean of opinions), whether the community as a whole overlooked one team or athlete in favor of another, whether the community's expectations deviate from “expert” presumptions, whether a team or athlete's historical performance is not keeping pace with community-expected trends, and/or whether an athlete or team's performance is significantly divergent from expected community trends. Trends within the community, such as changing bonus modifiers between picks450, betting against an incumbent pick450, and/or the like as an event350progresses may also depict cumulative changes in attitudes and/or environment that may otherwise go unnoticed in a smaller “expert” sample.

In some further implementations, system105may perform analyze and output threshold significant variances between input data sets and output data sets1760step. Comparing input to output data sets as a whole may, in some implementations, allow for a normalized view of expectation as a whole for one or more events350. For example, while experts and the community may provide insight into whether a community as a whole is more in-tune with their favorite teams or athletes (e.g., by tendency toward the mean of opinions), whether the community as a whole overlooked one team or athlete in favor of another, whether the community's expectations deviate from “expert” presumptions, whether a team or athlete's historical performance is not keeping pace with community-expected trends, and/or whether an athlete or team's performance is significantly divergent from expected community trends.

By way of nonlimiting example, platform105provides benefits over prior art systems by increasing retention of users on platform105, increasing immersion with live draft process, increasing participation with live draft process, lowering barriers to entry to new virtual fantasy sports users, opening the virtual fantasy sports scope to allow for lower popularity competitions to be available to users, and improving the quantity, and thus critical mass, of lower popularity competition users to create the first effective and engaging platform105for such competitions.

By way of nonlimiting example, advanced virtual sports platform105may be established on one or more servers accessible to one or more users and user devices120over one or more networks110. Platform105typically may maintain one or more datastores180, which may contain platform105data, input source data, user data, event350, user league330data, user team415data, athlete450data, daily event505data, bonus modifier data, roster data, processing and analysis data, and/or the like.

Platform105and or users120may create one or more league events350, which have one or more associated user leagues330, which in turn have one or more user teams415, which in turn have one or more rosters, which in turn have one or more picked athletes450, which in turn have one or more athlete data620, etc.

For example, platform105may create a 2019 TOUR DE FRANCE league event350, establishing one or more input data sources from websites and databases having stage data, rider information, historical TOUR DE FRANCE data, expected rankings and/or winners, team data, and/or the like. One or more users120may then create one or more user leagues330(e.g., “League A,” “League B,” “League C,” etc.), which system105may receive and store, along with user league330information (e.g., user league name340, participants360, invite code, confirmation code, etc.).

One or more other users120may search platform105for user leagues330associated with event350, join a found user league330, and/or create their own user leagues330. Users may join user leagues330immediately, after confirmation, after entering an invite code, and/or the like. Users may create one or more user teams415with one or more team415identifiers (e.g., team name417, team mascot, team picture, team motto/slogan, etc.). Each team may be associated with one or more platform105users.

At a predetermined time—the time being set universally, per event350, by event350type, and/or by league330—leagues330commence a live draft process to select athletes450for their teams415. Team415picking order may be decided by seniority, name, interaction/investment to platform105, join date, random, and/or the like. Each team415may be presented with a countdown timer435, which forces users to select one or more picks450for their team415within the time limit of the timer435. Nonresponsive and/or lagging users who do not make their picks in the allotted time may trigger system105to autopick selections450for the nonresponsive user team415. Such autopick may be done randomly, by input data source ranking, by platform105computed ranking, and/or the like. Draft process typically may continue until all user teams415are full and/or all picks450are exhausted.

In some implementations, one or more bonuses may be selected by teams415to augment scoring accumulated by their picks450. For example, bonuses could multiply the daily stage score, scale with streaks, negate scores for poor choices, and/or the like.

As event350progresses (e.g., via stages, days, etc.), system105may communicate with input data sources to receive real-time updates and data of event350, such as scores, stage rank, current weather conditions, weather forecast, athlete450health, and/or the like. System105may then use this input stage data to score user teams450and user leagues330based on one or more scoring rubrics associated with platform105, event350, and/or league330. Teams415and/or leagues330may then be ranked by scoring, and such scores and rankings may be generated and displayed to users on platform105. These processes may continue throughout event350, until event350concludes, at which point system105tabulates, amends, and displays final scores, ranks, awards, and/or the like for event350, leagues330, teams415, athletes450, and/or the like.

Either during or following event350, system105may also perform analyses based on collected data. Such analyses may, for example, determine that “Athlete A” is doing far worse than expected after a recent surgery, possibly predicting an upset, further surgery being necessary, etc.; that “Athlete B” is doing far better than expected, possibly indicating more effective preparation, intrinsic motivations not otherwise seen, substance use, etc.; that “Team Z,” which may include “Athlete B” is performing far better than expected, which may indicate the need for increased scrutiny, possible team-wide substance usage, and/or the like.

Such data comparison may also help depict trends over time of athlete improvement, decline, recovery, and/or the like that may not otherwise be contemplated. Further, such data may help determine inherent biases between “experts” and the platform105community, which may indicate need for further exploration, modification of real-world standards, insider knowledge of certain individuals, and/or the like.

Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system105components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems may typically be integrated together in a single hardware and/or software product or packaged into multiple hardware and/or software products.